使用 PHP 获取 Discord 中的成员总数

iTe*_*TeY 4 php discord

我有一个拥有 1361 名成员的 Discord 服务器,我想在我的网站上显示加入用户的总数。

我已经弄清楚如何使用以下方法获取服务器上的所有在线会员:

   <?php

    $jsonIn = file_get_contents('https://discordapp.com/api/guilds/356230556738125824/widget.json');
    $JSON = json_decode($jsonIn, true);

    $membersCount = count($JSON['members']);

    echo "Number of members: " . $membersCount;
   ?>
Run Code Online (Sandbox Code Playgroud)

我应该采取什么不同的措施来获取已加入服务器的所有用户的总数,而不仅仅是显示在线成员?

小智 5

现在,我意识到我在这里恢复了一个相当旧的线程,但我认为有些人可能仍然使用答案。正如 jrenk 指出的那样,您应该访问https://discordapp.com/api/guilds/356230556738125824/members.

你的404: Unauthorized说法来自于这样一个事实:你——你猜对了——没有被授权。如果您创建了一个机器人,那么这相当简单:只需添加一个请求标头Authorization: Bot YOUR_BOT_TOKEN_HERE。如果您使用普通的 Discord 帐户,整个问题会有点棘手:
您首先必须POST向 发送请求https://discordapp.com/api/auth/login并将正文设置为{"email": "EMAIL_HERE", "password": "PASSWORD_HERE"}。您将收到带有参数的响应token。保存此令牌,稍后您将需要它。但:

在任何情况下都不要向任何人显示此令牌,因为它相当于您的登录凭据!

使用此令牌,您现在可以将POST请求发送到同一地址:https://discordapp.com/api/auth/login,但现在添加 header Authorization: YOUR_BOT_TOKEN_HERE。请注意开头缺少的“Bot”。

另外,你不能忘记的是:

如果不添加参数?limit=MAX_USERS,则只会获得第一个公会成员。请看这里以查看详细信息。