Ответы пользователя по тегу Python
  • Не могу выдать роль по эмодзи (on_raw_reaction_add), что тут не так?

    @john_does13
    payload не имеет атрибута "author", у него есть атрибут "member", что в данном контексте должно вам подойти.
    Ответ написан
    Комментировать
  • Как сделать, чтобы бот на disnake (python) мог выдавать админку на сервере?

    @john_does13
    Не совсем понятно, что вам нужно.
    Вы уже написали функцию, которая выдаёт случайную роль с вашего списка "roles", если в этом списке будет роль с правами Администратора, то бот (в случае если сам является администратором и роль бота выше, чем выдаваемая роь) сможет выдать эту роль пользователю.

    Если же вы хотите дать какой-то роли права администратора, то читайте документацию по этому поводу.
    Там сказано, что объект Role (роль) имеет метод "edit()", у которого есть параметр "permissions". В свою очередь "Permissions" имеет атрибут "administrator", установив который в значение "True" вы сможете дать права администратора для определённой роли.
    А уже роль вы сможете выдать пользователю, как в вашем коде.
    Ответ написан
    2 комментария
  • Почему бот игнорит команду?

    @john_does13
    Почитайте документацию по Intents.
    Скорее всего ваш бот не видит обычные команды потому, что на своём портале разработчика в разделе намерений вашего бота вы не указали нужные (смотрите первую ссылку о документации). Но если коротко:
    1. Заходите на портал разработчика
    2. Выбираете своего бота
    3. Слева в меню переходите на вкладку "Bot"
    4. В разделе "Privileged Gateway Intents" включите намерение "MESSAGE CONTENT INTENT"

    Также в коде вам необходимо указать нужные намерения (intents) при создании бота. В нашем случае - это message_content:
    intents = disnake.Intents.default()
    intents.message_content = True
    bot = commands.Bot(command_prefix='!', intents=intents)
    Ответ написан
    5 комментариев