我怎样才能找到空间的角色?
Posted
技术标签:
【中文标题】我怎样才能找到空间的角色?【英文标题】:How i can find a role with space? 【发布时间】:2020-09-06 06:22:09 【问题描述】:所以我正在尝试创建一个机器人,它将赋予在商店购买它的用户角色 !buy
在互联网上,我找到了两种搜索角色的方法,但它们对我没有帮助,我有一个带空格的角色,机器人不想寻找它
let author = db.fetch(`money_$message.author.id`)
if (args[0] == 'Coin Owner 500k')
if (author < 500000) return message.channel.send('You need at least 500000 coins')
message.guild.members.get(message.author.id).roles.add(message.guild.roles.get('Coin Owner 500k')
db.subtract(`money_$message.author.id`, 500000)
message.channel.send(message.author.tag + 'Role added to you!')
```
【问题讨论】:
【参考方案1】:get
方法将尝试检索角色,这要归功于它的 ID,在您的代码中,就像您说“我想要 ID 为 Coin Owner 500k
的角色”但您实际上需要按名称获取它,不是 ID。
因此,要通过角色名称获取角色,您可以使用 find
方法:
// This will return the role named "Coin Owner 500k" if it exists
message.guild.roles.cache.find(role => role.name === "Coin Owner 500k");
(注意通过get
方法通过角色ID获取角色效率更高,您可以在Discord上右键单击“复制标识符”获取所需角色的ID)
【讨论】:
我很确定是message.guild.roles.cache.find(role => role.name === 'Coin Owner 500k')
是的,你是对的!多谢指正,答题时稍有疏忽。以上是关于我怎样才能找到空间的角色?的主要内容,如果未能解决你的问题,请参考以下文章
我怎样才能允许人们使用 discord.py 只踢低于其角色的成员?
我想在指定历史表中添加不同持续时间的多个工作角色。我怎样才能在 ABAP 中获得它?