【发布时间】:2020-06-16 06:48:17
【问题描述】:
我正在尝试修复我今天遇到的一个错误,错误是这样的:
C:\Users\nalfo\OneDrive\Desktop\Discord Bot\NetSync\commands\moderation\ban.js:15 让 { 用户 } = message.mentions.members.first() || message.guild.members.get(args[0]); ^
TypeError: 无法解构 'user' 的属性 '(message.mentions.members.first(...) || message.guild.members.get(...))' 因为它是未定义的。 在 Object.run (C:\Users\nalfo\OneDrive\Desktop\Discord Bot\NetSync\commands\moderation\ban.js:15:11) 在客户端。 (C:\Users\nalfo\OneDrive\Desktop\Discord Bot\NetSync\index.js:36:34) 在 Client.emit (events.js:323:22) 在 MessageCreateHandler.handle (C:\Users\nalfo\OneDrive\Desktop\Discord Bot\NetSync\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34) 在 WebSocketPacketManager.handle (C:\Users\nalfo\OneDrive\Desktop\Discord Bot\NetSync\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:108:65) 在 WebSocketConnection.onPacket (C:\Users\nalfo\OneDrive\Desktop\Discord Bot\NetSync\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:336:35) 在 WebSocketConnection.onMessage (C:\Users\nalfo\OneDrive\Desktop\Discord Bot\NetSync\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:299:17) 在 WebSocket.onMessage (C:\Users\nalfo\OneDrive\Desktop\Discord Bot\NetSync\node_modules\ws\lib\event-target.js:120:16) 在 WebSocket.emit (events.js:311:20) 在 Receiver.receiverOnMessage (C:\Users\nalfo\OneDrive\Desktop\Discord Bot\NetSync\node_modules\ws\lib\websocket.js:789:20)
它之前工作得很好,不知道出了什么问题。这是我的模块导出。
module.exports = {
name: "ban",
category: "moderation",
description: "Bans the mentioned user.",
usage: "<imputs>",
run: (client, message, args) => {
let { user } = message.mentions.members.first() || message.guild.members.get(args[0]);
if(!message.member.hasPermission("BAN_MEMBERS")){
message.channel.send(permission);
} else {
if(!user)
return message.channel.send(novalidmember);
if(!user.bannable)
return message.channel.send("I cannot ban this user! Do they have a higher role? Do I have ban permissions?");
let reason = args.slice(1).join(' ');
if(!reason) reason = "No reason provided";
user.ban({
reason: `${reason}`
})
const embed = new Discord.RichEmbed()
The embed is hidden.
let logchannel = message.guild.channels.find(x => x.name === `logs`);
if (!logchannel){
Sends a message to the channel.
Logs the ban in a file.
} else {
Sends a message to the channel.
Logs ban in the log channel.
}
}
}
}
我隐藏了一些代码,因为它并不重要。但我仍然不确定整个命令有什么问题。
【问题讨论】:
标签: javascript discord.js