【问题标题】:ReferenceError: message is not defined for my discord botReferenceError:没有为我的不和谐机器人定义消息
【发布时间】:2022-10-08 01:12:22
【问题描述】:

我正在努力做一个!清除不和谐机器人并出现此错误:

  const args = message.content.slice (prefix.lenght) .split (/ + /);
            

ReferenceError:消息未定义

我不太擅长 javascript,但我希望你能帮助我。

我的 Index.js

client.on("ready", () => {
console.log("SETTE STELLE E' ONLINE MERDE")


const args = message.content.slice(prefix.lenght).split(/ +/);
const command = args.shift().toLowerCase();

if(!message.content.startsWith(prefix) || message.author.bot) return;
if(command === "clear"){
    
    client.commands.get('clear').execute(message, args);
}

});

我的 clear.js

module.exports = {
name : "clear",
description: "Elimina merda",
async execute(message, args) {
    if(!args[0]) return message.reply("il mona non sa come fare un !clear. BRO DEVI DIRE IL NUMERO DI MESSAGGI");
    if(isNaN(args[0])) return message.reply("Certo, alla prossima apposto di un numero metti carciofo scem0");

    if(args[0] > 100) return message.reply("Si vabbene 100.000 messaggi ok, MASSIMO 100 TESTA DI MERDA");
    if(args[0] < 1) return message.reply("Alla prossima magari cancella almeno un messaggio");

    await message.channel.messages.fetch({limit: args[0]}).then(messages =>{
        message.channel.bulkDelete(messages);
    })
}

}

【问题讨论】:

  • 首先在const args = message.content.slice(prefix.lenght).split(/ +/); 中有一个错字,它是length
  • message 不存在于 ready 事件中,该事件在机器人登录时触发。您应该将代码移动到 'message' 事件中

标签: javascript node.js discord discord.js undefined


【解决方案1】:

您需要在您的机器人客户端上发生messageCreate 事件,以便获取在通道中发送的消息。

就像ready 一样,创建一个名为messageCreate 的新事件,它采用message 参数。

所以你的index.js会是这样——

client.on("ready", () => {
    console.log("SETTE STELLE E' ONLINE MERDE")
})

client.on("messageCreate", (message) => {
    const args = message.content.slice(prefix.lenght).split(/ +/);
    const command = args.shift().toLowerCase();

    if(!message.content.startsWith(prefix) || message.author.bot) return;
    if(command === "clear"){
         client.commands.get('clear').execute(message, args);
    }
})
  • 我还注意到您的代码中的prefix.lenght 应该是prefix.length

【讨论】:

    猜你喜欢
    • 2018-11-19
    • 2020-12-26
    • 2020-04-21
    • 1970-01-01
    • 2022-01-09
    • 2021-11-18
    • 2020-06-01
    • 2018-05-02
    • 2020-10-03
    相关资源
    最近更新 更多