我正在教程的帮助下编写我的第一个不和谐机器人。我被卡住了,因为我的机器人无法响应命令,而且我已经多次检查教程和我的代码。我做错了什么吗?
const discord = require('discord.js');
const client = new discord.Client();
const prefix = '!';
client.once('ready' , () => {
console.log('Zach Is Bad is online');
});
client.on('message', message =>{
if (!message.content.startswith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(/ +/);
const command = args.shift().toLowerCase();
if(command === 'ping'){
message.channel.send('pong!');
}
});
client.login('redacted')
答案 0 :(得分:1)
您的代码唯一的问题是 message.content.startswith(prefix)
。
它是startsWith,区分大小写。
if (!message.content.startsWith(prefix) || message.author.bot) return;
答案 1 :(得分:0)
client.on('ready', () => ...)
处有拼写错误,但这不应是导致错误的原因。
你写了 if (!message.content.startswith(prefix) || message.author.bot) return;
但我很确定 startwith
一定是 startWith
(大写很重要)。尝试修改它,然后重新启动您的机器人。
如果它不起作用,将 console.log("test OK")
放在 ping 命令之前,重新启动并发送 !ping
。如果您的机器人日志中有“测试正常”,则问题来自 ping 命令。如果您没有看到此日志,请尝试在 if 语句之前移动 console.log
行。这是一种了解问题出处的简单而有效的方法。