Discord.js v12 角色添加到提到的用户问题
Posted
技术标签:
【中文标题】Discord.js v12 角色添加到提到的用户问题【英文标题】:Discord.js v12 Role add to mentioned user problem 【发布时间】:2020-10-12 18:41:37 【问题描述】:所以我正在尝试创建一个类似$roletested @user
的命令,它应该为用户提供提到的特定角色。我收到一个错误,称为:_“无法读取未定义的属性'角色'......请帮帮我,这是我的代码:D
【问题讨论】:
【参考方案1】:您的代码已修复
if (message.content.startsWith(prefix + "roletested"))
if (!message.member.hasPermission('MANAGE_ROLES')) return message.channel.send('You do not have that permission! :x:').then(message.react(':x:'))
let testedRole = message.guild.roles.cache.get('724676382776492113');
let testedUser = message.mentions.members.first();
if(!testedUser) return message.channel.send("You have to mention the person you want to assign the role to!").then((declineMsg) => message.react('❌')
declineMsg.delete(timeout: 5000);
);
testedUser.roles.add(testedRole);
message.channel.send("Added the role `TESTED` to user.")
【讨论】:
乐于助人:D【参考方案2】:我修复了你的代码:
我点了点东西(代码一样,我只是改了点) 你不能使用message.guild.roles.cache.find(...)
所以我把它改成了message.guild.role.cache.get('Role ID')
来源:Link
代码:
if (message.content.startsWith(prefix + 'roletested'))
const testedUser = message.mentions.members.first();
if (!message.member.hasPermission('MANAGE_ROLES')) return message.channel.send('You do not have that permission! :x:').then(message.react(':x:'));
if (!testedUser)
message.channel.send('You have to mention the person you want to assign the role to!').then(declineMsg =>
message.react('❌');
declineMsg.delete( timeout: 5000 );
return;
);
const testedRole = message.guild.roles.cache.get('395671618912780289');
testedUser.roles.add(testedRole);
message.channel.send('Added the role `TESTED` to user.');
我在我的机器人上测试了这段代码,它按预期工作。
【讨论】:
以上是关于Discord.js v12 角色添加到提到的用户问题的主要内容,如果未能解决你的问题,请参考以下文章
如何检查我的机器人是不是可以在 discord.js v12 中添加角色?
如何检查用户是不是具有特定角色 discord.js v12? [复制]