【发布时间】:2021-08-31 05:56:24
【问题描述】:
我正在尝试为朋友的服务器编写一个不和谐机器人。它应该是一个有趣的机器人,所以我认为添加垃圾邮件命令会很有趣。但是当我这样做时,我不断收到错误。有人可以帮我解决错误吗?代码和错误都在下面给出。
当我执行命令-spam @[user] 时它工作正常。但是当有人输入错误并且可能是-spam [random characters]时,它会向我显示错误
代码:
client.on("message", msg => {
if(msg.content.startsWith(prefix+'spam ')){
let mentions = msg.mentions.members.first().id;
if(!mentions) return msg.reply("I'm sorry! That user does not exist.")
for(var i=1;i<=5;i++) {
msg.channel.send('<@'+mentions+'>')
}
}
})
错误是
TypeError: Cannot read property 'id' of undefined
at Client.<anonymous> (/home/runner/VADER-Bot/index.js:44:44)
at Client.emit (events.js:326:22)
at Client.EventEmitter.emit (domain.js:483:12)
at MessageCreateAction.handle (/home/runner/VADER-Bot/node_modules/discord.js/src/client/actions/MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (/home/runner/VADER-Bot/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (/home/runner/VADER-Bot/node_modules/discord.js/src/client/websocket/WebSocketManager.js:384:31)
at WebSocketShard.onPacket (/home/runner/VADER-Bot/node_modules/discord.js/src/client/websocket/WebSocketShard.js:444:22)
at WebSocketShard.onMessage (/home/runner/VADER-Bot/node_modules/discord.js/src/client/websocket/WebSocketShard.js:301:10)
at WebSocket.onMessage (/home/runner/VADER-Bot/node_modules/ws/lib/event-target.js:132:16)
at WebSocket.emit (events.js:314:20)
repl process died unexpectedly: exit status 1
【问题讨论】:
-
真正的问题是什么?您的脚本中只有一个名为
id的属性实例。因此...msg.mentions.members.first()返回undefined。发生这种情况时检查文档并相应地调整您的脚本。 -
你自己已经提到了这个问题。
-spam @[user]与-spam [random characters]+msg.mentions -
@Andreas 你好。感谢您的回复,但我是一个整体编码新手。所以你能像我是个孩子一样跟我说话吗?谢谢:D
标签: javascript node.js discord.js