如何找到我的机器人所在的公会数量?

Posted

技术标签:

【中文标题】如何找到我的机器人所在的公会数量?【英文标题】:How do I find how many guilds my bot is in? 【发布时间】:2019-01-05 09:47:29 【问题描述】:

我有一个不和谐的机器人,我只是想知道:我如何知道这个机器人在多少个公会中?所以如果我说-guilds,它会告诉我它在多少个公会中。

【问题讨论】:

【参考方案1】:

我将把命令留给你,但要获得机器人可用的公会,你必须使用<Client>.guilds

这是一个公会集合,所以要获得集合的大小,您只需<Client>.guilds.size

此信息也在discord.js docs 上。

我希望这会有所帮助!

- Trifex

更新

在 cmets 中,@NicoHd105 指出,从 discord.js v12 开始,检索机器人所属的所有公会集合的正确方法是 <Client>.guilds.cache,这意味着获取您必须使用的公会的大小<Client>.guilds.cache.size!

【讨论】:

由于 discord.js v12 现在是:"client.guilds.cache.size" btw 请记住,这是 client 的计数,而不是 bot。如果机器人很小,只有一个shard,那就没问题了。但是,如果您在其他客户端上有分片,计算计数会稍微复杂一些。【参考方案2】:

也是一个 .Net 样本

var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bot " + token);

HttpResponseMessage guildsResponse = await client2.GetAsync(@"https://discord.com/api/v6/users/@me/guilds");
jsonContent = await guildsResponse.Content.ReadAsStringAsync();

【讨论】:

【参考方案3】:

你试过discord.js中的.guilds方法吗

【讨论】:

"guilds" 甚至不是一种方法。它是“client”对象的一个​​属性。

以上是关于如何找到我的机器人所在的公会数量?的主要内容,如果未能解决你的问题,请参考以下文章

让机器人为它所在的每个公会创建邀请

公会加入事件打印机器人被邀请 - Discord.py

如果特定公会不存在,则数据库错误

获取当前用户公会 Discord

Discord.js 机器人离开公会

公会成员不再填充,不能 GetUserAsync 因为它只返回机器人而没有其他人