如何检查discord.py中是否已经存在角色

时间:2019-12-02 20:40:00

标签: python python-3.x discord.py

如何检查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))

1 个答案:

答案 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))