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

使用Node.js中Discord.js机器人创建Webhook时遇DiscordAPIError[50035]错误

解决Discord.js v14创建Webhook时的Invalid Form Body错误

问题原因

Discord.js v14对createWebhook方法的参数做了变更,不再支持将name作为第一个独立参数传入,必须将所有配置项放在一个对象中。你当前的代码同时传了独立的name参数和配置对象,导致Discord API无法正确识别必填的name字段,触发BASE_TYPE_REQUIRED错误。

修复步骤

  1. 移除createWebhook方法的第一个独立参数,将name完全移入配置对象中
  2. 确保目标频道是可创建Webhook的类型(如文本频道、新闻频道)

修正后的代码

let channelNumObj = client.channels.cache.get(channelNumVariable);

const webhook = async () => {
  try {
    // 校验频道有效性与可创建Webhook的类型
    if (channelNumObj && (channelNumObj.isTextBased() || channelNumObj.isNews())) {
      await channelNumObj.createWebhook({
        name: "Snek",
        avatar: "http://i.imgur.com/mI8XcpG.jpg",
        reason: "Needed a cool new Webhook",
      });
      console.log("completed");
    } else {
      console.log("目标频道不存在或不支持创建Webhook");
    }
  } catch (err) {
    console.log(`the error was ${err}`);
  }
};
webhook();

额外说明

  • Discord.js v14的createWebhook方法签名为:createWebhook(options: WebhookCreateOptions, reason?: string),所有配置(包括name)都需放在options对象内
  • 新增的频道类型校验可提前拦截无效操作,减少不必要的API请求错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:20:41