【问题标题】:How to get users status from the discord API (URL)如何从 discord API (URL) 获取用户状态
【发布时间】:2020-12-17 15:48:45
【问题描述】:

我试图在不使用任何不和谐 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())

运行时都返回用户信息,如 ID、姓名等。但不包括我试图获取的用户状态

【问题讨论】:

  • 总是将完整的错误消息(从单词“Traceback”开始)作为文本(不是屏幕截图)放在有问题的(不是评论)中。还有其他有用的信息。
  • API 通常不关心 User Agent,但我不明白为什么您在 User Agent 标头中使用链接 - 发送自动化不是正确的方法。
  • 没有错误。我已经编辑它说 API 返回用户信息,如 ID、姓名等,其中不包括我试图获取的用户状态。但是,是的,用户代理毫无意义。我使用了一个 url,因为它在 API discord.com/developers/docs/… 中说
  • 什么状态?如果 Discord 发送了文档,您是否检查了文档?也许它永远不会发送它?或者它可能需要一些特殊的特权?
  • 与用户状态一样(例如在线、离线...)。因为如果我是正确的 API 语言使用相同的不和谐 API。如果是这样并且他们可以获得状态,那么必须有一种方法可以在没有他们的情况下做到这一点?

标签: python api discord discord.py


【解决方案1】:

您必须使用网关来获取用户状态,因为不和谐不会在获取成员/用户端点中发送他们,您可以在此处查看事件https://discord.com/developers/docs/topics/gateway#presence-update

【讨论】:

    猜你喜欢
    • 2020-09-09
    • 1970-01-01
    • 1970-01-01
    • 2022-06-19
    • 2021-04-03
    • 2021-11-04
    • 1970-01-01
    • 2011-03-16
    • 2023-04-11
    相关资源
    最近更新 更多