Как сделать так, чтобы как только бот зайдет на сервер в дискорде, он создавал роль 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)
Лучше роль сразу записывать в базу данных, чтобы было легче проверять её наличие по присоединению к серверу