“无法读取未定义的属性”缓存”

我尝试搜索此问题以及如何在StackOverflow上修复它,但在我的情况下找不到有效的答案。


我正在尝试创建我的机器人状态,以显示它所在的每个服务器中的用户数。假设,1 台服务器有 5 台,第二台服务器有 5 台。它会将用户计数加在一起,并显示“我正在2台服务器中观看10个用户”或类似的东西。


法典:


            bot.guilds.cache.forEach((guild) => {

              guild.members.fetch().then(g => {

                  let count = 0;

                  g.members.cache.forEach((member) => { <--- error occurs here

                      count++;

                  });

                  console.log(count);

              });

            });


白衣非少年
浏览 64回答 2
2回答

心有法竹

你可以使用属性公会.成员计数来做到这一点。只需映射公会集合,并获得减少的总结。const totalMembers = bot.guilds.cache.map(guild => guild.memberCount).reduce((accumulator, currentValue) => {&nbsp; &nbsp; return accumulator + currentValue}, 0)完整的解决方案const Discord = require('discord.js')const bot = new Discord.Client();bot.on('ready', () => {&nbsp; &nbsp; setInterval(() => {&nbsp; &nbsp; &nbsp; &nbsp; const totalMembers = bot.guilds.cache.map(guild => guild.memberCount).reduce((accumulator, currentValue) => {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return accumulator + currentValue&nbsp; &nbsp; &nbsp; &nbsp; }, 0)&nbsp; &nbsp; &nbsp; &nbsp; const totalGuilds = bot.guilds.cache.size&nbsp; &nbsp; &nbsp; &nbsp; bot.user.setPresence({ activity: { name: `${totalMembers} members in ${totalGuilds} servers`, type: 'WATCHING' }});&nbsp; &nbsp; }, 1000 * 60 * 10);})

慕桂英3389331

您收到的错误是因为 g.成员没有成员。bot.guilds.cache.forEach((guild) => {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; guild.members.fetch().then(g => {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; let count = 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; g?.members?.cache?.forEach((member) => {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; count++;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.log(count);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });还要检查成员为什么不参加回迁呼叫的原因。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript