1

我想向数据库添加信息,但在不和谐中收到“此交互失败”错误

使用better-sqlite3, discord.js v13

对于代码,我使用了互联网上的一些教程和指南,我认为其中一些可能干扰了已经编写的内容

const { MessageActionRow, MessageButton, MessageEmbed } = require('discord.js');
const db = require("better-sqlite3")("../../main.db")

module.exports = {
    name: 'test',
    description: "test buy",
    options: [
        {
            name: 'buy',
            description: 'ซื้อสคริป',
            type: "SUB_COMMAND",
            options: [
                {
                    name: "link",
                    description: "ลิ้งซองเงิน 99 บาท",
                    type: "STRING",
                    required: true,
                }
            ]
        },
    ],

    run: async(client, interaction, args) => {
        if (interaction.options.getSubcommand() === 'buy') {
            const button = new MessageActionRow()
            .addComponents(
                new MessageButton()
                .setCustomId('confirm')
                .setLabel('c')
                .setStyle('SUCCESS'),
                new MessageButton()
                .setCustomId('cancel')
                .setLabel('b')
                .setStyle('DANGER'),
                new MessageButton()
                .setURL('https://www.youtube.com/')
                .setLabel('a')
                .setStyle('LINK'),
             );
    
            const embed = new MessageEmbed()
                .setColor('#FF0000')
                .setTitle('ShuShi')
                .setDescription('info')
    
            await interaction.reply({ephemeral: true, embeds: [embed], components: [button] });
            const filter = i => i.user.id === interaction.member.id;
    
            const collector = interaction.channel.createMessageComponentCollector({ 
                filter, 
                time: 600000,
                max: 1
            });
    
            collector.on('collect', async i => {
                collector.stop();
                if (i.customId === 'confirm') {

                db.prepare(`INSERT INTO discorddata VALUES(:id,:own)`).run({
                    id: interaction.user.id,
                    own: 'true'
                })
            }
        })
    }
}}
4

0 回答 0