@Cronus

Как сделать проверку роли у пользователя и выдачи второй роли, если первая роль есть?

Делаю бота в дискорд, и надо сделать проверку наличии роли у участника(участников) роли и выдачи ещё одной роли, когда выдаётся роль человеку ему бот выдаёт ещё одну роль(разделитель), написал этот код и он не работает. Помагите решить эту проблему, пожалуйста. Просто я новичок в программировании, не судите строго.
@bot.event
async def on_guild_update(self):
   if disnake.utils.get(ctx.guild.roles, id='1066845689209966653') not in ctx.author.roles: #Manage Discord
         role = Guild.get_role(1137097180126138421) #Разделитель
         await member.add_roles(role)
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Программа не работает как именно? Отсутствие реакции? Сообщение об ошибке? Комп встаёт со стола и идёт искать Сару Коннор?
Далее, ты проверил, on_guild_update() вообще вызывается? Хотя бы временный print() в начало вставь.
Потому что если почитать документацию, там английским по белому написано:
This requires Intents.guilds to be enabled.

Какие интенты ты задаёшь боту?

Ещё важнее: а причём тут вообще on_guild_update()? Это событие отрабатывает, когда изменяются настройки сервера, а из твоего описания следует, что тебя интересуют роли участников. За это отвечает on_member_update().

Короче, нужно прояснить происходящее.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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