0

所以我正在为我的 Discord 机器人开发票务系统,我的代码以前可以工作,但我把它搞砸了,现在它不起作用。

我想要它做什么:当人们点击按钮(discord-buttons)时,我希望它首先检查一个名为“Tickets”的类别,然后创建一个名为“(username)-ticket”的新频道,最后发送一个嵌入到刚刚制作的频道中。

实际发生的情况:代码只是说“无法读取未定义的通道”,并且不起作用。

我的代码:

client.on('clickButton', async (button) => {
    if (button.id == "ticket") {
      let embed = new Discord.MessageEmbed;
      embed.setTitle('Created Ticket')
      embed.setDescription('Successfully created your ticket.')
      await button.reply.send({ embed: embed }, true);
      let embed2 = new Discord.MessageEmbed
      embed2.setTitle(`Hello, ${button.clicker.user.username}`)
      embed2.setDescription('Someone will be with you shortly. To close the ticket, press the ❌ emoji.')
      embed2.setFooter('Ticketing System created by FireyJS#6969')
      const guild = button.clicker.guild
if (guild.channels.cache.find(c => c.name.toLowerCase() === 'tickets')) {
  const category = guild.channels.cache.find(c => c.name.toLowerCase() === 'tickets')
 guild.channels.create(`${button.clicker.user.username}-ticket`, { reason : 'Needed to make a ticket lol' }).then(channel => { 
 channel.setParent(category)
 channel.send(embed2)
 }).then(message => { message.react('❌') })
 } else {
   message.channel.send('Make a category named ``Tickets`` to get started with ticketing!')
 }
    }
});
4

1 回答 1

1

button.clicker对象没有guild属性,但它button自己有。尝试定义guildbutton.guild而不是您当前拥有的!

于 2021-06-27T13:13:11.617 回答