#python #api #discord #discord.py
#python #API #Discord #discord.py
Вопрос:
Я пытаюсь получить статус пользователя без использования какого-либо языка discord API (например. discord.py discord.js ). Проблема, с которой я сталкиваюсь, заключается в том, что пользователь из discord API не возвращает статус пользователя, как я могу получить эту информацию?
import urllib.request as req
headers = {'Authorization': f"Bot " "YOUR BOT TOKEN"}
with req.urlopen(req.Request("https://discord.com/api/users/<USER ID>", headers = headers )) as get:
print(get.read())
# Now getting the user through a server
with req.urlopen(req.Request("https://discord.com/api/guilds/<GUILD ID>/members/<USER ID>", headers = headers)) as get:
print(get.read())
Оба при запуске возвращают информацию о пользователях, такую как идентификатор, имя и т.д. Но не указывайте статус пользователя, который я пытаюсь получить
Комментарии:
1. всегда помещайте полное сообщение об ошибке (начинающееся со слова «Traceback») в вопрос (не комментарий) в виде текста (не скриншота). Есть и другая полезная информация.
2. API обычно не заботятся о
User Agent
но я не понимаю, почему вы используете ссылку вUser Agent
заголовке — это неправильный метод для отправки авторизации.3. Ошибки нет. Я отредактировал его, чтобы сказать, что API возвращает информацию о пользователях, такую как ID, имя и т.д. которые не включают статус пользователя, который я пытаюсь получить. Но да, пользовательский агент бессмыслен. Я использовал URL, потому что в API указано discord.com/developers/docs /…
4. какой статус? Вы проверили в документации, отправляет ли его Discord? Может быть, он никогда не отправляет его? Или, может быть, для этого нужны какие-то особые привилегии?
5. Как в статусе пользователя (например, онлайн, оффлайн …). Потому что, если я прав, языки API используют один и тот же discord API. Если это так, и они могут получить статус, то должен быть способ сделать это без них?
Ответ №1:
Вы должны использовать шлюз для получения статуса пользователей, поскольку discord не отправляет их в конечные точки get member / user, вы можете увидеть событие здесьhttps://discord.com/developers/docs/topics/gateway#presence-update