Как хранить id сообщений в бд

есть код

async def callback(self, interaction: discord.Interaction):
        name = self.children[0].value
        age = self.children[1].value
        nickname = self.children[2].value
        youtube = self.children[3].value
        twitch = self.children[4].value
        uzer = interaction.user.mention
        channel_id = 1219092823480074251
        channel = interaction.guild.get_channel(channel_id)
        formcount = await channel.history(limit=None).flatten()
        form_count = sum(1 for message in formcount if message.embeds)

        embed = discord.Embed(title=f"Заявка № ``{form_count}``",
        description=f"**Как вас зовут?**\n**> Ваш ответ: — ``{name}``**\n**Сколько вам лет?**\n**> Ваш ответ: — ``{age}``**\n**Ваш ник**\n**> Ваш ответ: — ``{nickname}``**\n**Youtube**\n**> Ваш ответ: — ``{youtube}``**\n**Twitch/YouTube**\n**> Ваш ответ: — ``{twitch}``**",
        colour=0x02f71f,
        )
        embed.set_footer(text=f"Ваша заявка отправлена, ожидайте. ID: {interaction.user.id}")
        embed.set_author(name="1HP", icon_url="https://files.catbox.moe/qla4at.png")


        cursor.execute('''
        INSERT INTO forms (message_id, user_id, nickname, uzer) 
        VALUES (?, ?, ?, ?)
        ''', (channel.last_message_id, interaction.user.id, nickname, uzer))
        conn.commit()

        await interaction.user.send(embed=embed)
        await interaction.response.send_message(embed=embed, ephemeral= True)
        await channel.send(uzer, embed=embed, view=FormButtonReaction(interaction.user.id, nickname, uzer))

он работает но в бд сохраняется какой то левый id`шник для message_id


Ответы (1 шт):

Автор решения: q r t s

Вы должны сохранять сообщение после его отправки. Только так можно получить ID сообщения:

        await interaction.user.send(embed=embed)
        await interaction.response.send_message(embed=embed, ephemeral= True)
        message = await channel.send(uzer, embed=embed, view=FormButtonReaction(interaction.user.id, nickname, uzer))

        cursor.execute('''
        INSERT INTO forms (message_id, user_id, nickname, uzer) 
        VALUES (?, ?, ?, ?)
        ''', (message.id, interaction.user.id, nickname, uzer))
        conn.commit()
→ Ссылка