Пытаюсь сохранить в канале quick.db после взаимодействия, но не могу сохранить канал и предотвратить создание канала

#javascript #discord #discord.js #bots #quick.db

Вопрос:

Я использую ‘discord.js библиотека v13 с пакетом npm quick.db.

Я пытаюсь спасти канал от взаимодействия, но когда я делаю это в первый раз, бот посылает мне сообщение, что у меня уже есть канал. Когда я пытаюсь во второй и третий раз, он отправляет мне одно и то же сообщение и воссоздает канал.

Код JavaScript, который я использую:

 client.on('interactionCreate', async(interaction) => {
  if (interaction.customId === "general") {
    await interaction.deferUpdate();

    const channel = await interaction.guild.channels.create(`name-${interaction.member.user.username}`, {
      type: 'GUILD_TEXT'
    }).then(async channel => {
        const del = new MessageButton()
          .setStyle("DANGER")
          .setLabel("🔒 Delete")
          .setCustomId("del");
        const delbut = new MessageActionRow()
          .addComponents([
            [del]
          ])
        await channel.send({
          content: `test`,
          embeds: [test],
          components: [delbut]
        }).catch(e => {
          console.log(e.message)
        });
        const channelID = await interaction.guild.channels.cache.get(channel.id);
        const newchannel = await db.set(`channel_${interaction.guild.id}_${interaction.channel.id}`, interaction.member.id)

        if (newchannel) {
          const savedChannel = await db.get(`channel_${interaction.guild.id}_${interaction.channel.id}`)

          interaction.member.send({
            content: `Channel: ${channelID}`
          })
        }
      }
    })

  if (interaction.customId === "del") {
    await interaction.deferUpdate();
    interaction.message.channel.delete()
  }

}
});