0
私は基本的なボットの作成に取り組んでいます。何らかの理由で、ボットは1つのコマンドに複数回応答します。Discord.JS複数のメッセージの送受信
コード:
const Discord = require('discord.js');
var bot = new Discord.Client();
const PREFIX = "+";
var fortunes = [
"Yes",
"No",
"Maybe",
" a wild swear has appeared"
];
bot.on("message", message => {
bot.on("message", function (message) {
if (message.author.equals(bot.user)) return;
if (!message.content.startsWith(PREFIX)) return;
var args = message.content.substring(PREFIX.length).split(" ");
switch (args[0].toLowerCase()) {
case "ping":
message.channel.send("Pong!")
break;
case "info":
message.channel.send("no")
break;
case "8ball":
if (args[1]) message.channel.sendMessage(fortunes[Math.floor(Math.random() * fortunes.length)]);
else message.channel.send("Cant read that")
break;
case "embed":
var embed = new Discord.RichEmbed()
.addField("Test Title", "test description");
message.channel.sendEmbed(embed);
break;
case "noticeme":
console.log('Received #' + message.id + ': ' + message.content);
message.channel.send(message.author.toString() + " Senpai has noticed you")
.then(message => console.log('Sent #' + message.id + ': ' + message.content))
.catch(console.error);
break;
}
});
});
bot.login("NOPE")
ターミナル: terminal
は、コードは、メッセージ受信と送信を記録するように設定されています。場合によっては、一番上に表示されているように、コマンドは一度だけ実行されます。しかし、ほとんどの場合、コマンドは(少なくとも)4回繰り返されます。
スクリーンショットイメージではなく質問内でテキストを出力する方が良い – MrJLP
もう一度コードを実行してみてください。 APIは今日より少し不安定*でした – LW001
これは不具合です。ちょうどプログラムを再起動すると、あなたは行くのが良いでしょう。 – Axium