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

Discord.js创建工单频道报错:Invalid Form Body

解决Discord工单机器人创建频道时的name[BASE_TYPE_REQUIRED]错误

错误原因

你使用的Discord.js版本(大概率是v14+)中,guild.channels.create的参数结构发生了变更:旧版本(v13及以下)允许第一个参数单独传入频道名称,第二个参数传配置对象;但v14+要求所有配置(包括名称)都放在同一个配置对象中,直接传单独的名称会被API忽略,导致name字段缺失报错。

修正后的代码

const channel = await interaction.guild.channels.create({
  name: `ticket-${interaction.user.username}`,
  parent: '929135588949512232',
  topic: interaction.user.id,
  type: 0 // 或者使用ChannelType.GuildText,需提前导入枚举
})

额外注意事项

  • 频道类型参数:v14+版本中type不再接受字符串'GUILD_TEXT',可以直接用数字0,或者导入ChannelType枚举后使用ChannelType.GuildText:
    const { ChannelType } = require('discord.js');
    // 配置中对应写法:type: ChannelType.GuildText
    
  • 权限与ID校验:确保机器人拥有ManageChannels权限,同时确认parent对应的分类ID在当前服务器中真实存在。
  • 名称合法性:频道名称不能包含Discord禁止的特殊字符,需符合平台命名规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:35:24