如何检查discord.py中是否已经存在角色
因此,我正在尝试创建角色的命令,但是如果该角色已经存在,则代码将不会创建新角色。
@bot.command()
async def modrole(ctx):
guild = ctx.guild
if guild.has_role(name="BotMod"):
await ctx.send("Role already exists")
else:
await guild.create_role(name="BotMod", colour=discord.Colour(0x0062ff))
答案 0 :(得分:2)
您可以使用discord.utils.get
遍历ctx.guild.roles
来查找具有该名称的对象:
from discord.utils import get
@bot.command()
async def modrole(ctx):
if get(ctx.guild.roles, name="BotMod"):
await ctx.send("Role already exists")
else:
await ctx.guild.create_role(name="BotMod", colour=discord.Colour(0x0062ff))