首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从服务器中删除角色

从服务器中删除角色
EN

Stack Overflow用户
提问于 2019-02-10 16:38:26
回答 1查看 8.3K关注 0票数 0

所以,叫我傻..。但我无法弄清楚如何永久地从服务器中删除一个角色。我有一个角色,为每一对用户正在玩一个渠道的游戏。其作用纯粹是只允许2名玩家在频道上发表评论。一旦游戏完成,我正在尝试删除这个角色。角色可以是两种格式中的一种,这取决于谁被指定为player A,哪个是先前单独命令中的player B。

下面的代码显示了以下错误:

“(节点:19308) UnhandledPromiseRejectionWarning: TypeError:无法读取属性‘删除’的空”

console.log(bRole)行显示的是两个用户的用户名,而不是昵称,所以这可能是查找结果为null的原因?该命令最初会提到。我不能删除所有角色或特定的角色ID,因为角色是在一个不同的命令中生成的,其中两个角色的名称作为角色标题。

以下是代码:

代码语言:javascript
运行
复制
// !endbrawl winner [username] loser [username]

      let messageArray = message.content.split(" ")
      let winner = messageArray[2]
      let winnerUser = message.mentions.users.first();
      let loser = messageArray[4]
      let loserUser = message.mentions.users.last();

    bRole = `${winner.displayName} vs ${loser.displayName}` || `${loser.displayName} vs ${winner.displayName}`
    console.log(bRole)
    guild.roles.find("name", bRole).delete();

我只是不知道该如何让机器人找到角色,这样它才能被移除。我可能只是错过了一些简单又简单的东西。谢谢你提前给我帮忙。

EN

回答 1

Stack Overflow用户

发布于 2019-02-11 18:10:35

Cannot read property 'delete' of null"表示guild.roles.find("name", bRole)返回了null,很可能是因为没有找到角色!您可以尝试使用普通的.find()

代码语言:javascript
运行
复制
guild.roles.find(role => role.name === 'RoleName').delete();

当角色改变你想要做的名字

代码语言:javascript
运行
复制
guild.roles.find(role => role.name == `${winner.displayName} vs ${loser.displayName}` || role.name ==`${loser.displayName} vs ${winner.displayName}`).delete();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54618588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档