【发布时间】:2021-09-11 18:59:39
【问题描述】:
我正在尝试制作一个 Discord 机器人。 现在我正在尝试删除所有角色命令,但我不喜欢控制台中关于 @everyone 和高于机器人角色的角色的错误。 有什么解决方案可以将消息更改为 {role} 角色无法删除, 或完全隐藏它?
例子:
DiscordAPIError: Invalid Role
at RequestHandler.execute (D:\SapphireNuker JS\node_modules\discord.js\src\rest\RequestHandler.js:154:13)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async RequestHandler.push (D:\SapphireNuker JS\node_modules\discord.js\src\rest\RequestHandler.js:39:14) {
method: 'delete',
path: '/guilds/835119368807383091/roles/835119368807383091',
code: 50028,
httpStatus: 400
}
DiscordAPIError: Missing Permissions
at RequestHandler.execute (D:\SapphireNuker JS\node_modules\discord.js\src\rest\RequestHandler.js:154:13)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async RequestHandler.push (D:\SapphireNuker JS\node_modules\discord.js\src\rest\RequestHandler.js:39:14) {
method: 'delete',
path: '/guilds/835119368807383091/roles/859000573138305026',
code: 50013,
httpStatus: 403
}
DiscordAPIError: Missing Permissions
at RequestHandler.execute (D:\SapphireNuker JS\node_modules\discord.js\src\rest\RequestHandler.js:154:13)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async RequestHandler.push (D:\SapphireNuker JS\node_modules\discord.js\src\rest\RequestHandler.js:39:14) {
method: 'delete',
path: '/guilds/835119368807383091/roles/859043233375977494',
code: 50013,
httpStatus: 403
}
我正在使用的代码:
message.guild.roles.cache.forEach(roles => {
roles.delete()
.then(deleted => console.log(`Deleted role ${deleted.name}`))
.catch(console.error);
【问题讨论】:
-
与其试图隐藏错误,不如尝试修复它们。 Bot 没有足够的权限。尝试授予您的机器人管理员权限并将其保持在角色层次结构的顶部。
标签: node.js exception discord.js