Я пишу бота с интерфейсом Discord: он подключен к более чем одному серверу (гильдии) и в настоящее время мне нужна система аутентификации, чтобы ограничить ее использование.
Я думал, что смогу получить все роли пользователей и проанализировать их позже, когда это необходимо. Я так и сделал:
Код: Выделить всё
@client.event
async def on_ready():
...
for guild in client.guilds:
for member in guild.members:
for role in member.roles:
if role.name == "Test":
print("USER_ID: %d - ROLE: %s" % (member.id, role.name))
Итак, мой вопрос: есть ли простой способ проверить на лету роли пользователей во взаимных гильдиях при получении сообщения?Прокрутив официальный API, единственный способ узнать взаимные гильдии пользователей — это Profile(), но как бот я получаю запрещенную ошибку, как говорит API.
Код: Выделить всё
@client.event
async def on_message(message):
...
profile = await message.author.profile()
Код: Выделить всё
discord.errors.Forbidden: FORBIDDEN (status code: 403): Bots cannot use this endpoint
Мне нужно проверять роли пользователей даже в личных сообщениях, поэтому необходимо получить взаимные_гильдии
Подробнее здесь: https://stackoverflow.com/questions/558 ... py-rewrite
Мобильная версия