discord.js - 不和谐.js | 无法将用户 ID 解析为解禁
问题描述
您好,我正在尝试制作一个不和谐的机器人来解禁某人,但它给了我这个错误:
Unhandled promise rejection: Error [BAN_RESOLVE_ID]: Couldn't resolve the user ID to unban.
at GuildMemberManager.unban (C:\Users\Jakub Sokol\Documents\Coding\Discord Bots\Smiley\node_modules\discord.js\src\managers\GuildMemberManager.js:210:36)
at Object.execute (C:\Users\Jakub Sokol\Documents\Coding\Discord Bots\Smiley\commands\unban.js:17:35)
at Client.<anonymous> (C:\Users\Jakub Sokol\Documents\Coding\Discord Bots\Smiley\index.js:70:11)
at Client.emit (events.js:315:20)
at MessageCreateAction.handle (C:\Users\Jakub Sokol\Documents\Coding\Discord Bots\Smiley\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\Jakub Sokol\Documents\Coding\Discord Bots\Smiley\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\Jakub Sokol\Documents\Coding\Discord Bots\Smiley\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
at WebSocketShard.onPacket (C:\Users\Jakub Sokol\Documents\Coding\Discord Bots\Smiley\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
at WebSocketShard.onMessage (C:\Users\Jakub Sokol\Documents\Coding\Discord Bots\Smiley\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
at WebSocket.onMessage (C:\Users\Jakub Sokol\Documents\Coding\Discord Bots\Smiley\node_modules\ws\lib\event-target.js:125:16) {
[Symbol(code)]: 'BAN_RESOLVE_ID'
}
这是我的代码:
const Discord = require('discord.js');
module.exports = {
name: 'unban',
description: "Ping!",
async execute(client, message, args) {
if(!message.member.hasPermission(['BAN_MEMBERS', 'ADMINISTRATOR'])) return message.channel.send("You don't have permission to use that command!");
if(!message.guild.me.hasPermission(['BAN_MEMBERS', 'ADMINISTRATOR'])) return message.channel.send("I don't have permissions to unban members!")
let bannedMember = parseInt(args[0]);
if(isNaN(bannedMember)) return message.channel.send("You need to give me a valid ID!");
let reason = args.slice(1).join(' ');
if(!reason) return reason = "No reason given.";
message.delete()
try {
message.guild.members.unban(bannedMember, reason);
message.channel.send(`Succesfully unbanned ${bannedMember}!`)
} catch(e) {
console.log(e.message);
}
}
}
这是我输入的内容:/unban 262258367903301632 test
我真的不知道它有什么问题,我找不到任何答案:/
解决方案
该错误表明他找不到具有该标识的用户。创建一个辅助帐户,禁止该帐户并使用此命令。如果你想检查这个用户是否被禁止,你可以尝试检查他是否在你的服务器上使用
if (!message.guild.members.get(bannedMember)) return message.reply("This user is not banned!")
我不知道如何检查它是否真的被禁止,但这现在可以帮助你
(我正使用翻译器)
推荐阅读
- javascript - 如何对数组中的混洗元素进行编号?
- python - 如何将 PySpin 与 opencv python 一起使用?
- sightly - Sightly - 仅在有标题时才显示标题标签
- c# - Parsing LSM6DSL raw values
- python - 正则表达式匹配但 re.match() 不返回任何内容
- arrays - 这个问题是在编码测试中提出的。直到现在我都找不到解决方案
- java - Spark在kafka中写入数据集,启用KryoSerializer
- matlab - 有没有办法解决未知变量而不是使用求解?
- c# - 为同步 web api 调用 c# 创建 Polly 重试策略
- unicode - U+0080 到 U+009F 的有效用途是什么?