首页 > 解决方案 > 宣布成员角色添加到特定频道中的特定角色

问题描述

我想让我的机器人在我们称为家庭谈话的特定频道中宣布,我也有频道 ID,但不知道把它放在哪里,但我希望这只有在角色已经完成时才会发生添加到会员,我下面的代码是正确还是错误?我没有很多好的测试方法,所以我希望在这里能得到一些很大的帮助。我也想知道放置代码的最佳位置。谢谢!

   if(!oldMember.roles.has('539208166563643407') && newMember.roles.has('561773668439687179'))
   client.channels.get("550197572178935809").send("This member got the special role!");

标签: node.jsdiscord.js

解决方案


您的代码应该可以工作,但是如果您在 if 中有 2 个不同的 ID,因此要使代码更简洁,只需执行以下操作:

const roleID = '539208166563643407';
const channelID = '550197572178935809';

client.on('guildMemberUpdate', (oldMember, newMember) => {
    if(!oldMember.roles.has(roleID) && newMember.roles.has(roleID)) {
        client.channels.get(channelID).send(newMember.displayName + ' got the special role!');
    }
});

推荐阅读