首页 > 解决方案 > 尝试创建 Discord.js 机器人时出现“ReferenceError:消息未定义”

问题描述

提醒一下,我不擅长编码,而且我是编码领域的新手。我正在尝试为我们的服务器创建一个 Discord 机器人。

现在命令是 ping 并且我遇到了一些问题。

    client.on('message', msg => {
  if (msg.content === 'o!ping') {
    ping = msg.createdTimestamp - message.createdTimestamp
    msg.reply("Pong!\n\n The latency is" + ping + "ms.");
  }
});

错误发生在“ping = msg ..”行,这是错误:

ReferenceError: message is not defined
at Client.<anonymous> (D:\Bot\bot.js:55:35)
at Client.emit (events.js:327:22)
at MessageCreateAction.handle (D:\Bot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (D:\Bot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (D:\Bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (D:\Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (D:\Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (D:\Bot\node_modules\ws\lib\event-target.js:132:16)
at WebSocket.emit (events.js:315:20)
at Receiver.receiverOnMessage (D:\Bot\node_modules\ws\lib\websocket.js:825:20)

第 55 行是“ping = msg.createdTimestamp - message.createdTimestamp”。请帮忙!

标签: discord.js

解决方案


你传入msg了回调函数,所以替换messagemsg.

client.on('message', msg => {
  if (msg.content === 'o!ping') {
    ping = msg.createdTimestamp - msg.createdTimestamp
    msg.reply("Pong!\n\n The latency is" + ping + "ms.");
  }
});

推荐阅读