Discord.js票务系统错误发送未定义错误

Posted

技术标签:

【中文标题】Discord.js票务系统错误发送未定义错误【英文标题】:Discord.js Ticket system error send is undefined error 【发布时间】:2021-04-04 08:44:36 【问题描述】:

我遇到的问题是发送未定义,即使我使用了 message.guild.channels.cache.get 这是通过 ID 获取频道的消息的所有属性,所以我不知道我忘记添加什么使其未定义。

const Discord = require("discord.js");
const moment = require("moment-timezone");

module.exports.run = (client, message, args) => 
message.guild.channels.create(`ticket-$message.author.username`, 
    permissionOverwrites: [
     
      id: message.author.id,
      allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
     ,
     
      id: message.guild.roles.everyone,
      deny: ['VIEW_CHANNEL'],
     ,
 
      id: "727622663769554948",
      allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
     ,
 
      id: "768569229603373146",
      allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
     ,
    ],
    type: 'text',
   )

let created = new Discord.MessageEmbed()
.setTitle("Ticket created!")
.setDescription("Your ticket has been created")
.setFooter("DevHub | Your everyday help")
.setColor("BLUE")


message.channel.send(created)

let newchannel = message.guild.channels.cache.find(channel => channel.name === `ticket-$message.author.username`);
message.guild.channels.cache.get(`$newchannel`).send('Test');
    

module.exports.help = 
  name: "tcreate"
;```

【问题讨论】:

【参考方案1】:

我认为是 Discord.js 的新版本

只需替换这个:

message.guild.channels.cache.get

到这里:

message.guild.channels.cache.fetch

【讨论】:

以上是关于Discord.js票务系统错误发送未定义错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 Discord.js 跨渠道发送消息会产生“未定义”错误

discord.js TypeError:无法读取未定义的属性“发送”

Discord.js V12 TypeError:无法读取未定义的属性“发送”

TypeError:无法读取未定义 discord.js v12 的属性“发送”

类型错误; discord.js 中未定义的“MessageEmbed”

使用 Node.js、Mongoose 和 Discord.js 的未定义错误 [无法读取未定义的属性]