为什么client.guilds.cache.size在我的游戏状态中只显示"0",即使它在2台服务器中也是如此?



我见过很多人在client.guilds.size遇到问题,但我切换到最近建议的client.guilds.cache.size。在我的播放状态下,它只说尝试获取成员计数和通道计数时"WATCHING my prefix | 0 servers."也会发生同样的情况。

let activities = [ `${client.guilds.cache.size} servers`, `${client.channels.cache.size} channels`, `${client.users.cache.size} users` ], i = 0;
setInterval(() => client.user.setActivity(`${prefix}help | ${activities[i ++ % activities.length]}`, { type: "WATCHING"}),`${process.env.INTERVAL}`)

这是我用来实现这一点的脚本。 我已经有一个 Eval 命令,它也返回 2。

我似乎无法以某种方式找到解决方案。 希望你能帮到我,有什么需要,告诉我!

您的问题是您的client在您获取guilds集合之前尚未登录

您需要将该代码放在ready事件中。

client.on('ready', () => {
let activities = [ `${client.guilds.cache.size} servers`, `${client.channels.cache.size} channels`, `${client.users.cache.size} users` ], i = 0;
setInterval(() => client.user.setActivity(`${prefix}help | ${activities[i ++ % activities.length]}`, { type: "WATCHING"}),`${process.env.INTERVAL}`)
})

相关内容

最新更新