首页 > 解决方案 > Discord.js票务系统错误发送未定义错误

问题描述

我遇到的问题是 send 是未定义的,即使我使用了 message.guild.channels.cache.get 这是 message 的所有属性来通过 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"
};```

标签: discord.js

解决方案


我认为这是 Discord.js 的新版本

只需替换这个:

message.guild.channels.cache.get

对此:

message.guild.channels.cache.fetch

推荐阅读