使用 Discord.js 检测到添加的特定角色时删除另一个角色

Posted

技术标签:

【中文标题】使用 Discord.js 检测到添加的特定角色时删除另一个角色【英文标题】:Removing another role when a specific role added is detected with Discord.js 【发布时间】:2021-01-31 06:28:16 【问题描述】:

我想知道是否有人可以帮助我解决我当前机器人中的 Discord.js sn-p 代码。

我希望在下面的这些代码行中添加删除角色 --- 所以基本上我的机器人正在检测何时发生特定于添加的角色的角色更改。然后一旦发生,它就会剥离其中一个角色——如果这有意义吗?

if
  (!oldMem.roles.find(x => x.name === "Inactive") && newMem.roles.find(x => x.name === "Inactive"))
      client.channels.get("547932494259814410").send(`:bell: $newMem THere is a new inactive <@&662373687726440461>...`);

我想从用户中删除的角色是角色 ID 560860499894337538 - 虽然不是每个人都会有这个角色,所以我希望这可以在 BOT 不会出错的情况下完成。

【问题讨论】:

你能显示错误吗? 【参考方案1】:

我添加的代码将尝试找到您要删除的角色,如果找到则将其删除。

if (!oldMem.roles.find(x => x.name === "Inactive") && newMem.roles.find(x => x.name === "Inactive")) 
    client.channels.get("547932494259814410").send(`:bell: $newMem There is a new inactive <@&662373687726440461>...`);

    const role = message.member.roles.get('560860499894337538');

    if (role) newMem.roles.remove(role).catch(console.log);

【讨论】:

以上是关于使用 Discord.js 检测到添加的特定角色时删除另一个角色的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js :将特定服务器上的角色添加到 DM 机器人的用户

Discord.js v12 角色添加到提到的用户问题

discord.js - 有角色授予权限

无法添加角色,Discord.js

如何检查用户是不是具有特定角色 discord.js v12? [复制]

Discord.js 获取所有具有特定角色的成员