#javascript-typescript
1 messages · Page 43 of 1
Cliquez sur 📄 pour accéder au message.
mais là c'est pareil, je reste coincé à l'endroit où je join la tâche, je n'arrive pas à add le joueur dans le tableau users de la table de la tâche...
si tu veux voir ce que j'ai fais mais bon 😒
Comment on donne le membre de bots dans un serveur ?
le nombre de bot ?
De tête comme ça tu dois sûrement regarder tous les users et regarder ceux ou bot = true
un .filter sur le members qui va te retourner un tableau tu auras juste à faire un .length dessus
Sauf si il existe une method direct sur discord JS mais ça no se
bah
j'ai fait ça :
let bots = guilda.members.filter(m => m.bot).size
guilda qui est la variable de mon serveur
sauf que ça m'affiche toujours 0
à
comment ça ?
Bah tu veux récupérer le nombre de bots ?
iui
guilda.members.user.bot.size ?
Oui aussi
Si tu l'adapte pour ta guild
Donc pour toi
let bots = guilda.members.filter(m => m.users.bot).size```
@rough tide
j'ai un pote qui m'a aidé mais il a cette question:
en gros il voudrait mettre une variable dnas une sous catégorie. il veut que user soit suivi du [count] par example user1: 15646574 user2: 654654654564
https://cdn.discordapp.com/attachments/675424493623181325/675441042526437386/unknown.png
( https://discordapp.com/channels/223070469148901376/617677968474636298/673878119060340737 )
Cliquez sur 📄 pour accéder au message.
mais là c'est pareil, je reste coincé à l'endroit où je join la tâche, je n'arrive pas à add le joueur dans le tableau users de la table de la tâche...
pourquoi il fait pas un tableau ?
Sinon invite le sur
, ce sera plus simple pour comprendre son besoin 🙂
le count c'est le compteur d'utilisateur qui ont rejoint la tache, et user ça devrait être le tableau qui stocke les utilisateurs qui ont rejoint la tache
bah
c moi 👋
tu fais simplement un truc du genre json "users": ["data du premier user", "data du second user"]
et après tu pourras prendre faire un users.length pour récupérer le nombre... ?
ah
il faut une limite ?
oé 20
ummmmh quesse donc ?
{
"count": 20,
"users": ["data du premier user", "data du second user", "etc..."]
}```
par exemple
tu te compliques la vie avec cette histoire de user1 user2; c'est impossible à maintenir si un jour tu veux changer le nombre max d'utilisateurs par exemple
et à parser dans tous les cas c'est plus chiant qu'un bête tableau
Salut , les gars , Voila , je vous explique , je "suit" (je sais pas si sa s'ecrit comme ça du verbe 'Suivre') un tutoriel sous forme de vidéo , et un moment il fait une commande le !google qui permet quand tu la fait : !google salut ; sa recherche salut dans google et sa nous envoie le lien : Code -
// index.js //
const Discord = require('discord.js')
const bot = new Discord.Client()
const Google = require('./commands/google')
const play = require('./commands/play')
bot.on('ready' , function () {
// bot.user.setAvatar('./avatar.png').catch(console.error)
// bot.user.setGame('Préparation du bot').catch(console.error)
})
bot.on('guildMemberAdd', function(member){
member.createDM().then(function (channel) {
return channel.send('Bienvenue sur mon serveur' . member.displayName)
}).catch(console.error)
})
bot.on('message', function (message) {
let commandUsed =
Google.parse(message)
})```
```NodeJS
// google.js
const command = require('./command')
module.export = class Google extends command{
static match (message) {
return message.content.startsWith('!google')
}
static action (message) {
let args = message.content.split(' ')
args.shift()
message.reply('https://www.google.fr/#q=' + args.join('%20'))
}
}```
Merci d'avance , Et je ne sais pas pourquoi les couleurs du NodeJS ne fonctionne pas 😦
C’est quoi ton problème du coup? Que la commande marche pas? 🤔
quelqu'un saurait ducoup pour stocker plusieurs id dans un json ? (autre que par tableau)
plusieurs id sans rien d’autres? une array tout simplement🤷♀️
sinon tu fais un object indexé numériquement mais bon, une array est fait pour ça
ouais mais array, il ne connait pas trop... donc je vais lui dire, mais bon
Shitt , j'ai oublié l'essentiel en gros sa me dit que Google.match n'est pas une fonction (index.js)
hors que je la définis dans google.js
Bonjour, je voudrais faire un fichier qui s'appelle compteSpotify et que dedans il y a des compte spotify et que ça envoie un compte aléatoirement en faisait une commande.
Tu pense vraiment recevoir de l'aide ?
regarde s’il y a une api spotify 
Il y a une api mais l’api ne te renvoie pas de compte aléatoire c’est quoi cette demande
Tu veux pas créer une commande pour recevoir des CB aussi
Mdr il veux créé un bot de générateur de comptes

Ses pas pour moi je préviens , mais la personnes me demande si on peux faire en sorte qu'il ramasse des comptes dans un fichier
Oui on peux mais compte pas sur nous pour t'aider
Je comprend ;)
Je me fait payé pour ça dans je suis obligé.
ah chaud
@keen narwhal je dis pas non pour le faire contre une rémunération
Heheee
xD
La rémunération c'est un bon moyen de préssion xD
Et vous les récupérez ou les comptes ?
Umhhhhh
^^
@slim anvil Je ne sais pas comment heu arrive a les avoir , mes personnelement je connais 2 application pour ça
Pour récupérer des comptes Spotify au hasard ? Avec mot de passe et tout ? Ou juste récupérer le profil de gens etc
L'email + mot de passe du compte
Curieux de voir ça
Après si c’est des comptes pirates ils auront plus le premium ça n’a aucun intérêt et au mieux c’est récent donc il te restera quelque temps devant toi avant que l’abo expire
Sa dépend
défois le compte se fait prendre en qu'elle que jour ou mois sa dépend , il y a que NordVPN qui marche bien
Mais continuons cette discution en mp ou #general
Hein c’est quoi le rapport avec NordVPN
Car tu me disais que les comptes spotify se faisait reprend du coup j'ai dit que NordVPN se faisait pas reprendre
À quel moment j’ai dis que les comptes se faisait reprendre ? Je parlais du fait que d’avoir un compte piraté sur ce genre de service ne sert quasi à rien car l’abonnement sera soit expiré soit bientôt, je vois pas le rapport avec NordVPN allô
Ah ok , j'avais mal compris xD
Bonjour, j'ai un problème je n'arrive pas à faire que si la personne n'a pas la permission en **role-id ** qu'il ne puisse pas supprimé les messages mais l'inverse oui :
message.delete();
if(!message.guild.roles.get('672422524964962334')) {
message.channel.send("🤖 Vous n'avez pas la permission de supprimer des messages ! 🤖");
}
if(message.guild.roles.get('672422524964962334')) {
if(!args[0]) return message.channel.send("🤖 Tu ne m'as pas dit combien de message je devais supprimer 🤖");
message.channel.bulkDelete(args[0]).then(() => {
message.channel.send(`🤖 Je t'ai supprimer ${args[0]} messages ! 🤖`);
console.log(`🤖 J'ai supprimer ${args[0]} messages chez "${message.guild.name}" 🤖`);
message.delete(args)
var channel = message.guild.channels.find("name", "discordlog");
let pEmbed = new Discord.RichEmbed()
.setTitle('🤖 Suppression de message 🤖')
.addField('Message supprimer', message.author + ' a supprimer ' + args + ' messages')
.addField('Channel', message.channel)
.setFooter("🤖 Merci d'avoir nettoyez ce channel 🤖")
.setThumbnail(`${client.user.avatarURL}`)
.setTimestamp()
.setColor(0x228B22)
channel.send({
embed: pEmbed
})
var channel = message.channel
})};
Si quelqu'un peut m'aidé svp merci
mets un return dans la condition du role
Même j'ai déjà test 😐
@west plover Que je me mette la perm ou non je peux quand même clear
Screen ton code, sur tel ça rend mal le markdown Discord 🤔
const Discord = require('discord.js');
exports.run = (client, message, args) => {
message.delete();
if(!message.guild.roles.get('672422524964962334')) {
message.channel.send("🤖 Vous n'avez pas la permission de supprimer des messages ! 🤖");
return;
};
if(message.guild.roles.get('672422524964962334')) {
if(!args[0]) return message.channel.send("🤖 Tu ne m'as pas dit combien de message je devais supprimer 🤖");
message.channel.bulkDelete(args[0]).then(() => {
message.channel.send(`🤖 Je t'ai supprimer ${args[0]} messages ! 🤖`);
console.log(`🤖 J'ai supprimer ${args[0]} messages chez "${message.guild.name}" 🤖`);
message.delete(args)
var channel = message.guild.channels.find("name", "discordlog");
let pEmbed = new Discord.RichEmbed()
.setTitle('🤖 Suppression de message 🤖')
.addField('Message supprimer', message.author + ' a supprimer ' + args + ' messages')
.addField('Channel', message.channel)
.setFooter("🤖 Merci d'avoir nettoyez ce channel 🤖")
.setThumbnail(`${client.user.avatarURL}`)
.setTimestamp()
.setColor(0x228B22)
channel.send({
embed: pEmbed
})
var channel = message.channel
})};
}
Screen ton code
Le code que je t'envoie ces le même que si je le screen 😐
justement
mercé
Mais attend je peux faire un else au pire ?
Je vais test
mais comme tu as mis un return, tu peux juste enlever ta seconde condition
je vois le problème
c’est que tu récupères le role de la guild (donc du serveur) et pas celui de l’utilisateur
Ah
pas sur le mec qui utilise la commande
Ces quoi déjà pour le mec 🤔
au pire laisse-le le faire lui-même, je lui ai indiqué son problème et une partie de la soluce 
Trop fort @keen narwhal 🙂
quelle puissance, il a juste remplacé guild par member 
Fonctionnel 🙂 merci du coup à vous 2 @keen narwhal @west plover
Check member has roles
Et puis tu tombe sur pleins de réponse
Mais tu sait faire des modules mais pas check si le member as un rôle

