@doom25

Почему не выдаётся роль автоматически?

Здравствуйте. Мне не выдаётся роль на сервере автоматически. В cmd ошибок не выводит никаких. Помогите пожалуйста.

P.S. Вот код:
#Autorole
@Bot.event
async def on_member_join(member):
    if role := member.guild.get_role(769849037137641482):
        await member.add_roles(role)
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 3
SoreMix
@SoreMix Куратор тега Python
yellow
Неправильное использование :=
Используйте !=, соответственно роль предварительно нужно будет занести в переменную role
Ответ написан
igor_89squad
@igor_89squad
Python
Писал тоже бота на дискорд.
Лучше так сделать.
@bot.event # Когда человек заходит на канал бот приветствует его.
async def on_member_join(member):
    channel = bot.get_channel(id канала)
    await member.add_roles(discord.utils.get(member.guild.roles, id=роль))
    await channel.send(f'Добро пожаловать {member.name}!')
Ответ написан
Проверьте, что роль с указанным ID существует. Например, вручную упомянув указанную роль по ID, отправив упоминание роли вручную: <@&769849037137641482>.

Если роль существует, так же убедитесь что вы имеете все необходимые intents. on_member_join требует Members intent: https://discordpy.readthedocs.io/en/stable/api.htm...
7Nmbvar.png
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы