我一直很难让我的不和谐机器人发送随机消息。由于某种原因,我的代码无法正常工作。当我尝试运行它时,它说“消息未定义”。我对编码非常陌生,答案可能非常简单。这是我的randomMessage部分的代码:
const messages = ['message one', 'message two', 'message three', 'message four'];
const randomMessage = messages[Math.floor(Math.random() * messages.length)];
这是命令,当有人随机说(前缀)时,它将基本上转到名为“ random”的文件。
...
else if(command === 'random')
client.commands.get('random').execute(message, args);
...
在该文件上是命令的名称,说明,它还告诉机器人发送(randomMessage),该机器人应该选择一条消息,两条,三条或四条消息?
module.exports= {
name: 'random',
description: 'send a randomised message.',
execute(message, args){
message.channel.send(randomMessage)
}
}
如果有人知道我的错误,我很想听听。谢谢!
答案 0 :(得分:2)
您需要将代码放在 random 命令文件中:
module.exports = {
name: 'random',
description: 'send a randomised message.',
execute(message, args) {
const messages = ['message one', 'message two', 'message three', 'message four'];
const randomMessage = messages[Math.floor(Math.random() * (messages.length - 1))];
message.channel.send(randomMessage);
}
}
如果您希望在启动时确定随机消息,并且在bot处于活动状态时不更改该消息,则可以将代码放在文件顶部:
const messages = ['message one', 'message two', 'message three', 'message four'];
const randomMessage = messages[Math.floor(Math.random() * (messages.length - 1))];
module.exports = {
name: 'random',
description: 'send a randomised message.',
execute(message, args) {
message.channel.send(randomMessage);
}
}