【问题标题】:discord.js can not read property'id' of undefined when bulk delete messages批量删除消息时,discord.js 无法读取未定义的属性 id'
【发布时间】:2021-06-03 19:22:24
【问题描述】:

我一直在处理批量删除消息日志,但无论出于何种原因,它都无法在单独的文件中从公会获取频道 ID。所以它返回那个 ID 是未定义的。

代码

module.exports = async (bot, messages) => {
  const length = messages.array().length
  let channels = JSON.parse(
    fs.readFileSync('././database/messageChannel.json', 'utf8')
  );
  let channelId = channels[messages.guild.id].channel;
  let msgChannel = bot.channels.cache.get(channelId);

  if (!msgChannel) {
    return console.log(`No message channel found with ID ${channelId}`);
  }
  let mEmbed = new MessageEmbed()
  .setAuthor(messages.guild.name, messages.guild.iconURL({dynamic: true}))
  .setColor(red_light)
  .setDescription(`**Bulk Delete in <#${messages.channel.id}>, ${length} messages deleted.**`)
  .setTimestamp()
  msgChannel.send(mEmbed)
}

在我指定的索引文件中

messageDeleteBulk

当尝试将消息发送到 messageChannel 时,它不会发送,因为 'id' 未定义。有什么我遗漏的吗?

【问题讨论】:

    标签: discord.js


    【解决方案1】:

    所以,该命令工作正常,我忘记的是之前定义长度时我使用的 messages.first()so 我刚才放messages 我必须添加.first()

    新代码

    module.exports = async (bot, messages) => {
      let channels = JSON.parse(
        fs.readFileSync('././database/messageChannel.json', 'utf8')
      );
      let channelId = channels[messages.first().guild.id].channel;
      let msgChannel = bot.channels.cache.get(channelId);
    
      if (!msgChannel) {
        return console.log(`No message channel found with ID ${channelId}`);
      }
        const length = messages.array().length;
      let mEmbed = new MessageEmbed()
      .setAuthor(messages.first().guild.name, messages.first().guild.iconURL({dynamic: true}))
      .setColor(red_light)
      .setDescription(`**Bulk Delete in <#${messages.first().channel.id}>, ${length} messages deleted.**`)
      .setTimestamp()
      msgChannel.send(mEmbed)
    }
    

    现在它会记录批量删除的消息并且不会返回任何错误。

    【讨论】:

      猜你喜欢
      • 2021-06-27
      • 2021-05-29
      • 1970-01-01
      • 2021-11-19
      • 2018-11-20
      • 2020-04-08
      • 2022-01-10
      • 2020-10-01
      • 1970-01-01
      相关资源
      最近更新 更多