我目前正在使用一款简单的迷你游戏开发一款不和谐的机器人。您编写“ gamestart”,并且机器人会向您发送4种可能的回复之一。但是我的机器人没有发送任何东西。可能是什么问题?
bot.on('message', msg) => {
if(msg.content === "gamestart"){
var random = Math.random() * (4 - 1) + 1;
Math.round(random);
if(random === 1){
message.channel.send('doggos, axes, chalice');
}
else
if(random === 2){
message.channel.send('sun, axes, doggos');
}
else
if(random === 3){
message.channel.send('axes, sun, chalice');
}
else
if(random === 4){
message.channel.send('chalice, doggos, sun');
}
}
})
答案 0 :(得分:1)
const Responses = ["doggos, axes, chalice", "sun, axes, doggos", "axes, sun, chalice", "chalice, doggogs, sun"]; // Storing the responses.
message.channel.send(Responses[Math.floor(Math.random() * Responses.length)]); // Sending a random response.
答案 1 :(得分:0)
该问题也可能与邮件处理和undefined
频道ID有关。
首先,通过以下代码确保漫游器实际上正在监听消息事件:
bot.on('message', msg => {
console.log(msg)
if(msg.content === "gamestart"){
var random = Math.random() * (4 - 1) + 1;
...
第二个是,所有消息(即使它们是数字)都是实际的字符串,请确保传入的msg
值与句子“ gamestart”相等。
对于第三个,默认情况下,漫游器会在其监听的频道中回复用户,但如果您正在监听message
事件,但无权在当前频道中进行写回复,然后您就被搞砸了。
确保漫游器在某些频道中具有权限,或与permission=8
(管理员)邀请