#javascript-typescript
1 messages · Page 46 of 1
Donc console.log(message.MessageReaction.users); ?
non, quand je veux dire MessageReaction c'est la classe de l'objet

toi t'obtiens un ReactionManager
voir avec le cache du manager đ€
mĂȘme si le mieux c'est d'utiliser resolve dans l'idĂ©e
console.log(message.cache.count('â
')); ?
Tu veux toujours récupérer le user ?
Oui
Oui sa je suis d'accord
Mais c'est que lĂ je suis sur le moment oĂč quand le bot est on, il vĂ©rifie les joueurs qui ont rĂ©agis pour vĂ©rifier qu'il n'en a pas louper si jamais il a Ă©tĂ© off
Tu as fais ton resolve pour récup les réactions ?
J'arrive pas à récupérer les réactions justement
J'arrive pas Ă comprendre comment faire
Tkt, merci quand mĂȘme đ
Mais en gros lĂ j'ai fais sa :
let message = await bot.guilds.cache.get(guild).channels.cache.get(channelID).messages.fetch(messageID);
message.react('â
')
console.log(message.cache.users('â
'));
Et maintenant je cherche comment trouver tout les users qui ont rĂ©agis avec le â
look ton message
tu dois avoir une clé reactions dedans
donc log ton .reactions, et tu auras tt les users qui ont react
message.reactions.get( 'â
' ).users.array()
faut pas donner les réponses faut laisser chercher 
screen ton code actuel
Et quand je mets le code de Arkov dans une var The user aborted a request.
J'crois que j'ai vraiment une connexion de merde
C'est revenu ,je vais retest
HonnĂȘtement je connais pas les methods de discordjs, du coup si je devais le faire en vanilla sans use leurs trucs, ce serait juste une boucle sur les users dans reactions
Reactions est un tableau, lĂ du coup dedans tu auras seulement une entrĂ©e pour l'emoji â
donc tu peux sois partir du principe que ce sera tjrs l'index 0 sois tu veux vérifier et tu .find
Mais doit forcément y avoir des trucs de discord qui te permettent directement de gérer ces trucs là , look juste bien la doc
Yes, je vais faire sa, mais j'avoue que j'ai toujours du mal avec la doc, merci đ
pour le "message.reactions.get" faut mettre "message.reactions.cache.get"
Bonjour, aujourd'hui, j'ai créer une commande mais ça m'a mis l'error :
TypeError: Cannot read property 'name' of undefined mais je comprends pas d'oĂč vient l'error parce que j'ai bien mis
commands.forEach((f) => {
let command = require(`./commands/${f}`);
console.error(`${f} Commande chargé !`);
client.commands.set(command.help.name, command);
});``` Donc voilĂ :/
le console error pour afficher un log positif 
log juste ton command et tu verras si il est vide ou non
Mais lĂ il te dit juste quâil ne peut pas lire le .name car ton command.help ne doit pas exister
Aussi, je voulais savoir comment serait-t'il possible d'envoyé un message à chaque minute qui dit l'heure ? Est-ce que vous avez des idées comment je pourrais réaliser ça ?
Bah en gros le bot que je veux faire envoie un message Ă chaque minutes pour dire l'heure qu'il est
( En vrai dit comme ça c'est useless mais voilà xD, je veux seulement savoir comment je peux faire pour que mon bot envoie un message chaque minute )
HonnĂȘtement, c'est useless
Et sinon
Setinterval
Regarde la doc
đ
C'est du js de base
Pas discord
Comment je fais pour récupérer l'heure d'un fuseau horaire?
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Date/toLocaleTimeString et https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Date/now
La méthode toLocaleTimeString() renvoie une chaine de caractÚres correspondant à l'heure dans la date, exprimée selon une locale. Les arguments locales et options permettent aux applications de définir le langage utilisé pour les conventions de format et permettent de personna...
Si j'ai bien compris ta question
Bonjour, est ce que quelqu'un ici, serait s'il est possible d'enlever la permission a un seul utilisateur de voir tous les salons ?
J'ai essayé user.permissions.remove mais du coup, ça ne fait rien
pas sur de ce que je vais dire, mais je pense que c'est le contraire il faut éditer chaque salon pour dire que lui ne peut pas les voirs
Il faut peut ĂȘtre faire une boucle de chaque salons ? Mais est ce qu'il y'a pas mieux ?
ou alors tu crées un role qui a accÚs à rien et tu lui set
Je pense que c'est ce que je vais faire
Bonjour, j'ai essayé il y a quelques jours d'utiliser la librairie discord avec python mais malheureusement ça n'a pas fonctionné. Je ne peux donc pas importer dans un fichier cette librairie. J'aimerai donc savoir si l'un d'entre vous avait réussi à importer cette libraire !
Quelqu'un saurai pq ça me sort bdd.query is not a function comme erreur ?
bdd.query(`SELECT * FROM findword `, (err) => {
if (err) throw err;
while (Y !== t) {
console.log('ok');
if(term == mot2[Y]) {
J++;
const K = term + J;
console.log('K =' + K);
console.log('Y =' + Y);
console.log('J =' + J);
sql = `INSERT INTO warn (numero, position) VALUES ('${K}', '${Y}')`;
db.query(sql);
Y++;
console.log('+1 :' + Y);
}
else {
Y++;
console.log('aucun :' + Y);
}
}
});
bdd est défini dans le fichier ?
dans mon index yep
et ce code est dans l'index ?
Car si tu es sur un autre fichier que index.js, c'est normal qu'il ai pas accĂšs Ă bdd si tu n'as rien fais pour
nan mais j'ai exporter la variable bdd dans le fichier oĂč j'ai mon code
Console log ta variable bdd vĂ©rifiez quâelle est pas Ă undefined
J'ai une question, c'est plus opti le JSON ou avec des database internet ?
tout dépend de ce que tu veux faire @red snow
Console log ta variable bdd vĂ©rifiez quâelle est pas Ă undefined
@slim anvil c'est pas undefined mais ça donne qqch de bizarre, genre toute mes cmd du bot, donc dois y avoir un blÚme avec la connection
tu dois pas envoyer la bonne variable je pense pour qu'il te retourne tt tes fichiers
oui c'est ça, pourtant la variable est envoyĂ© comme pour mon autre bot oĂč ça marchais parfaitement.
problÚme résolu, j'ai réussi à bien envoyer la variable
@cyan iron je voulais faire un bot pour un jeu RP sur discord
Donc bot qui stocke PV, Attaque, Défense, lvl, et xp
Et le monstre qu'il combat etc
J'ai fais avec une BDD Json
Je sais plus comment elle s'appelle att
ça change quoi?
Ta bdd sera en ligne
Et non mais je vais en payer un, la je fais en local
ça change quoi la bdd json a mysql*
Pourquoi payer j'ai un hébergeur gratuit stv
Qui fonctionne trĂšs bien
Je t'envoie en MP
Je vais aller chez un hĂ©bergeur bot qui fait aussi BDD, sinon j'aurais pris gratuit aussi tkt đ
Vous savez comment récupéré une colonne d'une base de donnée SQL, sous forme de tableau ?
mentionnez moi dans la réponse svp
Hello, quelqu'un aurait une idée de qu'est ce que je pourrais utiliser pour faire un systÚme d'inventaire, avec des items qui auraient trois paramÚtres : leur attaque, leur défense, leur catégorie
Donc deux Integer, et un String
Pour un inventaire ?
Mais j'aimerais bien, que mes items soient déjà paramétré dans un fichier
Et que j'ai juste sur le code, mettre par exemple baton.price
Pour avoir le prix
Ou baton.atk des trucs comme ça quoi
Tu peux stocker les profil des gens en bdd, mais avoir un fichier json pour les données qui ne bougent pas
éviter de faire un appel a la base si tu peux l'avoir dans un json propre
Mais que si ce sont des valeurs qui ne bougent pas
Oui mais d'apres ce que j'ai compris les données bougent
Non ça bouge pas
Bah le stocke pas alors đ
Ce qui bouge c'est le nombre d'items qu'on les gens par exemple
Oui donc ton "inventaire" met le dans un json propre
Hein
Donc par exemple
baton: [ atk: 10 price: 2 def: 0 ]
Oui
yup
Ok merci
Et pour que le joueur ait son inventaire vous pensez que je fais MySQL du coup ?
bah tu vas voir pas trop compliqué, surtout que la tu n'auras que de l'update et du get finalement
Nan
Oui et des colonnes par item
et ensuite faire une jointure avec une table "inventory"
ou alors directement une table inventory avec le discord_id sinon
non
c'est juste préparer son code si jamais il veut rajouter d'autres table plus tard
^^'
Donc, je fais une table avec les informations utilisateur
Ou sinon il fait avec une seule table đ€·ââïž
Puis une autre table inventory et je mets quoi j'ai pas trop compris ?
comme tu le sens superburger si tu veux faire un truc simple
tu crées juste une table inventory
ou tu stockeras dedans les entrées suivante
discord_id pour pouvoir get la data du user, puis ton "baton_atk" etc
Ok, merci !
Bonjour, auriez vous une idée de comment faire un invit tracker sur la V12 de Discordjs?
Bonjour vous savez comment je pourrais faire en sorte que lorsque par exemple je fasse a!say Test ( Se soit le titre en gras du embed ) Salut ( Se soit la description du embed ) ?
Au lieu de mettre test en dessous ça mettrait bonjour
Faut que tu mettes un paramĂštre dans ton texte pour dĂ©terminer Ă quel moment câest le dĂ©but de ta description ou fin de ton titre
Sauf si ton titre fait toujours le mĂȘme nombre de mots ce que je pense pas
bah en gros tu aurais un /say Salut Ă tous! / Blablabla
Et tu vas venir transformer en tableau chaque string en fonction de ou de trouce le /
Ou autre chose peu importe
Tu aurais la ligne pour que je puisse le faire ?
Parce que comment tu me l'expliques je comprend pas vraiment
Tu dois faire un split de l'argument qui te servira pour couper la phrase en deux
Par exemple,!say Titre test / Je suis une description, bonjour
La, tu devras mettre comme paramĂštre "/" dans le split
voilĂ
Oh okay
et du coup en retour tu auras ['test', 'je suis une ....']
Gentille fille

x')
Je comprend pas ;-;
J'arrive pas Ă formuler ce que vous me dites en code
Je fais genre js .setTitle(args.split('/').join(" ")) .setDescription(args.slice(1).join(" ")); ?
ce serait plus
const title = args.splice('/')[0]
const description = args.splice('/')[1]
embed
.setTitle(title)
.setDescription(description)
avec toutes les vérifications qui vont bien avant par ex
le embed c'est ton embed mais yes tu adaptes Ă ton truc
et log ton args please
;-;
tu le mets jsute comme ça
console.log(args)
et tu me screen ce que tu reçois quand tu fais ta commande
yes mais met des textes
Merci beaucoup de ton aide ( MĂȘme si on a pas fini x') )
/say blabla dkedkekdek
yes mais dans ton log tu as quoi
dans args tu as rien ? chelou
tu envoies bien tes args ? car si tu mets ta commande avec du texte derriĂšre et que tu n'as rien dans ton tableau bizarre
Look ton envoie d'args dans ton index a tes différentes commandes
ou log ton message aussi
Elle sert Ă quoi la commande say pour un bot ?
Envoyé un embed
j'ai un petit soucis quand j'essaye de lancer mon bot alors d'abord le le lance avec forever ça marche pas donc je test avec "node index.js" toujours pas mais en revanche sur windows sa marche mais voila je me doute que cela vient du fait que des chemins d'accÚs son diffÚrent mais je sais pas oû trouver ça...
mais la ça me met une erreur à cette ligne alors que tout va bien enfaite
voila vous avez tout
@slim anvil Il faut que je mettes js console.log(message) ?
oops, pas regardé, yes et regarde ce que tu as dedans
@burnt perch je pense que ça vient de ton callback dans lâevent handler de message qui nâest pas en async 
comme tâutilise await đ€
oui il fonctionne pas ça c'est sur
mais il est dans la commande /say lĂ
pas sur que la requete la ai un impacte
@west plover ```
root@17788:/home/topbotsandrp# node index.js
/home/topbotsandrp/index.js:15
client.on('message',async msg => {
^^^^^
SyntaxError: missing ) after argument list
at Object.exports.runInThisContext (vm.js:76:16)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
root@17788:/home/topbotsandrp#
ou si quelqu'un peut m'aider mdr peut importe
je suis un jeune débutant avec discord.js
Moi?
no Loc, alex toi essaye de vérifier que tu envoie bien ton paramÚtre args
car si tu mets bien des textes apres ta commande et que tu les recois pas lros de ta commande, c'est que tu dois pas l'envoyer ou pas bien je pense
Att
non et sinon vs code me l'aurai fait savoir donc je sĂšche un peut
Toujours sur le problĂšme qui fait que tu n'as pas d'arguments ?
loc screen ton code qu'on voit le truc please
@red snow Yep
ça alex c'est normal que tu es undefined
tant que tu récupereras pas tes paramÚtres
Pourtant le titre est Jamie
tu as vraiment rien dans args ? 
Yep
Envoie le code qui permet de run la commande
?
Pourquoi splice?
ui c split
Faut pas faire split ?
yes yes pas vu
Aaaaa
Du coup Alex, tu fais args.split("/").splice(1).join(" ")
Je t'explique
Att
déolé de mettre des screens au millieur comme ça
du coup alex
tu fais juste
const title = args.split('/')[0]
const desc = args.split('/')[1]
A mais ui je suis bĂȘte
Vu qu'on split pas les espaces ^^
Et fais pas avec args mais avec message
Parce que args est déjà un tableau
Ah c'est deja un tableau args
sinon tu join ton args avant
dans une variable avant why not
Mais avec message tu fais message.split("/").slice(5)
Splice*
Non slice
Non jsp plus
il va devoir cut sa commande et tout
du coup peut etre plus simple de use args qui a deja que les trucs utiles
du coup alex pour tester ensuite on optimisera
rajoute juste .join(' ')
A ui avec le join
ui
.setTitle(args.join(' ').split('/')[0]
.setDescription(args.join(' ').split('/')[1]
Ou
const title = args.join(' ').split('/')[0]
const desc = args.join(' ').split('/')[1]
.setTitle(title)
.setDescription(desc)
casse la tĂȘte lui je sais que c'est un truc tout con comme d'hab mais je trouve pas
2e
yes les deux reviennent au meme juste une histoire de visuel
ok loc
essaye tout bĂȘtement, meme si ca me parait impossible
de mettre ton paramĂštre entre ()
le msg
normalement pas utile mais bon, testons un peu tout
ça marche j'ai déjà test je crois mais vai essayer
marche po
mais ce qui est bizzare c'est que sur window le code marche et sur mon vps linux non je demande pas si c'est pas une histoire de chemin....
ou de version de node ?
node -v sur ton ordi et ton vps voir si il y a une diff dĂ©jĂ
v6.9.2
ah !
ok je fait fait ça
c bon
root@17788:/home/topbotsandrp# node -v
v10.2.0
c bon !!
c'était ça ! @slim anvil et encore désolé du dérangement
Nice
Gg
Enzo le sauveur
Bon maintenant faut que je m'attaque Ă la commande complexe de mon bot ;-;
CĂ d?
Un message qui s'envoit Ă chaque minute qui dit l'heure
du coup c'est pas une commande
tu vas juste fetch ton channel, et faire un setInterval en renvoyant le message avec l'heure
why
Qui suit des tuto's sur internet
;-;
Je lis le wiki mais j'arrive pas Ă comprendre comment le mettre en code
C'est normal il faut bien débuter quelque part ^^
C'est un peu ça mon problÚme
Dans ton ready, commence par get le channel ou tu veux envoyer le message des minutes
Mais je voudrais faire en sorte que la personne le choisisse en faisant une commande
Du coup prépare ta commande, tu lui demande de choisir son channel
Mmh
J'ai un soucis, je suis pas trÚs expérimenté dans le dev de bot mais j'ai qq base. Mais la j'ai un soucis. j'ai fais une commande pour un message de bienvenue, sauf que quand on personne arrive et bah ca me mets une erreur
j'ai pas compris ce que tu as dis apres le console.log
en gros console log ta variable member
Et vérifie que tu es bien déjà le guild avec dedans le channels
avant le const
Mais commente le reste dâailleurs Ă©viter dâavoir lâerreur et bien voir ton log
Ensuite relance ton bot et regarde ce que tu as dans ton log du member voir si tu as bien un .guild et dedans un .channels dĂ©jĂ
le bot c lancé
Regarde dans ta console ton log du coup
Ouvre le et regarde ce que je tâai dis ^^
Ok du coup remet ton code dâavant
et rajoutes juste un .array()
AprĂšs le channels
.array()
Putain cette galĂšre je viens de tout lire x)
@umbral marsh Comment as-tu défini ton member
Que vaut member ?
en vrai pas trop je voulais juste vérifier que son member était bien le bon truc
Mais là ça devrait ĂȘtre bon
Mais comme il galÚre un peu ça a pris bcp de message oui
Ouais mais c'est bizarre de mettre member.guild
Oui x)
Pas grave on est tous passĂ© par lĂ
ah bah ça câest ce quâil reçoit
Je sais pas comment il dĂ©fini ce quâil envoie ou quoi
Oui
Mais je pense qu'il a du mettre msg.member
Et donc msg.member.guild bah ça veut rien dire x)
Enfin je crois
lâobjet existe bien
Il lâa envoyĂ© plus haut
AH
Je tâai dis .array()
je dois faire quoi la ?
Mais tu ne lis pas
j'enleve le .find ?
non
Oui je sais @umbral marsh mais envoie nous la variable member
Que vaut-elle
et .array()
si mais jai du tout relire mdr
module.exports = (client, member) => {
const channel = member.guild.channels.array().find(ch => ch.name === "ăđăbienvenue");
channel.send(Bienvenue sur notre serveur, ${member}.);
};
Oui
j'ai fais ca
Re-test maintenant ?
module.exports.run non ?
Nan c'est pas le problĂšme lĂ
Ăa ne peut pas causer une error ?
Déjà qu'il est un peu perdu l'embrouille pas avec ça x)
Du coup Kocia?
..
Oui je sais @umbral marsh mais envoie nous la variable member
Que vaut-elle
oue chui un peu perdu c vrai
meh
je comprends pas ce que tu veux que jenvoie
La variable member mais que vaut elle quand tu la définis !
const member = ????
Dans ton fichier principal
dans mon idex ?
Sinon kocia met sur git ton truc, qu'on regarde le truc
github ?
mais si c'est pour envoyer un message tu devrais gérer le truc par l'event
client.on("guildMemberAdd", user => {
})
par ex
ou celui que tu veux
client.channels.get("ID de ton channel").send("Message")
oui mon vut c que quand une personne rejoins le serveur, ca mets un message
Du coup
bah alors tu fais ça
client.on("guildMemberAdd", user => {
client.channels.get("ID de ton channel").send("Bienvenue Ă '${user.tag}'")
})
je recreer un event juste avec le code de Wailrone?
tu fous ça dans ton index par ex
VoilĂ met ce que j'ai fait en haut
dans ton index.js comme te l'a dit Enzo et là surprise quand qqn rejoint ça marche
du coup je peux supprimer le truc que j'avais fais ?
oui
ca marche tjr pas ...
Euh pardon
comment s'appelle ton bot ?
Pas client ?
MOntre nous le tout début de ton code
je te montre mon index ?
Tu es sûr d'avoir le bon discord.js ?
eeeeh jsp pk
comment
Montre ton package.json s'il te plait
Et supprime ton screen au dessus, car il y a le token de ton bot...
Tu es dans ton package-lock.json
yes
Montre le package.json simple
bah c ca, je suis dedans
remplace les deux trucs de Discord par ça
"discord.js": "^11.6.4",
quelle truc
Donne le en code, je te remplace les trucs directement
le code du screen au dessus ?
L'intégralité de ton package, car il a l'air chelou
si il est en v12
jsp il me dise que c le probleme donc bon
Tu connais un minimum le JSON, tu sais le gérer ou pas ?
la v12 est claquée
Enfin je trouve perso
Nan mais il gÚre rien @wispy chasm il a commencé y'a 3jours à coder je pense
*developper
pas coder mdr mes yeux
Coder == Claqué
Développer == Cool
Bah je trouve qu'ils ont changé trop de truc
Coder == Claqué
Développer == Cool
@wispy chasm Oui x)
c'est le principe d'une version majeur
mais si il fait un nouveau bot
autant partir sur la version la plus récente
Moi non plus
Et pour l'instant j'ai eu de documentation pour la nouvelle version qui est assez propre
D'ailleurs je vais pas tarder Ă demander une augmentation de rĂŽle a Agent moi x)
Kocia tu fais un client.channels.fetch('id')
pour get ton channel
puis tu send ton message
C'est plus simple le get je trouve
je le mets ou ?
dans ton event memberAdd
C'est plus simple le get je trouve
@wispy chasm oui
client.on("guildMemberAdd", user => {
client.channels.get("705737840469737553").send("Bienvenue Ă '${user.tag}'")
})
dans ca
Bah ça parmet de dispatch entre les fetchMessage ou mĂȘme en ReactJS les fetch normaux
client.on("guildMemberAdd", user => {
const channel = client.channels.fetch("705737840469737553")
if (channel) {
channel.send('Hello')
}
})
vérifie quand meme que tu es un channel si jamais tu delete le channel ou quoi
bah du coup c'est plus logique un fetch
que un get
en js ta requete pour get c'est un fetch, sur git pareille tu git fetch aussi
aprÚs c'est plus parlant je trouve aussi le get, mais bon si ils ont changés c'est qu'il y a une raison
En JS tu requete quoi, les requetes Ajax, fonctionnent trĂšs bien en JS
ÂŻ_(ă)_/ÂŻ
aprÚs ça va les modifications de la v12 sont assez cool sur certains points, c'est juste que c'est le début donc oui quand il y a un blocage c'est plus compliqué car y a moins de doc
console.log ton channel
client.on("guildMemberAdd", user => {
console.log(channel);
const channel = client.channels.fetch("705737840469737553")
if (channel) {
channel.send('Hello')
}
})
comme ca
client.on("guildMemberAdd", async user => {
console.log(channel);
const channel = await client.channels.fetch("705737840469737553")
if (channel) {
channel.send('Hello')
}
})
retry
meh
Si tu utilise ça c'est plus :
client.on("guildMemberAdd", async user => {
console.log(channel);
const channel = await user.channels.fetch("705737840469737553")
if (channel) {
channel.send('Hello')
}
})
ah câest pas dans le client ?
C'est bon au final je lui ai fais installer l'ancienne version de Discord ^^
dans lâobjet user tu auras guild.channels
Yes
Dommage de repasser sous la 11 mais oki doki
si son truc marche et quâil est content
Bah pour l'instant toutes les documentations sont sur la 11
câest le principal
Perso mes bots sont sous la 11
Juste petite question comment je fais pour tester si mes résultats sont inexistants avec mysql
db.query(`SELECT * FROM warns WHERE warn_id = '${args[0]}'`, (err, rows) => {
Je console log rows qui me renvoie []
Mais impossible de faire en sorte de détecter cette absence de résultat
J'ai trouvé
Bonjour, sauriez vous pourquoi le code ci dessous fonctionne en local, et non sur VPS ?
`const botconfig = require('./botconfig.json');
const Discord = require('discord.js');
const bot = new Discord.Client({disableEveryone: true});
this.bot = bot;
bot.config = botconfig;
bot.rolesID = require('./rolesID.json');
bot.salonID = require('./salonID.json');
const invites = {};
const wait = require('util').promisify(setTimeout);
bot.wait = wait();
const {loadEvents} = require('./utils/eventHandler')
loadEvents(bot);
const fs = require('fs');
bot.commands = new Discord.Collection();
bot.aliases = new Discord.Collection();
fs.readdir("./commands/", (err, files) =>{
if(err) console.log(err)
let jsfile = files.filter(f => f.split(".").pop() === "js")
if(jsfile.length <= 0){
console.log("[LOGS] Aucune commande enregistrée !")
}
jsfile.forEach((f, i) =>{
let pull = require(`./commands/${f}`)
bot.commands.set(pull.config.name, pull);
if(!pull.config.aliases) return;
pull.config.aliases.forEach(alias => {
bot.aliases.set(alias, pull.config.name)
});
});
});
bot.login(botconfig.token); `
Mon erreur est qu'il considĂšre "files" la variable du fs.readdir comme undefined :/
@red snow version de node dĂ©jĂ regarde ça ou sinon les chemins « ./« qui peuvent ĂȘtre diffĂ©rent sur un serveur
Comment ça ils peuvent ĂȘtre diffĂ©rent ? C'est diffĂ©rent sous Linux ?
Je me rappelle avoir eu l'erreur pour un autre bot, je l'avais rĂ©glĂ© mais je ne me souviens plus comment đ€Šââïž
Parce que ma version node est a jour
Aujourd'hui, j'ai essayé de faire un message de bienvenue quand la personne rejoins bah ça envoies un message logique mais genre j'ai fait ça me met event.bind est pas définis dans Index
@red snow tu as quoi comme erreur ? sinon essaye de voir pour use __dirname pour tes imports, tester voir si c'est good
essaye ce que je t'ai envoyé pour voir
Le __dirname ?
yep Ă la place de "./"
ça peut causer des erreurs d'imports, aprĂšs si les autres fonctionnent bien ce serait bizarre đ€
par contre go passer sous commando si c'est des bots quasi entiĂšrement Ă base de commande
ca vous facilitera la tĂąche
Qu'est ce que commando ?
discord commando c'est aussi une lib pour crĂ©er tes bots mais en gros au niveau de tes commandes tout est simplifiĂ©, il peut gĂ©rer lui mĂȘme le typage de tes arguments, si ça doit etre une mention d'un user, d'un role etc, et pleins d'autre truc trĂšs cool comme ça đ
(création d'alias, validation d'argument, enfin bref pleins de trucs en + qui vont te simplifier la tùche sur tes créations de commande, et rendre le bot plus propre)
Ok, je testerai sur un futur bot
yup ca vaut le coup
Mais du coup pour moi vous savez le problĂšme
tiens des exemples SB https://alligator.io/nodejs/how-to-use__dirname/
enleve le ./
A ui đ€Šââïž
laisse juste le /
hum normalement c'est path.join(__dirname, 'commands')
et tu fais un require-all sur ce répertoire
pourquoi tu require path dans ta boucle ?
voui mais du coup Ă chaque itĂ©ration tu vas require path, c'est un truc assez lourd quand mĂȘme
fin bref
tu peux utiliser ça par exemple https://www.npmjs.com/package/require-all
var commands = require('require-all')(__dirname + '/commands');
par exemple
J'ai jamais utilisĂ© ça, et sur d'anciens bot (Qui sont sur la mĂȘme machine) ça marche trĂšs bien
nan mais d'accord
je te donne juste une solution que je trouve bien, si t'en veux pas c'est ton problĂšme
J'essaye juste de comprendre pourquoi ça ne marche pas
Bonjour, j'ai besoin d'aide pour mon bot, en fait j'ai un message du bot dans un salon spécifique et j'aimerais faire en sorte qu'il soit modifié toutes les 5 secondes (l'intervale est déjà faite mais je voudrais savoir c'est quel code pour trouver le message par son ID et ensuite le modifier)
hello zeph quelle version de discord
channel.messages.cache.get('id_message');
je crois
ok je vais essayer, channel est automatiquement defined ou je doit le mettre dans un event ? client.on...
tu dois get le bon channel aussi du coup avant si tu l'as pas déjà yes
channel tu peux le recup via la guild ça normalement
et la guild tu peux la recup via le client
On m'a dit que les lignes contenant message, channel, etc... doit ĂȘtre dans un client.on("message") mais je veut qu'il s'edit automatiquement, pas de commande ni rien
par exemple tu peux faire ça
const guild = client.guilds.fetch('ID DU SERVEUR');
const channel = guild.channels.fetch('ID DU CHANNEL');
const message = channel.messages.fetch('ID DU MESSAGE');
message.edit(embed).catch(console.error);

ah dsl
const guild = client.guilds.cache.get('ID DU SERVEUR');
const channel = guild.channels.fetch('ID DU CHANNEL');
const message = channel.messages.fetch('ID DU MESSAGE');
message.edit(embed).catch(console.error);
att
pas bon non plus
ah
faut que je check la doc avant de parler moi
mdr
la v12
ça ça fonctionne normalement
const guild = client.guilds.cache.get('ID DU SERVEUR');
const channel = guild.channels.cache.get('ID DU CHANNEL');
if (channel instanceof Discord.TextChannel) {
const message = channel.messages.fetch('ID DU MESSAGE');
message.edit(embed).catch(console.error);
}
mais je suis pas sûr
taink en sueur 
mdr je vais essayer
ah la v12 elle me fait mal
va falloir qu'on se mettent tous sur la v12 miséricorde
j'avoue, au début y'avais des fonctions que je connaissait par coeur mais là c'est la catastrophe
la v12 est terrible
haha je fais tinkbot en TypeScript et sur la v12 lĂ , j'est mal 
tu te fais du mal aussi taink 
ses vraies
đ€
Message que je veut edit en embed ça pose pas de problÚmes ?
C'est le message que je veut edit
yes mais en vrai du coup tu le get pas
tu boucles sur ton tableau
mais quand tu auras bcp bcp bcp de messages ca peut etre légÚrement plus long quoi si tt les messages sont dedans 
@ancient sonnet c'est toi que je regarde 
@keen narwhal si tu console.log ton message ça t'affiche quoi ?
oula pas trop compris 
console.log(message) juste avant l'edit
ah ok
Promise {
<ref *1> Message {
channel: TextChannel {
type: 'text',
deleted: false,
id: '706230310487982122',
name: 'ăïżœăetat-serveur',
rawPosition: 0,
parentID: null,
permissionOverwrites: [Collection [Map]],
topic: '',
nsfw: false,
lastMessageID: '706858787939680306',
rateLimitPerUser: 0,
lastPinTimestamp: null,
guild: [Guild],
messages: [MessageManager],
_typing: Map(0) {}
},
deleted: false,
id: '706544797590224999',
type: 'DEFAULT',
content: "Connexion Ă l'API Just-Heberg...",
author: ClientUser {
id: '655908183528833054',
bot: true,
username: 'CrystalBot',
discriminator: '8768',
avatar: 'f32d7c43ea378cfbd2575c2231ad6df2',
lastMessageID: null,
lastMessageChannelID: null,
verified: true,
mfaEnabled: false,
_typing: Map(0) {},
flags: [UserFlags]
},
pinned: false,
tts: false,
nonce: undefined,
system: false,
embeds: [],
attachments: Collection(0) [Map] {},
createdTimestamp: 1588523806713,
editedTimestamp: null,
reactions: ReactionManager {
cacheType: [Function: Collection],
cache: Collection(0) [Map] {},
message: [Circular *1]
},
mentions: MessageMentions {
everyone: false,
users: Collection(0) [Map] {},
roles: Collection(0) [Map] {},
_members: null,
_channels: null,
crosspostedChannels: Collection(0) [Map] {}
},
webhookID: null,
application: null,
activity: null,
_edits: [],
flags: MessageFlags { bitfield: 0 },
reference: null
}
}

const guild = client.guilds.cache.get('ID DU SERVEUR');
const channel = guild.channels.cache.get('ID DU CHANNEL');
if (channel instanceof Discord.TextChannel) {
const message = channel.messages.cache.get('ID DU MESSAGE');
message.edit(embed).catch(console.error);
}```
ça c'est bon
Vive le JS 
haha je fais tinkbot en TypeScript et sur la v12 lĂ , j'est mal
@timid loom et encore aprĂšs ce sera au tour de tout les bots de GCA a passer en TypeScript + V12 + Restructure total
bruh
const guild = client.guilds.cache.get('ID DU SERVEUR');
const channel = guild.channels.cache.get('ID DU CHANNEL');
if (channel instanceof Discord.TextChannel) {
channel.messages.fetch('ID DU MESSAGE').then((msg) => {
msg.edit(embed).catch(console.error);
}).catch(console.error);
}```
Et lĂ ?
@queen ocean ouais ouais tkt 

aprĂšs ca va y a Zaros qui va bosser dessus aussi
@slim anvil Je crois que Taink préfÚre pas
ça y est !!!!!! ça marche !!!!!
trofor
oui
En gros toutes les 5 secondes ça fait une requĂȘte Ă l'api de mon serveur et en mĂȘme temps ça edit l'embed avec les var que j'ai créé avec le JSON.parse
C'est un sacré bordel mdr
Oui mais 5 secondes il suffit que tu es un peu de lenteur sur ton serv, ou l'api, tu auras peut etre meme pas reçu le premier résultat qu'il va relancer le truc
yess
aprĂšs il me semble que j'ai un if dans le code de la requĂȘte, si jamais j'obtient aucune rĂ©ponse de l'api il annule et recommence la requĂȘte
bonjour j'ai besoin d'aide please
Salut, tu peux détailler s'il te plaßt
oui
allors
L:\Anonymas Bot>node js
internal/modules/cjs/loader.js:960
throw err;
^
Error: Cannot find module 'L:\Anonymas Bot\js'
â[90m at Function.Module._resolveFilename (internal/modules/cjs/loader.js:957:15)â[39m
â[90m at Function.Module._load (internal/modules/cjs/loader.js:840:27)â[39m
â[90m at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)â[39m
â[90m at internal/main/run_main_module.js:18:47â[39m {
code: â[32m'MODULE_NOT_FOUND'â[39m,
requireStack: []
}```
voila quand jesaye de lancer mon bot
Le code aussi stp
oki
client.on("message", message => {
if(message.content === `${prefix}info`) {
message.channel.send({embed: {
color: 8359053,
author: {
name: ${client.user.username},
icon_url: client.user.avatarURL,
},
title: "Info de la communautée AnonymasRP",
url: "https://anonymasrp.mistforums.com/",
description: "Tout les liens Utile",
fields: [{name: "Le discord : https://discord.gg/3mB5jKT\nLe forum : https://anonymasrp.mistforums.com/\nLa collection : https://steamcommunity.com/sharedfiles/filedetails/?edit=true&id=1933507670\nLe Utip : https://utip.io/anonymasrp\nNotre chaine Youtube : https://www.youtube.com/channel/UCMTGYfYs9q2kQibHPuViGrg/featured?view_as=subscriber",
timestamp: new Date(),
footer: {
icon_url: client.user.avatarURL,
text: "© Anonymas Bot"
}
}
})
}
})```
c'est ce code qui pose probleme car avant sa fonctionner
@red snow @slim anvil
Visiblement c'est pas ça
je doit mettre sa
Oui tu vois bien que tu as des erreurs, quand il te souligne en rouge c'est jamais bon signe
relis ton truc
comment sa ?
tu trouves ça logique
name: name: client.user.name
soit une erreur d'indentation de code, soit une }/) mal placé/manquante
je vois pas ou j'ai regarde et re regarder le code
quand tu le lance, ça fonctionne pas ?
@keen narwhal avance ton })
Dâun truc
Genre pour quâil soit Ă©gal Ă la ligne grise
manque une ,
icon_url: client.user.avatarURL,
text: "© Anonymas Bot"
}
}
})
}
})
bah une erreur d'indentation ca empĂȘche pas le run normalement
sauf si il a un lint
mais je pense pas
fields: [{name: "Le discord : https://discord.gg/3mB5jKT\nLe forum : https://anonymasrp.mistforums.com/\nLa collection : https://steamcommunity.com/sharedfiles/filedetails/?edit=true&id=1933507670\nLe Utip : https://utip.io/anonymasrp\nNotre chaine Youtube : https://www.youtube.com/channel/UCMTGYfYs9q2kQibHPuViGrg/featured?view_as=subscriber",```
il y a tout la ?
car je vois pas de }] Ă la fin
attend lulu screen toute la ligne please
pour etre sur
oui donc il manque un }] Ă la fin
de la ligne ou il ya les lien ?
oui entre subscriber" et ,
c'est bon merci beaucoup ^^
Enzo, le sauveur xâ)
Bon du coup. Je sais pas si je peux parler de mon problĂšme
?? envoie
et ou il est ton events.bind
Index
show ce fichier du coup
log ton events voir ce que tu reçois
il doit etre undefined Ă tt les coups il doit peut etre pas trouver ton fichier đ€
console.log(events) aprĂšs const events =....
et commente le const event, et le client.on()
en attendant
commente ?
bayes ton object est vide donc pas évidement
fais un console.log('event', events, f)
le dossier events ce sont tes commandes ?
Nope
ah tes events memberAdd etc ?
events ce sont les events
ah yes okep
remplace le premier par le deuxieme
le deuxieme suffira, voir ce qu'il y a dans ton f aussi
Au start enfaite ton bienvenue renvoie rien, Ă la limite juste pour voir, met ton client.on(... dans un if (Object.keys(events).length !== 0) {}

en reprenant ton code
f.forEach( f => {
const events = require(`./events/${f}`)
const event = f.split('.')[0]
if (Object.keys(events).length !== 0) {
client.on(event, events.bind(null, client))
}
})
meme si c'est bizarre qu'au restart il soit vide idk why
t'as tjrs l'erreur ?
du coup pas d'erreur ?
Nope
du coup c'est bon ? 
Les deux
oui mais tu l'as fais ?
Normalement ça met un message
Oui
Rien
Tu penses pas que je devrais mettre l'id au lieu
?
Je sais ça oĂč ?
package.json
npm init
npm i
Mais par contre
tes bot.con des events
tu peux les mettre dans ton index directement finalement đ€
ils sont pas trĂšs lourds du coup bon
Bah yes, normalement plus haut tu as ton token, et avant ton import discord et la création de bot
Met un console.log dedans de member dans le add pour voir si tu le reçois quand tu join et vérifie ta console
Genre console.log(memberAdd) ?
I have a error
Le truc câest que vous essayez dâutiliser des libs avant dâessayer de faire du javascript simple histoire de comprendre ce que vous faites.... du coup câest normal que vous y arriviez pas trop.... regarde dans #621746570119086109 tu as pas mal de tuto pour dĂ©buter sur la crĂ©ation de ton bot
Si tu es sur la v12 et tu vois que tu galĂšres passes sur une ancienne au pire en attendant
Yes câest quoi
Oui ça câest ton find qui est pas bon je te lâavais dis plus haut
tu es sous quelle version de discord JS du coup ?
il y a quoi dedans ?
Tu lâas rĂ©cupĂ©rĂ© ou ton projet de bot ?
Je l'ai récupérer
VoilĂ version 12
Donc check sur la documentation discord JS (choisis bien) v12
Comment récupérer un channel, et ensuite tu fais ton send dessus
Je crois que câest client.channels.fetch(« id »)
Met les bonnes quotes je suis sur téléphone
' '?
Oui par exemple ou des doubles comme tu veux
Ăa me dit que client.channels.fetch is not a function
Du coup si tu as tout remplacer en client ça devrait ĂȘtre bon
client.on('guildMemberAdd', async member => {
const channel = await client.channels.fetch('id')
if (channel) {
channel.send('hello')
}
})
tu testeras ça pour voir
ça ne va jamais sâarrĂȘter
Attend les screens ne chargent pas chez moi le temps que ça charge
Et lâerreur ?
Pfiou la gueule de la commande
Dans une conditions tu mets 2 fois la mĂȘme chose
Bah avant que je fasse le message de bienvenue oui
retourne ou il y a lâĂ©vent bind
Mais je pense pas que c,est dû à ça
J'ai pas d'error
honnĂȘtement ton truc a lâair un peu chelou de base
a ta place je regarderai les bases sur un tuto histoire que tout soit carré
Oki
Bah du coup je reviens plus tard si j'ai un probl
Ăšme, merci de ton aide Enzo :3
pas de soucis 
xD
Bon courage pour lâapprentissage, mais un conseil commence par un peu de JS de comprendre ce que tu Ă©cris, ça va tâaider Ă avancer bcp plus rapidement




