为什么我会收到这些错误?不和谐.js

时间:2021-04-12 11:01:26

标签: javascript discord.js

这是我服务器中会员柜台的代码

module.exports = (client) => {
  const channelId = '818930375501152314'

  const updateMembers = (guild) => {
    const channel = guild.channels.cache.get(channelId)
    channel.setName(`Members: ${guild.memberCount.toLocaleString()}`)
  }

  client.on('guildMemberAdd', (member) => updateMembers(member.guild))
  client.on('guildMemberRemove', (member) => updateMembers(member.guild))

  const guild = client.guilds.cache.get('818930375488962611')
  updateMembers(guild)
}

它一直工作得非常好,直到今天我莫名其妙地收到此错误时,我也卸载了一些软件包,这可能是导致这种情况发生的原因,但我重新安装了它,它仍然是这样

>

编辑: 是的,我看到频道不是小写并修复了该问题,但它仍然无法正常工作,我已经进行了将近一个小时的故障排除并进行了搜索,但仍然无法正常工作,仍然遇到此问题


c:\Users\myname\visual studio\bot\Cloud-hosted-bot\member-count.js:5
    const channel = guild.channels.cache.get(channelId)
                          ^

TypeError: Cannot read property 'channels' of undefined
    at updateMembers (c:\Users\myname\visual studio\bot\Cloud-hosted-bot\member-count.js:5:27)
    at module.exports (c:\Users\myname\visual studio\bot\Cloud-hosted-bot\member-count.js:13:3)
    at Object.<anonymous> (c:\Users\myname\visual studio\bot\Cloud-hosted-bot\bot.js:36:3)
    at Module._compile (node:internal/modules/cjs/loader:1092:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10)
    at Module.load (node:internal/modules/cjs/loader:972:32)
    at Function.Module._load (node:internal/modules/cjs/loader:813:14)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
    at node:internal/main/run_main_module:17:47

我是新来的所以很抱歉如果我不能很好地解释事情,很高兴你们帮助我:)

1 个答案:

答案 0 :(得分:0)

您正在尝试从缓存中获取频道和公会,以便您可以使用它们。但是,如果机器人只是有时无法获取它们,很可能是因为它们开始时不在缓存中

要确保每个都被缓存,请添加:

await client.channels.fetch(channelId)

和:

await client.guilds.fetch('818930375488962611')

在您尝试从缓存中获取每个之前。此外,请确保将您的函数设为 async,以便您可以真正使用 await