从 v11 迁移后,无法在 discord.js v12 中从服务器设置用户状态和记录用户数量
Posted
技术标签:
【中文标题】从 v11 迁移后,无法在 discord.js v12 中从服务器设置用户状态和记录用户数量【英文标题】:Cant set user status and log user amount from server in discord.js v12 after migrating from v11 【发布时间】:2020-10-15 19:18:12 【问题描述】:我知道的令人困惑的问题是正确的,但是在使用我朋友的机器人从 discord.js v11 迁移到 v12 后,我遇到了这个问题。
我无法获取服务器中的用户数量,
原始代码(v11):
client.on("ready", () =>
console.log(`jthefibot has started, with $client.users.size users, in $client.channels.size channels of $client.guilds.size servers.`);
client.user.setPresence(
status: "online",
game:
name: `jt.help for commands | Watching over the jTheFifthElement server with $client.users.size members.`,
type: "Watching"
);
);
在 v12 上启动机器人会引发此错误:"size" is not defined"
所以在我的控制台中,在迁移到 v12 后,我得到“机器人已在未定义的频道中以未定义的用户开始”,在 v11 中,我通常会得到“机器人已在 (x) 频道中以 (12) 个用户开始”
【问题讨论】:
【参考方案1】:我刚刚进行了迁移,遇到了同样的问题。
你必须更换:
client.users.size
通过
client.users.cache.size
在 .channels
和 .guilds
之前添加 .cache
作为其他变量。
您可以在此处阅读文档: https://discordjs.guide/additional-info/changes-in-v12.html#managers-cache
【讨论】:
以上是关于从 v11 迁移后,无法在 discord.js v12 中从服务器设置用户状态和记录用户数量的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:无法读取未定义的属性“hasPermission”
Discord.js user.send() 中的 ReactionCollector 不是函数