Hmm je viens de me lancer dans le JS il y a 1h donc bon
Enfin j'ai des bases mais niveau Discord JS que dalle xD
Ouais mais j'ai du mal avec la doc 😐
Surtout que je fait un bot pour notre Serv FiveM
C'est du gâteau
En plus je dois demandé au Dev FiveM de mettre une API pour le relier au bot donc sa va pas être de la tarte
Créé une API ?
Il doit en existé
Sûrement
Bref merci encore 🙂
Gamedig doit le faire
si c juste pour fetch le nombre de joueurs, etc. y a déjà des modules
Derien
@west plover Non ces beaucoup plus complexe qu'il nous faut
Détails
Savoir le nombre de joueur InGame fivereborn-query le fait déjà
En gros des logs complet de tous les détails des joueurs. Pouvoir ban depuis le discord InGame sans mettre forcément le serv sous Whitelist. Ainsi que donné des grades depuis le discord aussi
Umh
Go faire un Addon et use des webhooks
Après pour les grades la il te faut un bot
Il y en à des Webhooks mais bon tous le temps pas trop fiable à 200%
Bref moi je doit go merci encore
Derien
!boost
:one::two: Soutenir GCA
Pour soutenir GCA il y a plusieurs manières ! :eyes:
Tout d'abord tu peux devenir un Michel en boostant le serveur :ok_hand: Tu peux même utiliser !boost pour voir les avantages des Michel ! :scream:
Il y a d'autres manières de soutenir GCA:
:small_blue_diamond: La première est d'inviter des membres sur GCA :thumbsup:
Tous les 15 membres invités on t'ajoute une chance en plus de gagner aux giveaway ! :gift:
:small_blue_diamond: La deuxième manière est en faisant gagner des cadeaux sur GCA :tada:
Par exemple via des nitros, des addon, des services gratuit, des jeux, des codes promo, ect ect ... C'est sans limite !!! :scream:
Tous les membres qui soutienne GCA peuvent demander à avoir le grade Ils nous soutiennent pour avoir des avantages sur les giveaway et être indiqué sur notre site !
Nous ajoutons aussi les partenaires à ce grade :slight_smile:
Si tu corresponds à une des manières de soutenir GCA et que tu soutaites obtenir le grade, contact en MP @queen ocean :ok_hand:
Et si tu souhaites proposer une autre manière de soutenir GCA, contact nous aussi ! :white_check_mark:
Alors n'hésite plus !
Soutien toi aussi GCA :heart:
ok, ducoup, il a bien fait un array, mais à chaque fois ça replace le premier author.id qui est enregistré
si qqn sait aider 😉
@sand shore Merci j'irai look 🙂
Vous savez comment afficher ça :
avec un bot discord ?
> msg 🤔
merci
genre t’as réussi à le faire manuellement mais pas pour un bot? 
superca
Bonsoir,
Comment faire un not autrement que ! en javascript svp ?
Merci d'avance,
Hugo
Regarder si il est undefined par exemple
Si c’est un objet tu fais un object.keys
Ça dépend du type
Ok ! Merci !
Ah oui et une autre question aussi qui me bloque :
J'ai mon fichier principal : application.js, j'ai deux dossiers : Commands & Events.
Je load mon dossier Commands de cette manière :
// LOAD COMMANDS FOLDER
const commandsFolder = fs.readdirSync("./Commands");
for(const file of commandsFolder){
if (file.endsWith('.js')) {
const commandFile = require(`./Commands/${file}`)
}
}
Comment je peux faire pour envoyer mon client afin que je puisse le récupérer dans un de mes fichiers dans Commands afin d'ensuite pouvoir faire : client.on("message", ...
Merci d'avance,
Hugo
faudrait que tu joues avec le module.export des autres fichiers
Oula
tu peux par exemple export une fonction qui demande en argument le client
le module.export c l’équivalent du return en Lua (uniquement pour le return des fichiers, pas functions)
sauf que au lieu de return tu dois mettre module.export égal à quelque chose (comme une var)
Et donc comment je pourrais faire dans le cas de mon code ?
Tu veux le début Hugo ? Pour te montre ?
module.export = function( client ) {
client.on( ... )
}
Yes stp car je ne veux pas te mentir, je suis un peu perdu
c un exemple ^
Moi je l'ai fait pas comme sa
client.on("message", (message) => {
if (message.author.bot || message.channel.type == "dm"){
return;
}
if (message.content == "ping") {
message.reply("Pong !");
}
});
Car je m'en servirais pour sa
tu relies ce que je t’ai envoyé à ce que t’as fait du coup
et dans lors du require tu exécute la fonction qui a été exportée
module.exports = function(client) {
client.on("message", (message) => {
if (message.author.bot || message.channel.type == "dm"){
return;
}
if (message.content == "ping") {
message.reply("Pong !");
}
});
};
Donc sa donne sa ?
yeah
Sinon ça te dit pas d’apprendre avant de faire des trucs que tu comprends pas
Mais du coup le Client.on sert à rien ?
enfin c’est une suggestion
@keen narwhal ça dépend de comment c’est intégré
Ok
si la fonction est run lorsqu’il y a un nouveau message, c pas comme ça qu’il faudrait faire oui, mais si c’est uniquement run au lancement du bot, c correct
@slim anvil J'ai commencé par regarder le tuto node.js disponible sur OpenClassRoom et du coup maintenant, j'essaye de bien comprendre mais en sois, je comprends ce que je fais moi mais je ne comprenais ce que disais Guthen
Fais du JS avant de faire du node JS
Et Guthen, côté application.js, j'ai quelque chose de spéciale à faire ou pas ?
Le comprendre c’est une chose l’appliquer s’en est une autre
et dans lors du require tu exécute la fonction qui a été exportée
@boreal edge
Ok, je vais essayer de trouver sa, merci 🙂
J'ai chercher sur des forums, mais je n'ai pas trouver le code qui permet de le faire, tu serais m'aiguiller si sa te déranges pas ou pas stp ? @west plover
tu sais exécuter une fonction en JS?
nomdelafonctio,()
bien 
Mais ma fonction elle a pas de nom si ?
dans ton loader, tu as fais une variable commandFile
et si tu log cette var, tu devrais obtenir une fonction 
[Function]
{}
for(const file of commandsFolder){
if (file.endsWith('.js')) {
const commandFile = require(`./Commands/${file}`)
console.log(commandFile);
}
}
Pour la table vide, c'est logique car j'ai un fichier où il y a rien mais après sa me print function, donc je fais function()
?
tu exécute commandFile tout simplement
donc commandFile() ?
(et pour ton autre fichier vide, exportes une fonction ou tu vas avoir une erreur)
donc
commandFile()?
a ton avis
Ué
Merci beaucoup, après l'aide en Lua, place à l'aide en js 🙂 merci merci merci 🙂
Et dernière question (oui je sais, je suis chiant sorry) :
Tu sais pourquoi sa fait sa ou pas stp ?
Car en plus, le code il fonctionne pas donc faut que je regarde
tu parles des « Complexity is 6.. » ? 🤔
Ouais et en dessous de ma fonction et les deux carrés colorés
c VSCode?
Ué
Ah yes 
Bonjour,
J'ai une erreur dont je ne comprend pas la raison là voici :
TypeError: Cannot read property 'on' of undefined
at module.exports (C:\Users\gogo17\Desktop\G_Bot - Community\Commands\ping.js:4:12)
at Object.<anonymous> (C:\Users\gogo17\Desktop\G_Bot - Community\application.js:23:5)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
J'utilises ce code :
module.exports = function(client) {
client.on("message", (message) => {
console.log(message);
if (message.author.bot || message.channel.type == "dm"){
return;
}
if (message.content == "ping") {
message.reply("Pong !");
}
});
};
( Je comprend l'erreur, mais je ne sais pas comment la réglé)
Quelqu'un serait me donner un coup de pouce s'il vous plait ?
Merci d'avance,
Hug o
@boreal edge En gros tu utilises une méthode sur une valeur undefined (en gros nil en Lua)
donc j’imagine que client n’est pas défini parce que ru ne passes pas d’arguments lorsque tu exécute la fonction
Bonsoir !
J'aimerai savoir : Je souhaites faire un script pour envoyer un message dans un channel qui n'est pas un channel du serveur, j'ai donc chercher les fonctions à utiliser et j'ai trouver https://discord.js.org/#/docs/main/stable/class/GuildChannel?scrollTo=guild & https://discord.js.org/#/docs/main/stable/class/GuildChannel?scrollTo=id
Sauf que, je ne sais pas comment faire pour que sa envoie un message dans un serveur bien précis d'un salon bien précis.
Quelqu'un serait m'aider sur le sujet ?
Merci d'avance,
Hugo
Tu peux récupérer le serveur voulu avec client.guilds
pour les channels : guild.channels
ce sont tous deux des collections indexées par leurs ID donc tu devrais pouvoir récupérer un élément avec la méthode get avec leur ID
Ok, je vais essayer, merci 🙂
Je suis désolé, mais tu aurais un exemple pour envoyer un message dans un serveur & un channel différent stp ?
Car j'arrive pas à m'en servir..
Car il n'y a pas d'exemple, c'est pas comme sur le wiki GMod donc j'ai un peu plus de mal..
Edit : j'ai trouver une solution, merci 🙂
Tu as une doc qui est clair
On est d'accord ? @slim anvil
ui
Perso j'ai l'habitude du wiki de GMod
Donc je m'y pert rapidemment
Mais j'essaye de m'y faire
client.guilds.get(Config.serverlogs).channels("idduchannel").send(message.content);
Il me return TypeError: Cannot read property 'channels' of undefined, channels , n'est pas défini donc, mais comment le définir ?.
Si tu serais me donner un petit coup de main Enzo stp ? 🙂
Après si tu veux la je joue sorry
Problème résolu
bon ducoup, on m'a encore laché, quelqu'un saurait m'aider à faire un système de tâches ?
(w/ fs)
j'ai une partie du code mais il manque ducoup la partie qui enregistre les joueurs qui se mettent dans une tâche
Bonjour , une érreur trés bete je suppose , mais je n'ai pas compris comment faire pour sortir e1 du .then , pour pouvoir le log aprés
.then(async e => {
let e1 = e.json()
return e1
})
console.log(e1)
au cas ou , le console.log c'est juste un test , a terme j'ai envie de le return , parcequetout ça c'est une fonction
tu dois faire un await sur la fonction pour laquelle tu mets le .then() pour obtenir la valeur e, et tu fais tes opérations dessus
par exemple :
myAsyncFunc().then(async e => {
let e1 = e.json();
console.log(e1);
});
// équivalent à
let e1 = await myAsyncFunc();
e1 = e1.json();
console.log(e1);```
mais enfait
tout ça est dans ma fonction
att j'envoie ma fonction
function tweet (username, text,) {
fetch(`https://nekobot.xyz/api/imagegen?type=tweet&username=${encodeURIComponent(username)}&text=${encodeURIComponent(text)}`,
{
method:"get",
headers:{"Content-Type":"application/json"
}})
.then(e => {
e.json()
.then(e => {
return e.message
})
})
}
Tu peux aussi faire js let e1 = await myAsyncFunc().then(e => e.json()); console.log(e1);
j'ai envie que en faisant tweet(username,text) ca return direct e.message
Bonsoir,
Petite question : Comment je peux savoir si un channel existe déjà à partir de son nom ?
Merci d'avance,
Hugo
ou alors si tu veux vraiment que ça fasse comme tu l'as dit tu fais ça :
function tweet(username, text) {
let e = await fetch(`https://nekobot.xyz/api/imagegen?type=tweet&username=${encodeURIComponent(username)}&text=${encodeURIComponent(text)}`, {
method:"get",
headers: {
"Content-Type":"application/json"
}
}).then(e => e.json())
return e.message;
}``` @rough tide
https://discordapp.com/channels/223070469148901376/617677968474636298/677932130084454420 Si quelqu'un serait me donner un petit coup de pouce si sa vous déranges pas svp (j'arrive pas à me repérer sur le wiki discord.js en plus car j'y comprend rien, j'essaye mais j'arrive pas à m'y faire)
Cliquez sur 📄 pour accéder au message.
Bonsoir,
Petite question : Comment je peux savoir si un channel existe déjà à partir de son nom ?
Merci d'avance,
Hugo
bot.channels.find("name","welcome") puis apres tu check si tu as une value
Ok, merci et welcome il signifie quoi ?
welcome c'est le name du channel que tu veux trouver
Ok ! Merci beaucoup
Et dernière question (désolé), comment on peut faire pour le trouver car je marque channel ou find et je tombe pas sur ce que tu m'a envoyer
Je comprend rien mais vraiment, sa fait 1hre que j'essaye de chercher pour vérifier si le channel existe car maintenant, sa me return cette erreur
Cliquez sur 📄 pour accéder au message.
bon ducoup, on m'a encore laché, quelqu'un saurait m'aider à faire un système de tâches ?
Bonsoir,
Je chercherais à rajouter des t entre les différents "mots" d'un pseudo discord ( message.author.username ), quelqu'un sera m'aiguiller pour arriver au résultat voulu ?
Merci,
Hugo
Bonsoir, j'ai un problème avec une commande : ```const Discord = require("discord.js");
const low = require('lowdb')
const FileSync = require('lowdb/adapters/FileSync')
const adapter = new FileSync('./bl.json')
const db = low(adapter)
var mb = db.get('bl').size().value()
module.exports.run = async (bot, client, message, args) => {
var stats = new Discord.RichEmbed()
.setTitle("Statistiques de Ryze Protect")
.addField("Nombre de Serveur :",${client.guilds.size}, true)
.addField("Nombre d'utilisateur :",${client.users.size}, true)
.addField("Nombre d'utilisateur Blacklist",${mb}, true)
.setColor("#36393f")
message.channel.send(stats)
}``` il ne détecte pas le size, voicl l'erreur
vérifies que ta db soit valide
ouep
yep
hmm, c'est quoi la différence entre bot et client?
Aucune
donc tu as deux variables qui représentent la même chose ?
oui
Et c'est sûr que c'est un Discord.Client ?
oui
t'as dû te foirer dans l'envoi du paramètre
déjà, pourquoi avoir deux paramètres qui représentent la même chose ?
ensuite, à quoi ressemble ton invocation de la fonction ?
je vais y regarder demain tous sa merci de ton aide en tous cas
Bonsoir,
J'aurais une petite question : Comment je peux faire pour récupérer ce qu'il y a après les deux premiers mots d'une variable par exemple ?
Merci d'avance,
Hugo
string*
Mais si jamais j'ai "Hugo est un arbre moche"
Comment je peux récupérer un arbre moche ?
je pense savoir
Car je cherche à récupérer ce qu'il y a après Hugo est
string.split(" ").splice(2).join(" ")
ça te virera les deux premiers et te filera tous ceux qui reste
sinon si tu veux que les deux derniers tu mets -2
@hazy mirage Merci ! ❤️
dr bg
@hazy mirage Désolé un mais comment je peux faire pour récupérer le texte après le premier mot stp ? 🙂
Car j'ai essayer en remplace splice(2) par splice(1) mais sa a pas marcher
En faites quand je pris message.content sa me return rien
Donc ca vient de là, je vais voir, merci Pilot 🙂
Re,
Est ce que quelqu'un serait comment envoyer un message à partir d'un nom et tag discord ?
Merci d'avance,
Hugo
??
tu ne peux pas envoyer de message via un compte de quelqu'un d'autre que ton bot
si tu veux envoyer un message a un mec via son nom et son tag discord:
Je veux envoyer un message via son nom et son tag
client.users.find(user => user.username == "nom") ou client.users.find(user => user.id == "id")
Merci beaucoup
Cliquez sur 📄 pour accéder au message.
bon ducoup, on m'a encore laché, quelqu'un saurait m'aider à faire un système de tâches ?
😒
il reste pas grand chose à faire, juste à faire un array dans une des tables d'un json, ce que je n'arrive pas :/
mais
on te l'a dit
users.push(user)
et après tu réécris ton json
je sais pas comment on doit te le dire mais c'est plutôt clair à mon avis
Faut pas lui dire mais lui faire j’ai l’impression 
Hello !
J'aurais besoin d'un petit coup de pouce car je suis bloquer depuis 2H dessus :
const memberList = JSON.parse(fs.readFileSync("../members_id.json"));
Je ne comprend pas pourquoi il me return cette erreur: Error: ENOENT: no such file or directory, open '../members_id.json' alors que le fichier est bien existant
Mon fichier json contient :
{}
Est ce quelqu'un serait m'aider sur le sujet svp ?
Merci d'avance,
Hugo
hm, quel est le chemin de ton .js et celui du .json?
Et mon fichier est dans le dossier Events
Sois :
Fichier JS : C:\Users\gogo17\Desktop\G_Bot - Community\Events
Fichier JSON : C:\Users\gogo17\Desktop\G_Bot - Community
et si tu const memberList = require( "../members_id.json" )?
J'ai aucune erreur
perfect 
Mais le truc c'est qu'après j'aimerai bien vérifier si le pseudo discord du gars existe ou pas dans la table et si jamais sa existe pas, j'ajoute un argument avec le nom du gars et je lui mets l'id du joueur
Merci @west plover 🙂
J'vais essayer de chercher pour mon soucis du coup et je reviens si jamais j'y arrives po 🙂
Si c pour check qu’un mec est inscrit, go soit utiliser une array et stocker le mec soit dans un objet indexé par son id et en valeur un true (pour pouvoir vérifier s’il est dedans plus facilement)
Yes
Maintenant, il faut que j'y arrives
😂
if (!membersList[authortag]) {
membersList[authortag] = []
};
membersList[authortag].unshift({
userid : message.author.id
})
fs.writeFileSync('../members_id.json', JSON.stringify(membersList));
tu peux très simplement trouver comment faire en te renseignant sur les objects ou les arrays
Bah en faites, j'avais repris un ancien code que j'avais fait (j'avais recopier sur une vidéo x) )
et utilises l’id du mec au lieu du tag
En faites j'ai besoin de son tag
bah ne recopie pas sur la vidéo 
Car c'est pour un système de tickets via mp
@west plover
et à quoi il te sert du coup? 🤔
Et donc du coup, dans le topic, je mets le nom et le tag du gars pour que moi je sache qui est ce
Et sinon Hugo stock son ID
Car son tag peut changer pas son id
Et ensuite pour récupérer son pseudo tu fetch le user
et tu pourras récupérer toutes les infos qui te sont nécessaires
Le ticket, je le reçois sur un serveur discord spécial
Que j'ai créer rien que pour les bots
abadakor @slim anvil
Et le ticket de base, c'est un joueur qui le demande en MP du bot directement
c’est pas grave si le bot est sur 2 tu as accès dans guilds au discord ou il est
les 2*
donc tu pourras get le user
Ok, je vais voir sur le wiki, je re
console.log(client.guild.fetchMember(message.author).id);
^
TypeError: Cannot read property 'fetchMember' of undefined
Sa vient de me return cette erreur
Fin comment je peux récupérer l'ensemble des discords où est le bot pour vérifier avec le fetchMember ?
console.log(client.guilds.fetchMember(message.author).id);
^
TypeError: client.guilds.fetchMember is not a function
J'ai essayer sa comme tu m'a dit mais sans succès, je ne sais pas pourquoi...
Tu as essayé 2 minutes
Je suis en train de comprendre les erreurs que j'ai fait
Je pense, sans être sur, que si tu as 2 discord différent un d’admin et un de communauté, lorsque tu reçois sur le discord admin le ticket du user du discord communauté tu dois sur ton clients.guilds récupérer la guild du discord communauté, une fois récupéré sur celle si tu fetchMember pour en lui passadant l’id du user pour récupérer son profil
Peut être que je me trompe je n’ai jamais scindé en 2 discord
J'ai essayer de console.log client.guilds et effectivement, sa ma return tout les membres qu'il y avait dans les discords sauf qu'il me return un ID puis => [GuildMember] je vais t'envoyer un screen
Voilà l'exemple avec deux
Donc je sais pas comment get son username
member.user.username
@west plover Youps, j'avais pas vu, merci ! 🙂
Et petite question :
Comment je peux insérer un string dans un string je m'explique :
string a insérer : arbre
string de base : C'est un qui est très beau
Donne : C'est un arbre qui est très beau
Merci d'avance,
Hugo
let tree = "arbre";
console.log(`C'est un ${tree} qui est très beau`);
Ah oui, merci 🙂
Re,
Excusez moi de vous dérangez encore une nouvelle fois mais comment je peux envoyer un message privée à quelqu'un à partir de son id ?
Merci d'avance,
Hugo
Ta déjà regarde la docs ?
Oui mais je n'ai pas trouver
Y a pas mal d'info dessus qui peuvent aider
J'ai pas trouver
Ok
Comme sa je serait pas te dire je regarde quand je suis devant mon PC, sinon quelqu'un arrivera avant moi
Ok merci ! 🙂
Bonjour, actuellement j'essaie de créer une commande permettant de pouvoir créer un channel avec un nom personnalisé a l'aide de cette commande: **!channel + (nom du channel). Mais j'ai des problèmes et je n'ai pas d'idée qui permette de require un string après !channel et ensuite, pouvoir get celui ci pour set le nom du channel. Voici mon code: ```js
if(message.content === PREFIX + "channel") {
bot.guilds.get("677605142438215704").createChannel("channel-test", {
type: 'text',
permissionOverwrites: [{
id: "677605142438215704",
parent: "678259415442522133",
deny: ['MANAGE_MESSAGES'],
allow: ['SEND_MESSAGES']
}]
})
}
@keen narwhal J'ai enfin trouver : fetchUser ! Merci beaucoup ! 🙂
^^
Et tu sais comment se servir de createDM ou pas stp ? @keen narwhal
Pas tellement
Ah merde
Je regarderais mon bot il m'envoie des mp quand un utilisateur malveillant rejoint mon serveur
Ok merci
clienttosend.createDM()
.then((channel) => {
message.channel.send(messagetosend);
})
Car j'ai essayer sa mais sans succès
Cliquez sur 📄 pour accéder au message.
Bonjour, actuellement j'essaie de créer une commande permettant de pouvoir créer un channel avec un nom personnalisé a l'aide de cette commande: **!channel + (nom du channel). Mais j'ai des problèmes et je n'ai pas d'idée qui permette de require un string après !channel et ensuite, pouvoir get celui ci pour set le nom du channel. Voici mon code: ```js
if(message.content === PREFIX + "channel") {
bot.guilds.get("677605142438215704").createChannel("channel-test", {
type: 'text',
permissionOverwrites: [{
id: "677605142438215704",
parent: "678259415442522133",
deny: ['MANAGE_MESSAGES'],
allow: ['SEND_MESSAGES']
}]
})
}
Cela fait un peu près 7hre que je bloque sur le même truc, est ce que quelqu'un sait comment je peux envoyer un message à partir d'un membre détecté par fetchUser ?
Merci d'avance,
Hugo
client.fetchUser( user_id ).then( user => { user.send( "hello" ) } ) 🤔
Euh Guthen ? Comment dire ? MERCIIIII !!! SA FAIT 7 HEURES QUE J'ESSAYE DE LE FAIRE ET EN 1 MINUTE, SOUCIS REGLE ! MERCIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 😄

