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

求助:Discord开发中遭遇DiscordAPIError——Invalid Form Body around参数值非雪花ID

解决Discord.js中「Invalid Form Body around: Value "channel" is not snowflake」报错

这个报错的原因很明确:你给messages.fetch()的around参数传了字符串"channel",但Discord的API要求这个参数必须是一个有效的雪花ID(也就是Discord用来标识消息、频道、用户等资源的唯一字符串ID)。

你其实已经提前定义了channel变量来存储当前文本频道的ID,但调用fetch时错误地用引号把它变成了字符串字面量,而非引用这个变量。

修正后的代码

let channel = this.textChannel.id; 
this.textChannel.messages.fetch({around: channel, limit: 1}) 
  .then(messages => { 
    messages.first().edit(nowplaying); 
  })
  .catch(error => {
    // 添加错误捕获,避免未处理的Promise拒绝警告
    console.error('编辑消息失败:', error);
  });

额外提醒

  • 注意around参数的作用:它是用来获取某个特定消息ID前后的消息,如果你只是想获取频道里的最新消息,其实可以直接用this.textChannel.messages.fetch({limit: 1}),不需要around参数。
  • 永远不要忽略Promise的错误处理:原代码缺少catch块,这也是你看到UnhandledPromiseRejectionWarning的核心原因,加上catch可以优雅处理各种异常(比如消息不存在、机器人无编辑权限等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 09:09:09