Discord bot 命令不起作用返回错误

时间:2021-02-24 14:15:50

标签: javascript discord discord.js

所以我正在尝试开始学习如何编写 Discord 机器人。 但是当我运行代码并说出命令“!hello”时 它只是说这个错误信息:

Uncaught ReferenceError: hello is not defined 没有可用的调试器,无法发送“变量” 进程退出,代码为 1

我该如何解决?

const { Client, MessageAttachment } = require("discord.js");
const bot = new Client();

const token = new String("")

bot.on('ready', () =>{
    console.log("I am online!");
})

bot.on('message', (message) =>{

    console.log("HELLO");
    
    if(message.author.bot) return;
    let prefix = '!';
    let MessageArray = message.content.split(' ');

    let cmd = MessageArray[0].slice(prefix.length);
    let args = MessageArray.slice(1);

    if(!message.content.startsWith(prefix)) return;

    //command

    if(cmd === hello){
        console.log("command sent");
        message.channel.send("Hello there!");
    }
})

bot.login(token censored)

1 个答案:

答案 0 :(得分:2)

在你的代码中,你有

if(cmd === hello){

然而,hello 不是你在代码中定义的变量,因此错误说明你没有定义它,相反,它应该放在引号中以表示它应该将 cmd 与“hello "(一个字符串)。

例如:

if(cmd === "hello"){