我的不和谐机器人做错了什么

时间:2021-07-16 03:15:08

标签: discord discord.js

我正在教程的帮助下编写我的第一个不和谐机器人。我被卡住了,因为我的机器人无法响应命令,而且我已经多次检查教程和我的代码。我做错了什么吗?

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')

2 个答案:

答案 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 行。这是一种了解问题出处的简单而有效的方法。