不和谐机器人中的错误消息? (discord.js)

时间:2021-04-18 22:33:45

标签: javascript discord discord.js

我正在制作一个事件和命令处理程序 evrything 看起来不错,但是当我运行我的 ,hello 命令时,我收到一个错误,这是错误:

if(!message.content.startsWith(Prefix) || message.author.bot) return; ^

TypeError: 无法读取未定义的属性 'startsWith'

代码如下:

module.exports = (Discord, Client, message) => {
    const Prefix = ',';
    if(!message.content.startsWith(Prefix) || message.author.bot) return;

    const args = message.content.slice(Prefix.length).split(/ +/);
    const cmd = args.shift().toLowerCase();

    const Command = Client.commands.get(cmd);

    if(Command) Command.execute(Client, message, args, Discord, Random, RadnomPuppy);
}

我没有发现任何问题

2 个答案:

答案 0 :(得分:0)

你的函数有很多参数,所以消息是未定义的。 应该是这样的:

client.on("message", (msg)=>{
    const Prefix = ',';
    if(!msg.content.startsWith(Prefix) || msg.author.bot) return;

    const args = msg.content.slice(Prefix.length).split(/ +/);
    const cmd = args.shift().toLowerCase();

    const Command = Client.commands.get(cmd); // Have the commands part in file scope, to access it here.

    if(Command) Command.execute(Client, msg, args, Discord, Random, RadnomPuppy);

})

答案 1 :(得分:0)

module.exports = (Discord, Client, message) => {
    const Prefix = ',';
    if(!message.content.startsWith(Prefix) || message.author.bot) return;

    const args = message.content.slice(Prefix.length).split(/ +/);
    const cmd = args.shift().toLowerCase();

    const Command = Client.commands.get(cmd);

   if(Command) Command.execute(Client, message, args, Discord);
}

我必须从 if(Command) Command.execute(Client, message, args, Discord); 行中删除 random 和 random-puppy