在Node.js中使用bot创建webhook时出现Discord.js错误

w8biq8rn  于 2023-01-01  发布在  Node.js
关注(0)|答案(1)|浏览(114)

当我在Node.js中用我的机器人创建一个webhook时,我收到了以下错误。
节点v18.12.1不一致. js版本14.7.1
错误:错误为DiscordAPI错误[50035]:无效的表单正文名称[BASE_TYPE_REQUIRED]:此字段为必填字段
代码:

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

  const webhook = async () => {
    try {
      if (channelNumObj !== null) {
        await channelNumObj
          .createWebhook("Snek", {
            name: "Snek",
            avatar: "http://i.imgur.com/mI8XcpG.jpg",
            reason: "Needed a cool new Webhook",
          })
          .then(() => {
            console.log("completed");
          });
      }
    } catch (err) {
      console.log(`the error was ${err}`);
    }
  };
  webhook();
});
abithluo

abithluo1#

我发现了这个问题。问题是我在看以前版本的Discord.js文档。更新后的文档有更新的语法。下面是我的Discord.js版本的更新语法,这是我写这篇文章时的最新版本。
请注意“Snek”所在位置的语法变化。

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

  const webhook = async () => {
    try {
      if (channelNumObj !== null) {
        await channelNumObj
          .createWebhook({
            name: 'Snek',
            avatar: "http://i.imgur.com/mI8XcpG.jpg",
            reason: "Needed a cool new Webhook",
          })
          .then(() => {
            console.log("completed");
          })
          .catch(console.error)
      }
    } catch (err) {
      console.log(`the error was ${err}`);
    }
  };
  webhook();
});

相关问题