【问题标题】:How to check if a user has a role from another Discord server如何检查用户是否具有来自另一个 Discord 服务器的角色
【发布时间】:2021-08-11 20:20:34
【问题描述】:
所以我的机器人 DinoCord 具有经济功能,我想降低特定角色(“高级”)的冷却时间。问题是我不知道如何检查用户是否在所有服务器上都有角色。
目前我们使用这个 if
(!message.member.roles.some(role => role.id === "678114167902830610"))
但这只会检查角色所在的支持服务器,而不会检查其他地方。所以我的问题是有没有办法检查用户在所有其他服务器中是否具有我的support server 的角色?
这是它的 gif。
【问题讨论】:
标签:
javascript
discord
discord.js
【解决方案1】:
对于 Discord.js v11(您似乎正在使用):
// your support server
const supportGuild = client.guilds.get('673691776317390868')
const member = supportGuild.members.get(message.author.id)
const hasPremium = member ? member.roles.get('678114167902830610') : false
对于 v12 和 v13:
// your support server
const supportGuild = client.guilds.cache.get('673691776317390868')
const member = supportGuild.members.cache.get(message.author.id)
const hasPremium = member ? member.roles.cache.get('678114167902830610') : false