@ArkHiMed-tech

403 Forbidden при попытке выдать роль в discord.py?

У меня есть код:
intents = discord.Intents.all()
bot = commands.Bot(command_prefix = settings['prefix'], intents=intents)

@bot.event
async def on_member_join(member):
    await member.send(f"Thanks for Joining {member.guild.name}")
    role = discord.utils.get(member.guild.roles, id=123456)
    await member.add_roles(role)


И там, где я пытаюсь выдать роль, он выдает "discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions", хотя я разрешил ему абсолютно все (от администратора на сервере до строчки "intents = discord.Intents.all()"
  • Вопрос задан
  • 1564 просмотра
Решения вопроса 1
Alexandre888
@Alexandre888 Куратор тега Discord
Javascript-разработчик
смотря какую роль вы хотите выдать.
например, если бот имеет роль "Admin", со всеми правами (включая права администратора), он не сможет:
1) выдать кому-либо роль Admin, удалить у себя роль Admin.
2) выдать кому-либо роль, которая в списке ролей находится выше, чем Admin.

манипулировать абсолютно всеми ролями может только владелец сервера.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
В теории, права администратора не дают возможности ботам как-то взаимодействовать с людьми, у которых роль выше. Также, скорее всего вы пытаетесь выдать человеку роль, которая является более привилегированной, нежели роль бота. В общем, роль бота должна быть выше других.

Ещё люди говорят, что проблема может быть если на сервере включена 2FA, в таком случае владельцу бота тоже стоит ее включить
Ответ написан
Ваш ответ на вопрос

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

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