Как сделать так, чтобы как только бот зайдет на сервер в дискорде, он создавал роль muted?

Я знаю, как сделать так, чтобы он выдавал эту роль, но без понятия как сделать так, чтобы ее создать


Ответы (2 шт):

Автор решения: xoheveras
@Bot.command()
@commands.has_permissions(Administrator=True)
async def start(ctx):
    guild = ctx.guild
    perms = discord.Permissions(2048)
    await guild.create_role(name="muted", Permissions=perms) # Создание роли
    await ctx.send("Успешно")
→ Ссылка
Автор решения: RAINGM

Это делается через ивент on_guild_join

@bot.event
async def on_guild_join(guild:discord.Guild):
    for role in guild.roles:
        if role.name == "muted":
            pass # role already exists
        else:
            permissions = discord.Permissions(read_messages=True)
            return await guild.create_role(name='muted', permissions=permissions)

Лучше роль сразу записывать в базу данных, чтобы было легче проверять её наличие по присоединению к серверу

→ Ссылка