已经找到same issue,但是那里没有答案:C
使用Discord.js库,我的问题是相同的,这是我的代码:
client.on('message', msg => {
var splittedMessage = msg.content.split("#");
if (msg.channel.type == "dm") {
if (msg.content === "booya") {
msg.channel.send('Hello there, ' + msg.author.username)
.then(msg => console.log('Sent #' + msg.id + ': ' + msg.content))
.catch(console.error);
return
} else {
msg.channel.send('No query found')
.then(msg => console.log('Sent #' + msg.id + ': ' + msg.content))
.catch(console.error);
return
}
}
});
这是结果:Screenshot
答案 0 :(得分:1)
事件message
会在所有消息上触发,甚至是机器人发送的消息:
在创建消息时发出。
https://discord.js.org/#/docs/main/stable/class/Client?scrollTo=e-message
因此,您通过发送消息不断触发事件。
解决方案是始终检查作者(如果它与bot本身不同)(bot-user属性为bot.user
:https://discord.js.org/#/docs/main/stable/class/Client?scrollTo=user)
答案 1 :(得分:0)