[英]How can i check if a user has a specific role
@bot.command()
async def help(ctx):
Log = open("logs/log.md", "a")
Log.write(f"\n {ctx.message.author} used (help) ")
color = int(0xecec28)
guild = ctx.guild
CommandReplyHelpPerms = open("helpCmd/CommandReplyHelpPermsNeeded.md", "r")
CommandReplyHelpPerms2 = open("helpCmd/CommandReplyHelpPermsNeeded2.md", "r")
CommandReplyHelpPerms3 = open("helpCmd/CommandReplyHelpPermsNeeded3.md", "r")
role5 = discord.utils.get(guild.roles, name="PERM-mod")
role6 = discord.utils.get(guild.roles, name="PERM-admin")
role7 = discord.utils.get(guild.roles, name="Moderator")
if not role5:
role5 = await guild.create_role(name="PERM-mod", colour=discord.Colour(color))
if not role6:
role6 = await guild.create_role(name="PERM-admin", colour=discord.Colour(color))
CommandReplyHelpNoPerms = open("helpCmd/CommandReplyHelpNoPerms.md", "r")
embed2 = discord.Embed(title="Help", description=f"Zeigt alle Befehle mit der zugehörigen Syntax an",colour=0xecec28)
embed2.add_field(name="Help", value="Befehle MIT benötigten Berechtigungen", inline=False)
embed2.add_field(name="Allgemeine Befehle", value=CommandReplyHelpPerms.read(), inline=False)
embed2.add_field(name="Mute/Warn/Softban", value=CommandReplyHelpPerms2.read(), inline=False)
embed2.add_field(name="ModRoles/Permissions", value=CommandReplyHelpPerms3.read(), inline=False)
embed = discord.Embed(title="Help", description=f"Zeigt alle Befehle mit der zugehörigen Syntax an",
colour=0xecec28)
embed.add_field(name="Befehle OHNE benötigte Berechtigungen", value=CommandReplyHelpNoPerms.read(),
inline=False)
if role7 in user.roles:
await ctx.send(embed=embed2)
else:
await ctx.send(embed=embed)
Log.write(f" : (help) executed successfully")
Log.close()
我有這段代碼,但我不知道如何檢查用戶是否有角色。 我查看了 Inte.net,但它不工作。 我也試過 Member.roles。 有人能幫我嗎?
你也許可以做這樣的事情:
role = (insert role id here) #specifys the role
if role in ctx.message.author.roles: #checks if member has role
(insert code needed)
老實說,我對您想在這里做什么感到非常困惑(這就是為什么我添加了“需要插入代碼)部分)所以下次嘗試指定您需要幫助的內容,並提供一小段您想要關注的代碼上。
要檢查 discord.py 中的角色,如果您在命令中,請執行以下操作:
role = ctx.guild.get_role(role id here) #by id
role = discord.utils.get(guild.roles, name="name here") #by name
if role in ctx.author.roles:
#do stuff
如果找不到,這兩個函數都不返回
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.