【问题标题】:Discord bot responds multiple times for one eventDiscord 机器人针对一个事件多次响应
【发布时间】:2017-10-02 00:11:42
【问题描述】:
我希望我的机器人对诸如.on 之类的命令做出一次响应。但是,它每次输入都会响应多次:
代码是:
client.on('message', message =>{
if(message.content === '.on'){
message.channel.sendMessage('Testing Bot is now Online, Greetings, ' + message.author.username);
}
如果有人能指出我正确的方向,让机器人做出响应,那就太好了。
【问题讨论】:
标签:
javascript
discord
discord.js
【解决方案1】:
sendMessage 是 deprecated。尝试改用send。
client.on('message', message => {
if(message.content === '.on') {
message.channel.send('Testing Bot is now Online, Greetings, ' + message.author.username);
}
}
此外,如果这仍然导致问题,请考虑检查消息事件的 ID/内容以及返回的承诺,以确保您没有在其他地方犯错。很快就会明白发生了什么。那是:
client.on('message', message => {
if(message.content === '.on') {
console.log('Received #' + message.id + ': ' + message.content);
message.channel.send('Testing Bot is now Online, Greetings, ' + message.author.username)
.then(message => console.log('Sent #' + message.id + ': ' + message.content))
.catch(console.error);
}
}
【解决方案3】:
尝试更改令牌,以便所有机器人停止工作,然后确保您只是启动一个实例。