我有一个拥有 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,则只会获得第一个公会成员。请看这里以查看详细信息。
| 归档时间: |
|
| 查看次数: |
19386 次 |
| 最近记录: |