Discord.Js 添加角色

Posted

技术标签:

【中文标题】Discord.Js 添加角色【英文标题】:Discord.Js add role 【发布时间】:2021-01-28 21:11:18 【问题描述】:

我想做静音命令,但是当我做命令时,控制台输出是(node:67916) UnhandledPromiseRejectionWarning: TypeError: msg.guild.roles.get is not a function 有什么想法可以解决这个问题吗?

【问题讨论】:

你能分享你使用的代码吗? 假设您使用的是 v12.x,请确保使用缓存。 msg.guild.roles.cache.get() 这能回答你的问题吗? How can I migrate my code to Discord.js v12 from v11? 【参考方案1】:

正如错误消息所说,msg.guild.roles.get 不是一个函数。不看代码很难回答问题,你应该经常分享你的代码,但是找到和添加角色的正确方法如下:

const role = message.guild.roles.cache.find(role => role.name === 'Muted');
const member = message.mentions.members.first();
if(!member) member = message.author;
member.roles.add(role);

自从更新到 V12 后,重要的是在尝试获取角色、成员或公会时必须包含 .cache 位。

【讨论】:

非常感谢您的回答,我尝试了您的代码,但现在又遇到了另一个错误。 (node:3584) UnhandledPromiseRejectionWarning: ReferenceError: message is not defined @dxkyy 该代码被设计为放入 client.on("message" => 消息中,但如果您不这样做,它将不会被定义。您能否发送您的部分当前代码? 这正是我们需要您的代码来回答您的问题的原因@dxkyy 因为他们使用msg作为参数名而不是message @dxkyy 在我放置message 的代码中的任何地方,将其更改为msg,它应该可以工作。感谢 Lioness100 指出这一点!

以上是关于Discord.Js 添加角色的主要内容,如果未能解决你的问题,请参考以下文章

无法添加角色,Discord.js

如何从提及 discord.js 添加角色

Discord.Js 添加角色

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

Discord.js v12 - 如何添加角色?

为用户添加角色 discord.js