使用表情赋予角色不和谐.js



在我的 discord 服务器中,作为一种验证方法,我希望我的机器人让所有用户对消息做出反应,然后获得已验证角色,并删除旧角色。我拥有的当前代码不会授予或删除角色,但不会出错。

client.on("messageReactionAdd", function(users) {
users.addRole(users.guild.roles.find("name", setup.verify));
users.removeRole(users.guild.roles.find("name", setup.default));
});

当前代码中存在问题。messageReactionAdd 事件返回一个 User 对象,该对象不包含您尝试访问的属性.guildsusers.guilds.r-

取而代之的是,也许您应该id User对象并将其插入message.guild.members.get("id here")。然后将返回的 Member 对象与当前代码一起使用。这应该有效!

引用:

公会会员、消息反应事件、用户对象

这样

的东西会起作用吗?我不确定它是否会我没有测试过它。如果他们对消息做出反应的消息包含单词"role1",则应添加角色,如果他们对不同的消息做出反应,则会删除该角色。我不知道这是否是你想要的,但理论上这应该有效。

 client.on("MessageReactionAdd", function(users) {
if (message.content === "role1") {
  users.addRole(users.guild.roles.find("name", setup.verify))
} else if (!message.content === "role1") {
  user.removeRole(users.guild.role.find("name", setup.default))
}
});

角色的名称是 setup.verify & setup.default?
如果没有,这就是它不起作用的原因。

尝试:

client.on("messageReactionAdd", function(users) {
users.addRole(users.guild.roles.find("id", ROLEIDHERE));
users.removeRole(users.guild.roles.find("id", ROLEIDHERE));
});

其中 ROLEIDHERE 放置role id以查找角色 ID 只需标记角色,在点击发送之前,在标记之前放置 \,它将提供 ID

最新更新