javascript - 即使机器人是管理员,Discord JS 管理角色权限也丢失
问题描述
我的 Discord 机器人没有将角色添加到使用该命令的用户。
我的代码:
if (userCmd.toLowerCase() === `${prefix}verify`) {
if (message.member.roles.cache.find(role => role.name === 'Rookie' && message.channel.id === '71xxxxxxxxxxx10')) {
const rookieRole = message.member.guild.roles.cache.find(role => role.name === 'Rookie')
const proRole = message.member.guild.roles.cache.find(role => role.name === 'Pro')
try {
if (message.guild.me.permissions.missing('MANAGE_ROLES')) return message.reply('I\'m missing permissions.');
if (message.author.id === message.guild.ownerID) return message.reply('I can\'t change your ROLE.');
message.member.roles.add(proRole)
} catch(err) {
console.error(err);
}
}
我尝试了所有可能的方法:删除并再次添加了具有所有权限的机器人,将 BOT ROLE 移动到角色层次结构的顶部,等等。
DiscordAPIError: Missing Permissions
编辑:
无缘无故,使用只message.member.roles.add(proRole)
使我的机器人工作:v
解决方案
推荐阅读
- java - 如何理解“新”Java 飞行记录器 ObjectAllocationSample 事件?
- python - python 中关于依赖关系的表格错误(colab 和本地)
- windows - 从 Windows 机器 SSH 到 Kubernetes 主节点
- webpack - 错误:找不到模块“webpack/lib/NamedModulesPlugin”
- jquery - 如何在jQuery中向下滑动按钮
- bash - 为什么通过 bash 变量传递 `-ex` 命令为 gdb 命令行设置断点失败?
- linux - 使用 CONFIG_DEBUG_LOCK_ALLOC 构建内核时 ZFS 中的许可问题
- jquery - 替换选项值的每个实例,对我不起作用
- azure-active-directory - 在对 identifierUris 进行重大更改后,无法再设置 B2C 作为 SAML IDP
- python - 没有名为“camelot.ext”的模块