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

TypeError报错:report_message.awaitMessageComponent不是函数,求解决方案

解决TypeError: report_message.awaitMessageComponent is not a function

错误根源

channel.send() 是异步方法,你没有用 await 接收返回值,导致 report_message 是 Promise 对象而非 Discord.js 的 Message 实例,所以不存在 awaitMessageComponent 方法。另外你设置的 time 参数是超大字符串,会被解析为无效值,也需要修正。

修正后的代码

// 确保这段代码在 async 函数内部执行
const report_message = await interaction.guild.channels.cache.get('1230849852024557638').send({
  content:"Nieuwe Report!", 
  embeds: [embed], 
  components: button_row
});
const report_filter = (interaction_filter) => {return true;}

try {
  // time 改为数字类型的毫秒值,示例为1分钟(60000毫秒)
  const confirmation = await report_message.awaitMessageComponent({ 
    filter: report_filter, 
    time: 60000 
  })
  // 此处添加按钮被点击后的逻辑
} catch (err) {
  // 处理超时或异常,移除组件避免无效交互
  await report_message.edit({ components: [] });
}

核心修改说明

  • 给 channel.send() 添加 await,确保获取到真正的 Message 对象
  • 将 time 参数从超大字符串改为合法的数字毫秒值(比如60000代表1分钟)
  • 新增 catch 块处理超时或异常场景,同时移除组件防止后续无效交互

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 03:35:55