You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.js音乐机器人使用reconlx分页时出现Unknown Interaction错误

问题根源

你遇到的Unknown interaction报错核心是分页按钮触发的交互事件没有被bot在Discord要求的3秒窗口期内正确响应,常见诱因有三个:

  • reconlx包版本和你使用的discord.js版本不兼容,旧版分页逻辑没有正确处理交互响应逻辑
  • 固定生成5个embed,当队列歌曲不足100首时,后续embed的description为空,触发Discord embed格式校验失败,导致交互无法正常响应
  • 缺少必要的配置参数,分页组件未正确监听交互事件

修复方案

下面是优化后的代码,既解决了交互报错问题,也简化了重复编写embed的逻辑:

const queue = distube.getQueue(message)
const nothingPlaying = new MessageEmbed()
  .setDescription('Nothing playing right now!')

if (!queue) return message.channel.send({ embeds: [nothingPlaying] })

// 动态生成所有分页embed
const embeds = []
const songsPerPage = 20
const totalPages = Math.ceil(queue.songs.length / songsPerPage)

for (let pageIndex = 0; pageIndex < totalPages; pageIndex++) {
  const startOffset = pageIndex * songsPerPage
  const endOffset = startOffset + songsPerPage
  const currentPageSongs = queue.songs.slice(startOffset, endOffset)
    .map((song, indexInPage) => {
      const listNumber = startOffset + indexInPage
      return `**${listNumber ? listNumber : 'Playing'}**. ${song.name} - \`${song.formattedDuration}\``
    })
    .join('\n')

  const pageEmbed = new MessageEmbed()
    .setTitle('Current Queue:')
    .setDescription(currentPageSongs)
    .setFooter({ text: `Page ${pageIndex + 1}/${totalPages}` })
  embeds.push(pageEmbed)
}

// 调用分页组件,补充参数避免交互超时
pagination({
  embeds: embeds,
  channel: message.channel,
  author: message.author,
  fastSkip: true,
  time: 60000, // 按钮有效期1分钟,可根据需求调整
  button: [
    { name: 'first', emoji: '⏮️', style: 'SECONDARY' },
    { name: 'previous', emoji: '◀️', style: 'SECONDARY' },
    { name: 'next', emoji: '▶️', style: 'SECONDARY' },
    { name: 'last', emoji: '⏭️', style: 'SECONDARY' }
  ]
})

额外校验项

修改完代码后如果仍有报错,逐一检查以下配置:

  • 执行npm i reconlx@latest更新reconlx到最新版本,确保和你的discord.js v13+版本兼容
  • 前往Discord开发者后台的Bot设置页,确认已开启Message Content Intent权限
  • 确认Bot在当前频道拥有发送消息、嵌入链接、使用外部表情符号三个基础权限

内容的提问来源于stack exchange,提问作者Jamie Dias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 17:45:03