Mon bot discord bug ?
Résolu/Fermé
Bilou94
Messages postés
46
Date d'inscription
mercredi 21 février 2018
Statut
Membre
Dernière intervention
14 mars 2020
-
Modifié le 10 mars 2020 à 00:46
Lolo - 23 juil. 2022 à 01:02
Lolo - 23 juil. 2022 à 01:02
A voir également:
- L'application ne répond plus bot discord
- Application mobile - Guide
- Mon écran se fige et plus rien ne répond - Guide
- Application gps sans internet - Guide
- Créer un compte discord - Guide
- Desinstaller application windows - Guide
2 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
10 mars 2020 à 10:36
10 mars 2020 à 10:36
Bonjour,
Dans ton code, là :
C'est un peu fait à l'envers...
Le « ; » après le if doit être enlevé ; De plus, comme il n'y a pas d'accolades, le message.channel.send est exécuté indépendamment du if. Donc à chaque message il répond, et du coup ensuite, se répond à lui-même.
Déjà ça, ça ira mieux.
Tu peux aussi empêcher dès le début qu'il se réponde à lui-même :
(Je crois que ça peut se faire comme ça. J'ai jamais développé pour Discord, mais j'ai eu l'impression en lisant ton code que client.user.username était le nom de ton bot)
Xavier
Dans ton code, là :
if (message.content.startsWith(prefix + 'slt')); if (!message.guild) return message.channel.send("Bonjour " + message.author + " :slight_smile: !");
C'est un peu fait à l'envers...
Le « ; » après le if doit être enlevé ; De plus, comme il n'y a pas d'accolades, le message.channel.send est exécuté indépendamment du if. Donc à chaque message il répond, et du coup ensuite, se répond à lui-même.
if (!message.guild) return; if (message.content.startsWith(prefix + 'slt')) message.channel.send("Bonjour " + message.author + " :slight_smile: !");
Déjà ça, ça ira mieux.
Tu peux aussi empêcher dès le début qu'il se réponde à lui-même :
if (!message.guild) return; if (client.user.username == message.author) return; if (message.content.startsWith(prefix + 'slt')) message.channel.send("Bonjour " + message.author + " :slight_smile: !");
(Je crois que ça peut se faire comme ça. J'ai jamais développé pour Discord, mais j'ai eu l'impression en lisant ton code que client.user.username était le nom de ton bot)
Xavier
WebReveuse
Messages postés
15
Date d'inscription
vendredi 31 mai 2019
Statut
Membre
Dernière intervention
1 juin 2020
24 mai 2020 à 04:38
24 mai 2020 à 04:38
Déjà y a un problème tu as deux fois
Commence par tout rassembler ensemble.
Et puis pour ce soucis c'est normal qu'il te réponde à l'infini, car ton bot exécute les commandes relatives aux messages DÈS qu'il détecte un message dans le serveur.
Autrement dit quand il va répondre à ta commande il va détecter son propre message et donc se répondre, et ainsi de suite jusqu'à ce que ton processeur fume...
Donc ajoute une condition au tout début (juste après le
La condition que j'utilise est celle-ci :
La partie
Quand l'une de ces 2 conditions est validée on quitte la fonction et le message n'est pas pris en compte par le bot.
Le problème devrait être résolu.
client.on("message", message => {})dans ton code.
Commence par tout rassembler ensemble.
Et puis pour ce soucis c'est normal qu'il te réponde à l'infini, car ton bot exécute les commandes relatives aux messages DÈS qu'il détecte un message dans le serveur.
Autrement dit quand il va répondre à ta commande il va détecter son propre message et donc se répondre, et ainsi de suite jusqu'à ce que ton processeur fume...
Donc ajoute une condition au tout début (juste après le
client.on("message", message => {) pour empêcher que ton bot ou un autre bot fasse ce genre de boucle.
La condition que j'utilise est celle-ci :
if(!msg.content.toLowerCase().startsWith(client.config.prefix) || msg.author.bot) return;
La partie
!msg.content.toLowerCase().startsWith(client.config.prefix)permet de vérifier que le message ne contient pas le préfixe de ta commande et
msg.author.botpermet de vérifier si l'auteur du message est bien un bot.
Quand l'une de ces 2 conditions est validée on quitte la fonction et le message n'est pas pris en compte par le bot.
Le problème devrait être résolu.
12 mars 2020 à 07:36
Le problème est résolu ^^
23 juil. 2022 à 01:02
Couxou j'ai la même chose et je ne comprend pas comment faire sertaine photo de mais bot ne s'affiche plus?