为了测试我试图停止所有命令,除非在某个频道中。我知道如何为每个命令专门执行此操作,但我试图在主机器人文件中捕获它,并返回一条消息。到目前为止,我尝试了两种方法:
bot.on('command', async m => { (Also tried 'commandmessage')
console.log('COMMAND');
if (m.channel != 'bot-testing') {
return m.channel.send('You can\'t use commands here!');
}
});
根本不起作用。然后我尝试了这个:
bot.on('message', async m => {
m.isDM = (m.guild ? false : true);
if (m.content[0] != bot.commandPrefix) {
return;
} else {
if (m.channel != 'bot-testing') {
m.channel.send('You can\'t use commands here!');
}
}
});
哪种作品,但不会停止命令。
答案 0 :(得分:1)
看起来你非常接近 - 你只需要在第二个m.channel.name
中查看if-statement
(使用方法#2):
bot.on('message', async m => {
// ...
if (m.content[0] != bot.commandPrefix) {
return;
} else {
// [NEW: add .name prop here]
if (m.channel.name != 'bot-testing') {
m.channel.send('You can\'t use commands here!');
}
}
});