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

Discord机器人报错:TypeError: 无法读取undefined的'GuildText'属性

问题排查与解决

错误原因

你遇到的TypeError: 无法读取undefined的属性'GuildText',核心原因是Discord.js v14及以上版本中,ChannelType的结构发生了变更——不存在ChannelType.message这个嵌套对象,GuildText是ChannelType直接导出的枚举值。

修复步骤

修改代码中创建频道时的type字段:
原错误代码:

type: ChannelType.message.GuildText,

替换为正确写法:

type: ChannelType.GuildText,

完整修改后的频道创建代码片段

// Create the jail channel
const jailChannel = await interaction.guild.channels.create({
    name: `${member.user.username}-jail`,
    type: ChannelType.GuildText, // 修正后的频道类型
    parent: jailCategory, // Category ID
    permissionOverwrites: [
        {
            id: member.id,
            allow: ['VIEW_CHANNEL', 'SEND_MESSAGES', 'READ_MESSAGE_HISTORY'],
        },
        {
            id: interaction.guild.id,
            deny: ['VIEW_CHANNEL'], // 拒绝其他所有人查看
        },
        {
            id: accessRole,
            allow: ['VIEW_CHANNEL', 'READ_MESSAGE_HISTORY'],
            deny: ['SEND_MESSAGES'], // 允许查看但禁止发送消息
        },
    ],
});

额外验证点

  • 确认你的Discord.js版本为v14+,从代码中const { ChannelType } = require('discord.js')的导入方式来看,符合v14+版本的规范;若使用v13及以下版本,频道类型需写成字符串'GUILD_TEXT'。
  • 检查ChannelType的导入语句无拼写错误,你的代码中导入写法是正确的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 18:13:20