我想看看某人是否有角色,但我想检查角色 ID 而不是角色名称
示例:
@client.command()
@guild_only()
@commands.has_role(role_id='2374623645')
async def test(ctx):
await ctx.send('test')
答案 0 :(得分:0)
我想如果你有一个角色 ID,你可以把它转换成一个角色名称。
@client.command()
@guild_only()
role_id='2374623645'
role_name = my_server.get_role(role_id)
@commands.has_role(role_name)
async def test(ctx):
await ctx.send('test')
答案 1 :(得分:0)
这将是找出某人是否具有目标角色的完整示例。
语法:[prefix]test <Member mention/ID>
如果没有提供成员,它将删除调用消息并发送错误。否则,它会检查成员是否具有通过 discord.utils.get() 获得的角色并提供结果。
@client.command()
@guild.only()
async def test(ctx, member: discord.Member=None):
await ctx.message.delete()
if member is None:
await ctx.send("You need to provide a member ID/Mention.")
return
else:
pass
target_role = discord.utils.get(ctx.guild.roles, id=123456789012345678)
if target_role in member.roles:
await ctx.send(f"{member} does have the target role.")
else:
await ctx.send(f"{member} does not have the target role.")