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

Можете проверить что тут не так и почему не работает?

Проверьте код, первое if он выполняет и пишет в лс, но 2 if не работает он не выдает роль, и вообще не реагирует на эту команду.
@bot.event
async def on_message(m):
  if m.content == "Привет":
      await m.author.send("Как дела?")
      
  if m.guild is None and not m.author.bot:
        if m.content == "Хорошо":
            member = m.author
            role = discord.utils.get(member.guild.roles, id=908718776525135922)
            await member.add_roles(role)
  • Вопрос задан
  • 171 просмотр
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по информационной безопасности + ИИ
    9 месяцев
    Далее
Решения вопроса 1
SoreMix
@SoreMix
yellow
вообще не реагирует на эту команду

Не может быть такого.
Ошибки в консоли?

Вы получаете объект User, а не Member, потому что чат приватный.
https://discordpy.readthedocs.io/en/stable/api.htm...

У объекта Member нет поля с сервером, соответственно ему так же нельзя выдать роль, потому что непонятно, на какой сервер роль в принципе должна выдаваться
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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