Bonjour à tous !
J'ai commencé le codage de mon tout premier bot pour discord, son but sera d'interagir dans une discussion.
le Code :
const Discord = require("discord.js");
const fs = require('fs');
const bot = new Discord.Client();
bot.on('ready', () => {
bot.user.setActivity("harceler les joueurs");
console.log("Je suis connecté !");
})
bot.on('message', message =>{
if (message.author.bot) return;
user = message.author;
let member = message.guild.member(message.author);
let Agree = message.guild.roles.cache.find(role => role.name === 'TEST');
if(message.content == "Salut"){
message.channel.send(Salut ${user}, tu vas bien?);
bot.on('message', message =>{
if (message.author.bot) return;
if (message.content == "Comme un lundi"){
message.channel.send(MDR, toujours aussi décalé le ${user});
}
})
}
});
ce que j'attend, en exemple :
1
User : Salut
Bot : Salut user, tu vas bien ?
User: Comme un Lundi
Bot : toujours aussi décalé
2
User : Salut
Bot : Salut user, tu vas bien ?
User: tagadoz
(pas de réaction bot, le bot doit revenir à l’attente de "Salut")
3
User : Comme un lundi
(pas de réaction bot, il reste en attente de "Salut")
Ce que j'obtiens :
-je peux répéter autant de fois que je veux "Salut", le bot répond comme il faut une seul fois par "Salut user". (OK)
-Mais si après cela je répond une seule fois "Comme un lundi", le bot me colle plusieurs fois la bonne réponse. (PAS OK)
-Je dis "salut" une fois, le bot répond, puis je repond autant de fois que je veux "Commme un lundi", le bot répond une fois à chaque fois, alors que j’attend qu’il ne réponde que au premier "comme un lundi", puisque les suivant n’ont pas eu l’étape du "Salut" (PAS OK).