首页 > 解决方案 > 为什么discord找不到角色?

问题描述

我正在尝试创建一个角色并将此角色授予用户。
这是我的代码:

msg.guild.createRole({
  name: msg.author.username,
  color: "#ff0000",
})
const role = msg.guild.roles.find(role => role.name = msg.author.username)
msg.member.addRole(role)

我有这个错误

(node:5776) UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown Role

标签: discord.js

解决方案


免责声明:您似乎正在使用 discord.js@v11,所以我的答案将是那个版本

那是因为Guild.createRoles()它是异步的:它返回 a Promise,所以你必须等待它完成。
以下是您的操作方法:

msg.guild.createRole({
  name: msg.author.username, 
  color: "#ff0000"
}).then(role => {
  // You don't even need to search for it, since the role is what the Promise resolves to
  msg.member.addRole(role)
})

推荐阅读