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 添加角色的主要内容,如果未能解决你的问题,请参考以下文章