Задать вопрос
@vamggwp

Команда, при которой никнейм участника будет меняться и выдаваться роль не работает. Также не работает выдача роли при заходе на сервер?

@bot.event
async def on_member_join(member):
    if role := member.guild.get_role(418187634689139935):
        await member.add_roles(role)

@bot.command()
async def я(ctx, *, message):
    member = message.author
    role = discord.utils.get(lambda role: role.name == "Игрок", ctx.guild.roles)
    await member.add_roles(role)
  • Вопрос задан
  • 87 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
fenrir1121
@fenrir1121 Куратор тега discord.py
Начни с документации
if role := member.guild.get_role(418187634689139935):

Потому что это комбо из паскаля и мездумного использования конструкций
Зачем вообще if, если у вас захардкоженная роль, достаточно двух строк
async def on_member_join(member): 
  role = discord.utils.get(member.guild.roles, name="Имя роли")  #или id = role_id
  await member.add_roles(role)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы