我希望我的机器人能够将特定角色赋予以其ID声明的特定用户。 我尝试了const user = bot.users.cache.get(args [2]); user.roles.add(“角色ID”)
答案 0 :(得分:3)
这里的问题是,您获得的是User对象,而不是GuildMember对象。用户没有与公会关联,因此不能具有角色。您通常希望在不涉及行会特定操作(例如直接消息传递)的情况下使用用户。
您不能直接从Client对象获取成员,但是可以获取Client.guilds.cache
然后检索公会,然后使用Guild.members.cache
从Guild对象获取成员。
但是,像这样的权限系统的大多数实现都要求具有较高权限的用户运行命令以向新用户授予权限。这意味着您可以直接从调用bot命令的Message对象中使用Message.guild.members.cache.get()
。
答案 1 :(得分:1)
如果您已经拥有用户 ID,则可以使用以下代码获取用户对象。
const client = new Discord.Client();
let thanos = client.users.fetch('IDHERE');
thanos.then(function(result1) {
//put your code that uses the result1 (the user object) here
//for example, you could do var imgURL = result1.displayAvatarURL();
});