如何创建announcement频道?代码调用后生成普通文本频道该如何解决?
解决方案
你遇到的问题是discord.js不同版本的频道类型参数不兼容导致的,具体修正方式如下:
- 首先确认你使用的discord.js库版本,
type字段传入"announcement"属于已废弃/不被识别的写法,参数不合法时库会默认创建普通文本频道。 - v12及更早版本:将type值改为
"news"即可,代码如下:
guild.channels.create("test", { type: "news", parent: cate, })
- v13版本:使用内置枚举值
GUILD_NEWS,代码如下:
const { ChannelType } = require('discord.js'); guild.channels.create("test", { type: ChannelType.GUILD_NEWS, parent: cate, })
- v14及更高版本:枚举值更新为
GuildAnnouncement,代码如下:
const { ChannelType } = require('discord.js'); guild.channels.create("test", { type: ChannelType.GuildAnnouncement, parent: cate, })
注意:确保你的机器人账号持有服务器的
管理频道权限,否则可能出现创建失败、参数不生效的问题。
内容的提问来源于stack exchange,提问作者Alimo
相关产品推荐
相关产品推荐