Ma tête : 
Pourtant c'est chelou car j'avais mis une variable à client.fetchUser(idtosend, true) et je lui est dit après clienttosendmsg.send("message")
MAIS SA A PAS MARCHER
@golden aurora tu peux message.content.split( " " ) afin d'obtenir ton texte en arguments
@boreal edge je pense que t'avais pas .then 🤔
Nan
et juste récupérer la valeur de fetchUser
J'ai jamais compris le but de .then
c pour les Promise
C'est quoi ?
ça permet d'exécuter des fonctions après qu'une action asynchrone ait été faites (parce qu'une requête sur un serveur c pas instantané donc Promise)
du coup t'as les méthodes .then si c'est réussi et .catch si y a une erreur
Okkk !
Yep @west plover c'est bon it's work thks u
petite question, dans le parent d'un createChannel, comment je peux get le channel de l'auteur du msg?
function stop() {
client.guilds.get(token.ServerLogs).channels.get(token.channelnotify).send(":space_invader: **__Bot déconnecté__** :space_invader:")
}
client.on("disconnect", stop);
Est ce que vous savez poourquoi l'event n'est pas appellé svp ?
https://files.lynaria.fr/Code_HOHHcuq45q.jpg
https://files.lynaria.fr/Code_FQD3PlLw8I.jpg
Cette condition n'est pas bonne :/
if(config.AntiLinkBypass.includes(message.member.roles.id)) return;
En même temps message.member.roles n'a pas d'attribut id vu qu'il s'agit d'une Collection, et pas d'un Role.
Comment je pourrais changer le format de la date ?
https://files.lynaria.fr/Discord_5p1LMEkYhx.jpg
Tu enlève le .xxxZ et tu manipulate une date let birthday = new Date('1995-12-17T03:24:00')?
Bonjour, qui saurait me dire comment je peux get le channel ou se trouve l'auteur du message? J'ai fait ceci : ```js
bot.guilds.get("XXXXXXXXXXXXX").createChannel(thingToEcho, {
type: 'text',
parent: ${message.channel.parent},
permissionOverwrites: [{
id: "XXXXXXXXXXXXX",
deny: ['MANAGE_MESSAGES'],
allow: ['SEND_MESSAGES']
}]
})
ERREUR: ```js
(node:4600) UnhandledPromiseRejectionWarning: DiscordAPIError: Invalid Form Body
parent_id: Value "<#XXXXXXX>" is not snowflake.
@marsh drift mais le problème c'est que c'est la date de création d'une personne donc c'est pas un truc qui est define par moi, donc bon là je suis un peu perdu j'ai déjà essayé de faire des recherche et j'ai rien réussi même avec des modules
Définis par toi ou pas tu gère ce que tu envoie à mee6 non ?
Sinon tu fais ton propre bot au pire, c'est pas le temps que ça prend
Non mais c'est déjà mon propre bot
C'est juste que je fessait join mee6 pour avoir le message
Mais j'utilise member.createdAt il me semble car je ne suit pas sur mon pc :/
Bah tu récupère l'info, la format (comme j'ai mis au dessus par exemple) et la renvois, tu es pas obliger de renvoyer l'info en direct donc je vois pas trop de problème
Et comment spécifiée que c'est mon format a moi et pas celuis de base ?
@slim anvil j'irais voir ça dès que je suis chez moi, merci
moment().format('Do MMMM YYYY, h:mm:ss a').createdAt ??
Enfin je suis perdu là 😭
Member.createAt.format plutôt ?
LOG
/DiscordBot/Widx/index.js:85
value: member.user.createdAt.format('Do MMMM YYYY, h:mm:ss a'),
^
TypeError: member.user.createdAt.format is not a function
at Client.<anonymous> (/DiscordBot/Widx/index.js:85:50)
at Client.emit (events.js:321:20)
at Guild._addMember (/DiscordBot/node_modules/discord.js/src/structures/Guild.js:1298:19)
at GuildMemberAddHandler.handle (/DiscordBot/node_modules/discord.js/src/client/websocket/packets/handlers/GuildMemberAdd.js:12:13)
at WebSocketPacketManager.handle (/DiscordBot/node_modules/discord.js/src/client/websocket/packets/WebSocketPacketManager.js:105:65)
at WebSocketConnection.onPacket (/DiscordBot/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:333:35)
at WebSocketConnection.onMessage (/DiscordBot/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:296:17)
at WebSocket.onMessage (/DiscordBot/node_modules/ws/lib/event-target.js:120:16)
at WebSocket.emit (events.js:321:20)
at Receiver.receiverOnMessage (/DiscordBot/node_modules/ws/lib/websocket.js:789:20)```
JS
client.on('guildMemberAdd', (member) => {
const GuildServer = client.guilds.get(config.guild);
let logs = GuildServer.channels.find(x => x.name === "logs");
var memberCount = GuildServer.members.filter(member => !member.user.bot).size;
client.user.setPresence({ game: { name: `🙍╿ ${memberCount} Membres` }, status: 'dnd' });
logs.send({
embed: {
color: 3066993,
author: {
name: 'Widx',
icon_url: 'https://cdn.discordapp.com/avatars/677247168230326308/eaaba746360907d6e6f05e81e785bdcf.png',
url: 'https://widx.fr',
},
description: `${member} has join the server !`,
thumbnail: {
url: member.user.avatarURL
},
fields: [
{
name: 'Account created :',
value: member.user.createdAt.format('Do MMMM YYYY, h:mm:ss a'),
inline: true,
},
],
timestamp: new Date(),
}
})
});```
Je viens de comprendre 🙂
Une recherche et j'ai le résultat, tu es sûr d'avoir vraiment cherché ?
Cliquez sur 📄 pour accéder au message.
@slim anvil j'irais voir ça dès que je suis chez moi, merci
Je viens de rentré il n'y a même pas 20mins
Je fais allusion à ce que tu as dit là https://discordapp.com/channels/223070469148901376/617677968474636298/678583717437898752
Cliquez sur 📄 pour accéder au message.
@marsh drift mais le problème c'est que c'est la date de création d'une personne donc c'est pas un truc qui est define par moi, donc bon là je suis un peu perdu j'ai déjà essayé de faire des recherche et j'ai rien réussi même avec des modules
J'ai rechercher hier mais sans le module 'moment'
Pas grave
Wtf
Bon bah je te laisse te compliquer la vie avec ton module npm et tes dependencies inutiles hein
Yes
@golden aurora j'ai pas compris ce que tu veux faire ? https://discordapp.com/channels/223070469148901376/617677968474636298/678564569135841281
Cliquez sur 📄 pour accéder au message.
Bonjour, qui saurait me dire comment je peux get le channel ou se trouve l'auteur du message? J'ai fait ceci : ```js
bot.guilds.get("XXXXXXXXXXXXX").createChannel(thingToEcho, {
type: 'text',
parent: ${message.channel.parent},
permissionOverwrites: [{
id: "XXXXXXXXXXXXX",
deny: ['MANAGE_MESSAGES'],
allow: ['SEND_MESSAGES']
}]
})
ERREUR: ```js
(node:4600) UnhandledPromiseRejectionWarning: DiscordAPIError: Invalid Form Body
parent_id: Value "<#XXXXXXX>" is not snowflake.
Tu uses moment la @keen narwhal ?
Oui
c’est pas comme ça alors
moment.locale('fr');
moment(member.user.createdAt).format('Do MMMM YYYY, hh:mm:ss'),```
Tkt
Yes mieux
Ouai je venais de comprendre 😄
Après le mieux c’est datefns moins lourd si c’est un petit projet car moment est assez huge
après oui tu pouvais aussi formater en JS natif
@timid loom Je souhaite récupérer la categorie dans laquelle se trouve l'auteur ( ce que j'ai essayé avec :```js
parent: ${message.channel.parent},
mais sans résultat)
Et avec ceci, lorsque le joueur effectuera la commande, le channel se créera dans la catégorie ou se trouve l'auteur
Essaye : ```js
parent : message.channel.parent
@golden aurora
/o\ quel enfer, pourquoi installer des chose qui se font en natif en deux secondes, anyway....
@golden aurora L'erreur ?
t’as pas un parentID @golden aurora ?
oula comant coné tu mon hystoireu?
ParentID ne marche pas.... L'erreur est ```js
(node:4600) UnhandledPromiseRejectionWarning: DiscordAPIError: Invalid Form Body
parent_id: Value "<#XXXXXXX>" is not snowflake.
pb résolu
Bonjour !
J'ai un bot qui créer des logs en .txt des messages supprimés
sauf que , j'appelle le .txt avec le nom du serveur
sauf que certains serveurs on des | <> /\ dans leurs noms , ce qui fait que le .txt ne se créer pas et mon bot crash
qlq a une solutio ?
sinon tu fais un replace des caractères illégaux mais bof
bah
j'ai fait ça
texte = texte.replace(/\/g, " ")
sauf que bah , ca marche pas quoi xd
le problème c'est que tu vas avoir trop de règles à mettre en fait
ou alors voir avec les unicodes/positions dans la table ascii via le pattern
ça me dérange pas de repeter 20 fois le .replace
j'ai l'habitude xd
jveux juste savoir comment faire
je te conseille vraiment d'abandonner l'idée du nom du serveur
parceque sur le screen ça marche pas
et de partir sur l'id
:/
mais aprés , le but c'est d'aller chercher dans les logs a la main
et je connais pas par coeur
le \ du pattern indique qu'il y a un caractère special après
les id des serveurs
or y en a pas
donc ça ?
bah clic droit sur un serveur > Copier l'identifiant > Recherche l'id dans tes fichiers
bah c'est compliquer quoi xd
wow de fou
bah fais une regex
regex ?
comment ça
Ce que tu es entrain d'utiliser ca s'appelle un regex
un truc de ce genre /[<>|\\"?/:*]/g
utilisez pas vetement ce que vous trouvez sur internet
Mais tu dois avoir sur internet des regex deja faites pour les caractères interdit sur un fichier
tu uses ça et hop
j'ai pas trouver ça sur internet
j'avais déja utiliser la fonction .replace
bah je connais les caractères interdits
jveux juste remplaces ces caractères => \ /:*?"<>|
par un espace
sauf qu’il y pas que ça
y a d’autres caractères chelous et qui sont sûrement pas acceptés
il ne sont donc pas acceptés nn plus dans un nom de serveur
et globalement c les plus retrouvés dans les noms de serveurs
du coup ? je fais comment
essaye peut-être ça : https://stackoverflow.com/questions/4374822/remove-all-special-characters-with-regexp
il ne sont donc pas acceptés nn plus dans un nom de serveur
Si sinon je les aurais pas énoncés
oé
parfait merci
il ne sont donc pas acceptés nn plus dans un nom de serveur
Non pas forcément d'ailleurs
c'est pas éxactement ce que je cherche
Les règles sont différentes entre email, fichier, pseudo, etc
jveux remove que ces caractères la => \ /:*?"<>|
pas le reste
texte = texte.replace(/ \ /g, " ")
ça marche pas
je fais comment ?
mais euh g donné la soluce en faite
merci je test
mets un \ avant le "
et d'ailleurs my bad j'ai mis un espace entre les 2 \ /
enleve les, sinon tu vas match sur les espaces 
En gros @rough tide ca donnerait ça
"s**alut :a to/us".replace(/([\/:*?"<>|])/g,'')
Salut 🙂 quelqu'un ici a déjà développé avec le module Twitter d'NPM ? Permettant d'envoyer dans un channel un tweet venant d'être posté
Tu veux juste que a chaque tweet, ca publie sur un de tes channels discord ?
ui
Sauf que mon but est de développer une fonction sur un bot ^^
Pour ça que je viens demander ici 😮
Tu veux faire quoi exactement
que avec une commande, tu synchro un compte twitter a un channel?
que chaque tweets soient retranscris dans un channel
imagine là maintenant tu tweet
ça retranscris directement le tweet dans un channel
Si tu passes pas par des webhooks, et que tu veux le faire à la main, tu vas devoir faire toi meme un get des status du user toutes les x secondes/minutes etc..
bah je peux pas utiliser de webhook ... enfin, dans le sens où je veux que ça soit le bot lui même qui envoie le message
peut importe comment
et avec quoi
https://youtu.be/3W1-YfKN-fg tiens look ça et dis moi si c’est pas ça que tu veux, car ça reste le bot qui poste le tweet :/
How to Automatically Post Tweets to Discord - A tutorial on how to auto post tweets from any twitter account to discord channel. You need an IFTTT account and a discord server with webhooks.
CODE:
{ "username":"@andypngr tweeted", "content":"@{{UserName}} tweeted this at {{C...
sauf si tu veux vraiment que lui poste le texte etc, pour être sûr de comprendre 😄
c'est SON bot qui poste le tweet là ?
yep j'ai essayé de look ce module mais j'y comprends pas grand chose
rien que l'authentification
Ta check le quick start ?
Ta tout d'écrits dès le début
You will need valid Twitter developer credentials in the form of a set of consumer and access tokens/keys. You can get these here. Do not forgot to adjust your permissions - most POST request require write permissions.
woah faut vraiment faire une demande à twitter
Bonjour, j'ai une question: je connais l'id d'un member mais j'aimerais le transformer en son pseudonyme, comment je peux faire?
Merci d'avance
<@ID>
(en code)
J'ai ça: ```js
var mentionmember = message.mentions.members.first();
ça me ramène un id, comment je fait?
et si tu veux le pseudo qu'il a prit sur le serveur (si il s'est renommé) : mentionmember.nickname
ok merci ^^
Comment je peux faire pour que seulement l'auteur du message et la cible peuvent voir le nouveau channel créé? J'ai fais ceci: ```js
{
id: message.author.id,
deny: ['MANAGE_MESSAGES'],
allow: ['SEND_MESSAGES']
},
{
id: mentionmember.id,
deny: ['MANAGE_MESSAGES'],
allow: ['SEND_MESSAGES'],
},
Mais lorsque je teste, le salon est disponible pour tout le monde.
id doit être l'ID de la personne déjà
{
id: message.author.id,
deny: ['MANAGE_MESSAGES'],
allow: ['SEND_MESSAGES']
},
{
id: mentionmember.id,
deny: ['MANAGE_MESSAGES'],
allow: ['SEND_MESSAGES'],
},```
ça ne marche pas.....
j'ai fait la même chose
re, j'vais pas vous cacher qu'après plusieurs recherches, aucun résultat. J'ai rien trouvé ..
Sur quoi, le truc twitter ? le truc de zaros a l'air bien pourtant
oui le truc twitter
mais faut faire une démarche
je l'ai fait
mais pour avoir accès aux token et au secret du compte en question faut faire des démarches et je comprends quedal
c'est le bordel
Jamais testé, mais c'est surement une requete pour te génerer un access token quoi, no ?
comme pour spotify ou autre
tu as fais "apply" et rempli le questionnnaire?
yep
go attendre qu'ils te certifient mtn 😄
bah écoute j'ai mon app qui est prête et mon mail qui est verif
ils m'ont pas dis d'attendre ou autre
Cliquez sur 📄 pour accéder au message.
Comment je peux faire pour que seulement l'auteur du message et la cible peuvent voir le nouveau channel créé? J'ai fais ceci: ```js
{
id: message.author.id,
deny: ['MANAGE_MESSAGES'],
allow: ['SEND_MESSAGES']
},
{
id: mentionmember.id,
deny: ['MANAGE_MESSAGES'],
allow: ['SEND_MESSAGES'],
},
Mais lorsque je teste, le salon est disponible pour tout le monde.
@timid loom, je vois ce que tu dis quand tu me dis users.push sauf que je voudrais savoir à quoi sert le .push
A ajouter dans un tableau
Ok, et mon tableau est dans une data de base nommée tasks (look le data.json):
{
"tasks": [
{
"userId": "249459790953185280",
"name": "s",
"channelId": "673173059598811153",
"users": []
}
]
}
mon but est de le push ducoup dans le array, quand je fais users.push ça ne fonctionne pas, j'ai essayé, tasks.users.push non plus
tu fais un .find sur tasks
ok, je vais voir
pour find la task que tu veux, et sur celle ci tu fera un .users.push
je n'arrive pas à find justement la tâche que je veux
Bah avec le channelId tu devrais pouvoir la find
avec
const task = tasks.find(task => task.channelId === message.channel.id)
fin par exemple
j'ai pas le cas réel mais voila
et du coup dans ta task, tu pourras faire un task.users.push(message.author.id)
par ex
Ok
const task = tasks.find(task => task.channelId === message.channel.id)
task.users.push(message.author.id)
fs.writeFileSync('./data.json', JSON.stringify({ tasks }, null, 2))
ça me sort l'erreur comme quoi task est indéfini
TypeError: Cannot read property 'users' of undefined
alors comment je peux faire ?
Vérifie manuellement que l’id du channel que t’es est dans une tache
ce qui logiquement devrait pas être le cas 🤔
en gros, ma commande qui crée la tâche, save le channelId
pour quoi faire?
pour vérifier si l'utilisateur est dans le channel pour pouvoir rejoindre la tache
passe pv pour avoir le code en entier
j’aimerais comprendre le délire d’abord 🤔
En gros le mec dans n'importe quel channel il fait un !createtask toto par ex guthen
du coup au retour de la creation du channel, il save son channelId dans la task, comme ça quand un mec va venir dans ce salon pour s'ajouter a la tache avec un !join
il va devoir regarder si l'id du channel existe dans une des tasks, et si oui push le user dans cette task
si je me rappelle bien du truc
Bonjour ! Un de vous aurait un système de musique ?
J’aimerai savoir quel module vous utilisez. Si c’est FFMPEG, pourriez-vous me passer l’installer Linux en JS svp ?
Merci d'avance 😄
if (message.content === prefix + "annonce") {
if (message.member.hasPermission("ADMINISTRATOR")) {
const embed = new Discord.RichEmbed()
.setTitle("__Holotransmission__")
.setDescription(args.join(" "))
message.channel.send("Tout le monde")
message.channel.send({embed})
}
}``` Yo , yo , j'ai un soucis technique enfaite il me dit que args n'est pas définis une idée ?
où est défini args?
const args = message.content.trim().split(/ +/g);```
envoie le code depuis args jusqu'à ton code d'annonce 🤔
Comment ça ?
pour voir si ta constante args est dans le même scope que ta commande d'annonce 🤷♀️
le code depuis
const args = message.content.trim().split(/ +/g);```
jusqu'à
if (message.content === prefix + "annonce") {
if (message.member.hasPermission("ADMINISTRATOR")) {
const embed = new Discord.RichEmbed()
.setTitle("__Holotransmission__")
.setDescription(args.join(" "))
message.channel.send("Tout le monde")
message.channel.send({embed})
}
}```
wut 🤔
il manque des trucs non?
(et enlève ton bot.login, on voit ton token)
Tu veux tout le code ?
en privé si tu veux, moui 🤔
c réglé
Oui merci désolé j'ai pas précisé
J'aurai besoin d'une petite aide :/
Lors se que je veux par exemple crée une map avec le numéro du warn + sa raison
{
"382195576374034444": {
"warnings": {
"1": ""
}
}
}
Je n'arrive pas a check le contenue de 1
"warnings": {
"1": ""
}
J'ai essayé avec
if (warns[user.id].warnings[0]){
warns[user.id] = {
warnings: {
"1": reason
}
};
}```
Mais aucun résultat :/
Tu cherches à faire quoi là? Récupérer le warn existent ? La clé qui ressemble à id c’est l’id du user?
Plutôt un truc comme ça non ?
warns[user.id].warnings[« 1 »]
Mais sinon déjà ce serait cool de faire un tableau d’objet et pas un tableau clé valeur, comme ça tu pourras stocker celui qui a report, la raison, la date, l’ID du message par exemple enfin des infos importantes
Salut ! J'ai un problème avec mon bot, j'ai fait un petit système pour join (j'ai pris de la doc) mon channel discord en fessant /join et j'aimerais qu'il émettent un son, j'ai fait le petit script sauf que cela me met une erreur
ERREUR :
TypeError [ERR_INVALID_ARG_TYPE]: The "file" argument must be of type string. Received type object
at validateString (internal/validators.js:112:11)
at normalizeSpawnArguments (child_process.js:398:3)
at Object.spawn (child_process.js:534:16)
at new FfmpegProcess (/home/test/node_modules/prism-media/src/transcoders/ffmpeg/FfmpegProcess.js:14:33)
at FfmpegTranscoder.transcode (/home/test/node_modules/prism-media/src/transcoders/ffmpeg/Ffmpeg.js:34:18)
at MediaTranscoder.transcode (/home/test/node_modules/prism-media/src/transcoders/MediaTranscoder.js:27:31)
at Prism.transcode (/home/test/node_modules/prism-media/src/Prism.js:13:28)
at AudioPlayer.playUnknownStream (/home/test/node_modules/discord.js/src/client/voice/player/AudioPlayer.js:97:35)
at VoiceConnection.playStream (/home/test/node_modules/discord.js/src/client/voice/VoiceConnection.js:478:24)
at /home/test/indextest.js:21:20 {
code: 'ERR_INVALID_ARG_TYPE'
}
```
SCRIPT :
const Discord = require('discord.js');
const client = new Discord.Client();
const ytdl = require('ytdl-core');
const ffmpeg = require('ffmpeg');
const fs = require( "fs" );
const stream = fs.createReadStream('./test.mp3');
client.on('message', message => {
// Voice only works in guilds, if the message does not come from a guild,
// we ignore it
if (!message.guild) return;
if (message.content === '/join') {
// Only try to join the sender's voice channel if they are in one themselves
if (message.member.voiceChannel) {
message.member.voiceChannel.join()
.then(connection => { // Connection is an instance of VoiceConnection
connection.playStream(stream);
message.reply('I have successfully connected to the channel!');
})
.catch(console.log);
} else {
message.reply('You need to join a voice channel first!');
}
}
});
console.log ta variable stream ?
ReadStream {
_readableState: ReadableState {
objectMode: false,
highWaterMark: 65536,
buffer: BufferList { head: [Object], tail: [Object], length: 1 },
length: 65536,
pipes: null,
pipesCount: 0,
flowing: null,
ended: false,
endEmitted: false,
reading: false,
sync: false,
needReadable: true,
emittedReadable: false,
readableListening: false,
resumeScheduled: false,
paused: true,
emitClose: false,
autoDestroy: false,
destroyed: false,
defaultEncoding: 'utf8',
awaitDrain: 0,
readingMore: false,
decoder: null,
encoding: null
},
readable: true,
_events: [Object: null prototype] { end: [Function] },
_eventsCount: 1,
_maxListeners: undefined,
path: './test.mp3',
fd: 17,
flags: 'r',
mode: 438,
start: undefined,
end: Infinity,
autoClose: true,
pos: undefined,
bytesRead: 65536,
closed: false
}
Yes voilà
ton erreur est que dans le
connection.playStream(stream);
tu passes un objet et non une string
The "file" argument must be of type string. Received type object
ah :/ et comment le faire passez en string ?
fais un
connection.playStream(stream.path);
je pense
nop c'est toujours un object
tu as restart et tu as toujours la meme erreur ?
yep
No sé alors, car c'est bien une string stream.path
sa donne ça en gros mon code
const Discord = require('discord.js');
const client = new Discord.Client();
const ytdl = require('ytdl-core');
const ffmpeg = require('ffmpeg');
const fs = require( "fs" );
const stream = fs.createReadStream('./test.mp3');
client.login(' ');
client.on('message', message => {
// Voice only works in guilds, if the message does not come from a guild,
// we ignore it
if (!message.guild) return;
if (message.content === '/join') {
// Only try to join the sender's voice channel if they are in one themselves
if (message.member.voiceChannel) {
message.member.voiceChannel.join()
.then(connection => { // Connection is an instance of VoiceConnection
connection.playStream(stream.path);
message.reply('I have successfully connected to the channel!');
})
.catch(console.log);
} else {
message.reply('You need to join a voice channel first!');
}
}
});
Mais pourquoi tu uses fs.crearteReadStream pour passer le lien
je sais pas comment fonctionne playtStream
mais passe lui directement le nom de ton fichier
avec le bon chemin

donc je supprime fs.createReadStream ?
Error: Media must be provided
at Function.verifyOptions (/home/test/node_modules/prism-media/src/transcoders/ffmpeg/Ffmpeg.js:13:31)
at FfmpegTranscoder.transcode (/home/test/node_modules/prism-media/src/transcoders/ffmpeg/Ffmpeg.js:34:59)
at MediaTranscoder.transcode (/home/test/node_modules/prism-media/src/transcoders/MediaTranscoder.js:27:31)
at Prism.transcode (/home/test/node_modules/prism-media/src/Prism.js:13:28)
at AudioPlayer.playUnknownStream (/home/test/node_modules/discord.js/src/client/voice/player/AudioPlayer.js:97:35)
at VoiceConnection.playStream (/home/test/node_modules/discord.js/src/client/voice/VoiceConnection.js:478:24)
at /home/test/indextest.js:21:20
at processTicksAndRejections (internal/process/task_queues.js:94:5)
Le chemin est bon ?
bah si ton index ou il y a ton code et au meme endroit que ton fichiier
tu peux sois faire ../test.mp3 ou ./test.mp3
euhh no pas le premier
juste ./test.mp3
ouais c'est ça que j'avais fait mais sa marche pas

au pire je peux mettre un lien ?
test yes
et du coup dans le
connection.playStream(stream);
ne fonctionne pas ?
nop la se me remet l'ancienne erreur
TypeError [ERR_INVALID_ARG_TYPE]: The "file" argument must be of type string. Received type object
at validateString (internal/validators.js:112:11)
at normalizeSpawnArguments (child_process.js:398:3)
at Object.spawn (child_process.js:534:16)
at new FfmpegProcess (/home/test/node_modules/prism-media/src/transcoders/ffmpeg/FfmpegProcess.js:14:33)
at FfmpegTranscoder.transcode (/home/test/node_modules/prism-media/src/transcoders/ffmpeg/Ffmpeg.js:34:18)
at MediaTranscoder.transcode (/home/test/node_modules/prism-media/src/transcoders/MediaTranscoder.js:27:31)
at Prism.transcode (/home/test/node_modules/prism-media/src/Prism.js:13:28)
at AudioPlayer.playUnknownStream (/home/test/node_modules/discord.js/src/client/voice/player/AudioPlayer.js:97:35)
at VoiceConnection.playStream (/home/test/node_modules/discord.js/src/client/voice/VoiceConnection.js:478:24)
at /home/test/indextest.js:21:20 {
code: 'ERR_INVALID_ARG_TYPE'
}
Bonjour quelqu'un aurait un tuto ou la vague idée de comment relier un bot discord à un site web pour que depuis celui-ci on puisse modifier certaines commandes ou rajouter des commandes custom.
ok merci je vais voir ca
C'est un gros morceau hein 👀
euh notre bot est en python jsp si se que tu me dis est compatible
je sais
c'est un projet a pusieurs
Je connais pas les libs/techno en python, mais ça doit forcement exister
pour le BAC
Après ce que moi je t'ai donné c'est pour faire du realtime, tu peux très bien faire 2 applis distincts qui utilise la même base de données 😉
Ton site, ton bot, même base de données
Pas de temps réel sur certains points, mais ça fera le taff
Surtout pour un projet de BAC
ouais alors on avait prevu de faire sur la meme base de donnee
bon je vais voir merci
Bon courage, si tu as besoin d'aide, tu sais ou sonner -> 
j'ai decouvert ce salon ily a une semaine et je pense que je vais souvent parler dedans
oui les sockets existent en python
mais c'est bcp + relou
Mais en gros @cyan igloo tu veux que quand tu fais une action sur ton site, hop répercussion sur le discord ?
en gros comme pour mee6 ou yagpdb pouvoir creer des commandes custom via le site
Normal que dans les logs du serveur il n'y a que les gens qui ont le droit de voir les logs ?
Enfin genre ont vois que les logs du staff sur discord :/
Tu veux dire ici ? @keen narwhal
Parce que les seuls gens qui exécutent des actions qui sont notées dans les logs du serveur c'est (pour toi) les gens qui ont accès au logs
en fait quand quelqu'un supprime son message, ça va pas dans les logs
Mais c'est nul ....
C'est considéré comme de l'édition de message
Car je ne peut pas savoir qui a delete le message
Sa dis moi alors que c'est lui même qui la delete
et en soi dans les politiques Discord t'as pas le droit de stocker quelque chose qu'un utilisateur a édité ou supprimé
C'est comme ça
Bruhh
Il faudrait que je retrouve l'article mais voilà
Pas sympas 😢
if (entry.executor.bot) return;
C'est quoi pour check si executor est un bot ?
La personne qui as exécuté l'action ?
c'est pas ce que je te demande
ça représente quoi concrètement
Bonsoir,
Est ce possible qu'a partir de l'éxècution d'une commande, le bot m'envoie le résultat d'une commande faites dans la CMD (Rasbian)
@timid loom le nom de la personne
Salut j ai un pb avec mon bot
je suis entrain de faire une commende play mes elle marche pas
Super mais genre tu remarque pas un problème ?
La solution doit être une solution a mon avis
tu parle a qui ?
Bah a toi
. . .
Ta demande n'est pas du tous précise
En quel langage ?
Le code ?
Les erreurs ?
Enfin, tu pense réellement que l'on peut t'aider avec les seuls infos que tu nous à donner ?😕
oui pas con
c est du js
const ytdl = require('ytdl-core');
module.exports.run = async (client, message, args, op) => {
if (!message.member.voiceChannel) return message.channel.send(":x: Veuillez-vous connecter a un salon vocal !");
if (message.guild.me.voiceChannel) return message.channel.send(":x: Désolé le bot est déjà connecté à un salon vocal !");
if (!args[0]) return message.channel.send(":x: Veuillez indiquer un URL !");
let validate = await ytdl.validateURL(args[0]);
if (!validate) return message.channel.send("L'URL ne semble pas etre valide.");
let info = await ytdl.getInfo(args[0]);
let connection = await message.member.voiceChannel.join();
let dispatcher = await connection.play(ytdl(args[0], { filter: 'audioonly' }));
message.channel.send(`Now Playing ${info.title}`);
}
module.exports.help = {
name: "play"
}
l'erreur
(node:11224) UnhandledPromiseRejectionWarning: Error: FFMPEG not found
at Function.selectFfmpegCommand (c:\Users\Utilisateur\Desktop\Bot all\Bot test\node_modules\prism-media\src\transcoders\ffmpeg\Ffmpeg.js:46:13)
at new FfmpegTranscoder (c:\Users\Utilisateur\Desktop\Bot all\Bot test\node_modules\prism-media\src\transcoders\ffmpeg\Ffmpeg.js:7:37)
at new MediaTranscoder (c:\Users\Utilisateur\Desktop\Bot all\Bot test\node_modules\prism-media\src\transcoders\MediaTranscoder.js:10:19)
at new Prism (c:\Users\Utilisateur\Desktop\Bot all\Bot test\node_modules\prism-media\src\Prism.js:5:23)
at new VoiceConnection (c:\Users\Utilisateur\Desktop\Bot all\Bot test\node_modules\discord.js\src\client\voice\VoiceConnection.js:46:18)
at c:\Users\Utilisateur\Desktop\Bot all\Bot test\node_modules\discord.js\src\client\voice\ClientVoiceManager.js:63:22
at new Promise (<anonymous>)
at ClientVoiceManager.joinChannel (c:\Users\Utilisateur\Desktop\Bot all\Bot test\node_modules\discord.js\src\client\voice\ClientVoiceManager.js:45:12)
at VoiceChannel.join (c:\Users\Utilisateur\Desktop\Bot all\Bot test\node_modules\discord.js\src\structures\VoiceChannel.js:130:30)
at Object.module.exports.run (c:\Users\Utilisateur\Desktop\Bot all\Bot test\Commandes\play.js:16:56)
warning.js:27
(node:11224) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
warning.js:27
(node:11224) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Tu n'a pas ffmpeg
et quand j instale ffmpeg
ffmpeg-static
il me met cette erreur
PS C:\Users\Utilisateur\Desktop\Bot all\Bot test> npm i ytdl-core
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\Utilisateur\Desktop\Bot all\Bot test\package.json'
npm WARN discord.js@11.5.1 requires a peer of @discordjs/uws@^10.149.0 but none is installed. You must install peer dependencies yourself.
npm WARN Bot test No description
npm WARN Bot test No repository field.
npm WARN Bot test No README data
npm WARN Bot test No license field.
npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm ERR! notsup Valid OS: darwin
npm ERR! notsup Valid Arch: any
npm ERR! notsup Actual OS: win32
npm ERR! notsup Actual Arch: x64
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Utilisateur\AppData\Roaming\npm-cache\_logs\2020-02-24T15_56_50_637Z-debug.log```
et sa c est quand j effectue la commande
merci
Yo, petit problème
voici le code client.on("guildMemberAdd", user =>{
let joinEmbed = new Discord.RichEmbed()
.setColor(" #1eec37")
.setAuthor(user.user.username, user.user.displayAvatarURL)
.setDescription("✅ Bienvenue" + user + " sur le serveur" + user.guild.name + " !")
.setFooter(" Discord de la Moreau | Moreau Bot | Dev by Stan")
member.guild.channels.get('675670438927663124').send(joinEmbed);
})
et ça ne fonctionne point avec vous une solution ?
ReferenceError: member is not defined at Client.<anonymous> (c:\Users\Propriétaire\Desktop\Moreau Bot\index.js:127:5) at Client.emit (events.js:311:20) at Guild._addMember (c:\Users\Propriétaire\Desktop\Moreau Bot\node_modules\discord.js\src\structures\Guild.js:1298:19) at GuildMemberAddHandler.handle (c:\Users\Propriétaire\Desktop\Moreau Bot\node_modules\discord.js\src\client\websocket\packets\handlers\GuildMemberAdd.js:12:13) at WebSocketPacketManager.handle (c:\Users\Propriétaire\Desktop\Moreau Bot\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:105:65) at WebSocketConnection.onPacket (c:\Users\Propriétaire\Desktop\Moreau Bot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35) at WebSocketConnection.onMessage (c:\Users\Propriétaire\Desktop\Moreau Bot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17) at WebSocket.onMessage (c:\Users\Propriétaire\Desktop\Moreau Bot\node_modules\ws\lib\event-target.js:120:16) at WebSocket.emit (events.js:311:20) at Receiver.receiverOnMessage (c:\Users\Propriétaire\Desktop\Moreau Bot\node_modules\ws\lib\websocket.js:789:20)
l’erreur est plutôt explicite
member n’existe pas
dans ton code, user fait office de membre
donc c’est lui que tu dois use
donc à la place de user je mets member ?
Oui
fonctionne pas
C t l’inverse
c'est à dire ?
bah a la place de member tu met user
J'ai une question possible de crée un bot Discord en C ou C++ ?
Je crois pas qu'il y ait des libs en C ou C++, mais en même temps ces langages sont plus dédiés à des applications qu'à des bots
Y a une liste ici de librairie
Après je pense que c'est possible de créer un bot en C ou en C++ mais je suis pas sûr que ça fonctionne bien quoi
D'accord merci j'vais testé pour voir 😉
Bah pour en faire un, comprends bien qu'il faut que tu fasse des requêtes REST ou WS sur l'api
Et bon bah typiquement une lib ça te permet de pas t'occuper de tout ça, refaire tout le système ça va te prendre beaucoup de temps
que tu le fasses en C ou en Go ou en je sais pas quoi
A ouais c'est dans ce délire la, comme tu le dit ça va va prendre beaucoup de temps pour pas grand chose j'vais retourné sur du bon vieux js 😉
Bonjour,
Je n'arrive pas à récupérer un message par son ID avec fetchMessage...
Quelqu'un aurait un exemple pour m'aider ?
message.channel.fetchMessage(id)
Bonsoir je cherche à reload un message reaction après que le bot est démarrer car à chaque reboot du bot la réaction ne fonctionne plus
En gros de base l'event ne fonctionne que pour les messages dans le cache. Pour permettre de regarder tous les messages, il faut utiliser l'event 'raw', qui n'est pas documenté. Y a un bon tuto ici : https://github.com/AnIdiotsGuide/discordjs-bot-guide/blob/master/coding-guides/raw-events.md
Alternativement, tu peux cacher le message avant de l'utiliser
avec quelque chose du genre
client.channels.get(chanid).fetchMessage(msgid);```
dans ton event 'ready' par exemple
Mais ça devient vite lourd si tu veux le faire sur beaucoup de messages
Salut, je galère à faire fonctionner mon bot, je m'explique : Je veux que mon bot, lorsqu'un utilisateur rejoint mon serveur, lui envoie un message en privée ET dans un salon du discord.
Mon code ressemble à ça pour le moment :
const { Client } = require("discord.js");
const { TOKEN, PREFIX } = require("./config");
const client = new Client();
client.on("message", msg => {
if (msg.author.bot) return;
const args = msg.content.split(/ +/g);
const cmd = args.shift().toLowerCase();
if (cmd === `${PREFIX}ping`) msg.channel.send("Pong!");
});
client.on("guildMemberAdd", member => {
member.send("Salut !");
const channel = client.channels.get(682139234362064959);
channel.send(`${member} a rejoint le serveur !`);
});
client.login(TOKEN);
client.on("ready", () => { console.log(`Connecté en tant que ${client.user.tag} !`); });
client.on("error", console.error);
client.on("warn", console.warn);
client.on("debug", console.log);
Le problème c'est que lorsque je lance mon bot, tout se passe bien, mais une fois que je connecte mon double compte le bot s'éteint avec ce message d'erreur :
C:\Users\Syno\Desktop\Synobot 2.0\main.js:14
const channel = client.channels.get(682139234362064959);
^
TypeError: client.channels.get is not a function
at Client.<anonymous> (C:\Users\Syno\Desktop\Synobot 2.0\main.js:14:35)
at Client.emit (events.js:311:20)
at Object.module.exports [as GUILD_MEMBER_ADD] (C:\Users\Syno\Desktop\Synobot 2.0\node_modules\discord.js\src\client\websocket\handlers\GUILD_MEMBER_ADD.js:16:14)
at WebSocketManager.handlePacket (C:\Users\Syno\Desktop\Synobot 2.0\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (C:\Users\Syno\Desktop\Synobot 2.0\node_modules\discord.js\src\client\websocket\WebSocketShard.js:437:22)
at WebSocketShard.onMessage (C:\Users\Syno\Desktop\Synobot 2.0\node_modules\discord.js\src\client\websocket\WebSocketShard.js:295:10)
at WebSocket.onMessage (C:\Users\Syno\Desktop\Synobot 2.0\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:311:20)
at Receiver.receiverOnMessage (C:\Users\Syno\Desktop\Synobot 2.0\node_modules\ws\lib\websocket.js:800:20)
at Receiver.emit (events.js:311:20)
Si quelqu'un a une piste je suis preneur, sachant que j'ai essayé aussi d'utiliser client.channels.find()
Rajoute des guillemets
A ton id
Et tu doit présicer quel Guild
Car la ton bot ne sait pas sur qu'elle Guild il doit get/find l'id @icy salmon
Sachant qu'il est uniquement sur mon discord, et que je compte pas le partager, c'est nécessaire quand même sachant qu'il y a client ?
J'ai essayé avec guild.client.channels.get() et client.guilds.channels.get() mais ça ne fonctionne toujours pas
Tu doit spécifié quel Guild
Quand tu dis qu'une personne rejoint le discord
Dis toi que c'est quand une personne rejoins un discours et non le tien en particulier
Oook
Donc il te faut define la Guild
Et tu peux pas mettre un client.guilds pour un Guildmemberadd
Donc je dois faire une déclaration de variable guild qui va stocker le discord ?
Oui
D'acc je testerais ça après merci beaucoup
const GuildServer = client.guilds.get(IdDeTaGuild);```
Et du coup tu n'a plus qu'a faire
const channel = GuildServer.channels.get(682139234362064959);
channel.send(`${member} a rejoint le serveur !`);
@icy salmon
Fireless, l'id d'un channel est unique donc inutile de mettre un guilds.get 🤔
TypeError: client.guilds.get is not a function
@timid loom merci, mais l'id message change à chaque fois non ?
envoie ton code @icy salmon
@floral bolt Non
Enfin
Chaque message a sont ID a lui
Salut j ai un pb avec ma commande
a chaque fois que je la fais elle me rep je ne trouve pas l'id
et je n'ai pas d erreur dans la console
Bah c'est le même qu'avant, mais avec ta proposition @keen narwhal
C'est cette méthode pour récupérer le channel vocal où est le bot ?
var botChannel = client.voiceChannel;
Il doit être sur la guild est pas sur le client
puisque tu peux connecter ton bot à plusieurs vocaux
Donc
var botChannel = message.guild.voiceChannel;
après regarde la doc hein
Une méthode sans parenthèse, ça s'appelle une property au passage (ça c'est pour la variable/const de l'autre fois
sait on jamais si des débutants lisent ça...)
Et toc
play.js
const ytdl = require('ytdl-core');
exports.run = async (client, message, args) => {
if (!args[0]) return message.channel.send("Spécifie le lien de la musique");
const connection = await message.member.voiceChannel.join();
const dispatcher = connection.playStream(ytdl(args[0], { filter:'audio' }), { volume: 0.50 });
}
volume.js
const dispatcher = require('./play.js')(dispatcher);
exports.run = function (client, args) {
dispatcher.setVolume(args[0]);
}
erreur lors de la commande volume
ReferenceError: Cannot access 'dispatcher' before initialization
Tu appelles la fonction de ton fichier play.js avec une variable que tu est entrain d’initialiser
Salut j'ai repris mon bot suggestion et pour le moment j'ai encore un problème, j'arrive pas à choper le nombre exact de réactions sur un message, je vous montre le code:
const filter1 = (reaction) => reaction.emoji.name === msg.guild.emojis.get('667926682363101184').name;
msg.awaitReactions(filter1, {time: args[1]*1000}).then(collected => {
reac1 = collected.size
console.log(reac1)
});
et ça me sort 1 à chaque fois, j'ai déjà testé length et count et ça me sortait undefined (quand je print que collected et que je regarde dans la table qui est sortie, le length est aussi sur 1)
Bonjour j'aimerais savoir comment récuperer l'id du System Messages Channel (channel ou les gens arrivent).
l'ip ?
exports.run = async (client, message, args, guild) => {
function Board(userstag) {
message.channel.send(userstag);
}
if (args[0] || !args[1]) {
guild.roles.get(args[0]).members.map(u => {
let userstag = u.user.tag;
Board(userstag)
}
);
} else if (args[1] || !args[2]) {
guild.roles.get(args[0] && args[1]).members.map(u => {
let userstag = u.user.tag;
Board(userstag)
}
);
} else if (args[2] || !args[3]) {
guild.roles.get(args[0] && args[1]).members.map(u => {
let userstag = u.user.tag;
Board(userstag)
}
);
}
}```
Le problème est que ma fonction (Board) envoie chaque tag des joueurs un par un, et je ne sait pas et je ne trouve pas comment tous stocké pour l'implémenter dans un embed par la suite
@keen narwhal dans ta boucle tu push tout dans un tableau et ensuite tu l’envoies à ta fonction Board
D'accord, je vais faire mes recherche avec t'es mot clé, Ty
Bonsoir, avez-vous une idée de la facon de fetch un message dans un dmchannel d'une personne au démarrage du bot
tu fais ton fetch dans l'event ready
Bah
Je sais ca mais le problème, c'est que je ne sais pas comment trouver le channel
je sais fetch le message ect, mais je ne trouve pas le dmchannel
faut que t'ai l'ID de l'user d'abord
pour le fetch et ensuite récupérer son dmChannel
Bah pour l'instant j'ai essayé ca mais je crois que c'est bizarre
client.users.get('524985759695110145').fetchMessage('683057724883599385')```
client.users.get('524985759695110145').dmChannel```
me return null
Bon ducoup merci guthen ça marche
Cliquez sur 📄 pour accéder au message.
Salut j'ai repris mon bot suggestion et pour le moment j'ai encore un problème, j'arrive pas à choper le nombre exact de réactions sur un message, je vous montre le code:
const filter1 = (reaction) => reaction.emoji.name === msg.guild.emojis.get('667926682363101184').name;
msg.awaitReactions(filter1, {time: args[1]*1000}).then(collected => {
reac1 = collected.size
console.log(reac1)
});
et ça me sort 1 à chaque fois, j'ai déjà testé length et count et ça me sortait undefined (quand je print que collected et que je regarde dans la table qui est sortie, le length est aussi sur 1)
Quelqu'un sait du coup ?
et si tu utilises message.reactions? 🤔
genre tu boucles dessus avec un compteur que t’incrémente
normalement il a pas besoin de boucler il fait length ou count ça marche si c’est le bonruc
je crois
let size = msg.reactions.get(emojiId).count;```
👀
ilfolirladoc
@fringe wyvern
@spring dock g dis la boucle pour qu’il compte uniquement les emojis qui l’intéresse et pas tous 
ALED
Je fais des requêtes SQL dans mon bot via une fonction custom, le soucis c'est que quand je fais appel à ma fonction que je stocke dans une variable, bah la requête SQL prend du temps et donc ma variable est égale à undefined
Comment je peux faire en sorte que le code en dessous ne soit pas exécuté tant que la variable ne soit pas... une réponse ? 🙂
.then
J'ai essayé avec await mais j'pige rien
Mais je peux pas .then sur du undefined
J'ai déjà essayé
Moi je sais que sa avait fonctionner pourtant sur un channel.get
Ouais mais là c'est une requête SQL
Et ça marche pas j'ai déjà try
Du coup j'suis paumé :/
Je peux me débrouiller avec des interval mais bon aled
const ab = await func();
<ton code avec le ab>...
Si ça marche toujours pas faudrait passer par une promise il me semble 
Il faut que tu déclares ta fonction en asynchrone aussi
async getData () => {}
Et dedans ton await
Screen ta fonction qu’on voit comprend tu procèdes exactement
// Send a SQL request
sendSQL: function sendSQL(sqlRequest) {
// Check con
if (!sqlCon) {
return false;
}
// Send SQL request
sqlCon.query(sqlRequest, (err, rows) => {
if (err) throw err;
return rows;
});
}
je suis sur tel du coup compliqué la lecture là mais ce serait sans dire de connerie
async function sendSQL()
Et le return rows; se transforme en return await rows; ?
tu peux screen plutôt please ? Et où est ce que tu l’appelles aussi
Ok je te screen ça
Que je puisse avoir une meilleure visibilité car la c’est galère 😂
Donc ma fonction :


