首页 > 解决方案 > ReferenceError:消息未定义,请解决此问题

问题描述

我是 javascript 的新手,也有不和谐的 js,运行我的不和谐机器人时出现错误,在这里,请修复代码并告诉我我做错了什么,谢谢。

我一直在制作一个全功能的不和谐机器人,这是我发现的第一个我无法修复的错误,如果你们能提供帮助,我将不胜感激。

let args = message.content.slice(prefix.length).trim().split(' ');

ReferenceError:消息未定义

// Constant Variables
const Discord = require("discord.js");
const prefix = "!";
const client = new Discord.Client();

// Startup 1 Below Listener Events
client.once("ready", () => {
  console.log("Countless Is Up And Running, Wooohooo");
});

// Moderation 2 Below
client.on("Message", (Message) => {
  if (Message.member.hasPermission(["KICK_MEMBERS"])) {
    //console.log(message.content);

    if (Message.content.startsWith(`${prefix}kick`)) {
      //message.channel.send("Kick")

      let member = Message.mentions.members.first();
      member.kick().then((member) => {
        Message.channel.send(
          "https://gph.is/2iBA79h :wave: " +
            member.displayName +
            " has been kicked!"
        );
      });
    }
  }
});

client.on("Message", (Message) => {
  if (Message.member.hasPermission(["BAN_MEMBERS"])) {
    //console.log(message.content);

    if (Message.content.startsWith(`${prefix}ban`)) {
      //message.channel.send("Ban")

      let member = Message.mentions.members.first();
      member.ban().then((member) => {
        Message.channel.send(
          "https://gph.is/29507Ei :wave: " +
            member.displayName +
            " has been banned!"
        );
      });
    }
  }
});

// Variables
let args = message.content.slice(prefix.length).trim().split(" ");
let cmd = args.shift().toLowerCase();

// Return Statements
if (Message.author.bot) return; // Ignores All Bots
if (!Message.content.startWith(prefix)) return; // Returns Messages if doesnt start with the prefix

// Command Handler
try {
  // Bonus: Auto-Reload ()
  delete require.cache[require.resolve(`./commands/${cmd}.js`)];

  let commandFile = require(`./commands/${cmd}.js`);
  commandFile.run(client, Message, args);
} catch (e) {
  // Will catch any errors within code or commands
  console.log(e.stack);
}

client.login(token);

标签: javascriptdiscorddiscord.js

解决方案


JavaScript 区分大小写。

clinet.on("message", Message => {});

在下文中,您使用大写“M”定义了消息参数。

所以你需要用大写的 M 来提及 Message。

这是 args V 的修复

let args = Message.content.slice(prefix.length).trim().split(' ');

希望这可以帮助。


推荐阅读