Discord 机器人针对一个事件多次响应

我希望我的机器人对 .on 之类的命令做出一次响应。但是,它会多次响应每个输入:

screenshot

代码是:

client.on('message', message =>{
    if(message.content === '.on'){
        message.channel.sendMessage('Testing Bot is now Online, Greetings, ' + message.author.username);
    }

如果有人能指出我正确的方向,让机器人做出响应,那就太好了。

stack overflow Discord bot responds multiple times for one event
原文答案

答案:

作者头像

我迟到了,但我认为您同时运行了多个 instances 机器人。

作者头像

sendMessagedeprecated 。尝试改用 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);
    }
}
作者头像

尝试更改令牌,以便所有机器人停止工作,然后确保您只是启动一个实例。