【问题标题】:'Cannot read property 'channels' of undefined''无法读取未定义的属性'通道''
【发布时间】:2021-03-31 19:56:45
【问题描述】:

我正在制作一个系统

  • 向网络服务器发送一条信息。
  • 然后游戏发出 GET 请求以检查该信息
  • 游戏会根据这些信息做一些事情
  • 然后游戏向网络服务器发出 POST 请求,并在 Discord 中编辑一条消息,告知他们命令已完成。

当我运行我的程序时,我得到一个错误:

无法读取未定义的属性“通道”

const guild = client.guilds.get(746921954803581008)
    const channel = guild.channels.find('id', notices_msgch[0])
    const msg = channel.fetchMessage(notices_msgid[0]).then((_msg) => {
        _msg.edit('<@' + notices_executor[0] + '>, Your command has been executed **in-game** on server `' + returned.guid + '`!')
    })

【问题讨论】:

  • 请提供更多详细信息,此信息或代码sn-p没有帮助
  • client.guilds.get(746921954803581008) 看起来像一个异步请求。您可能需要使用 await 让 javascript 等到收到数据后再进行下一步。请分享完整功能。

标签: javascript discord.js


【解决方案1】:

这是因为您获取这些 Discord 对象的方法,这里是您应该如何获取它们。另请注意,您不需要获取Guild 对象,您只需要获取通道即可获取消息。

channel = client.channels.cache.get(channelID)
message = channel.messages.cache.get(messageID)

从那里,您应该能够对该消息对象执行所有正常功能。

【讨论】:

  • 我在 v11 上,所以它没有缓存。但是,我会试试这个。谢谢。
猜你喜欢
  • 2022-01-06
  • 2020-11-28
  • 1970-01-01
  • 2021-01-01
  • 2018-12-07
  • 2021-10-20
  • 2021-11-15
  • 2020-11-02
相关资源
最近更新 更多