首页 > 解决方案 > 试图发出频道创建命令,但出现错误

问题描述

所以我试图创建一个命令,为任何键入的人创建一个支持票证通道 -ticket PS 我根本不擅长编码

    case 'ticket':
        message.guild.createChannel('ticket', 'text', [
            {
                id: message.guild.defaultRole.id,
                deny: ['VIEW_CHANNEL'],
            },
            {
                id: message.user.id,
                allow: ['VIEW_CHANNEL'],
            },
        ]);
        const tembed = new Discord.RichEmbed()
            .setTitle('test')
            .addField('Success!', 'Ticket was created.')
            .setColor(0xff0000)
        message.channel.sendEmbed(tembed);
        break;

控制台说“无法读取未定义的属性 ID”

标签: javascriptdiscorddiscord.js

解决方案


欢迎来到堆栈溢出。希望我们能帮助解决您的问题。

问题:我注意到id第二个权限覆盖的字段,你有message.user.id. 但是,没有Messageuser的属性。当您的代码尝试读取 的属性时,它会引发错误,因为后者返回未定义。idmessage.user

解决方案:使用该author属性,如下所示:

{
  id: message.author.id,
  allow: ['VIEW_CHANNEL']
}

推荐阅读