Для отправки embed с кнопкой в TypeScript вам потребуется использовать Discord.js, библиотеку для создания ботов Discord. Ниже приведен пример кода, который демонстрирует, как отправлять embed с кнопкой на Discord.
import { Client, MessageButton, MessageActionRow } from 'discord.js'; const client = new Client(); client.on('ready', () => { console.log(`Logged in as ${client.user.tag}`); }); client.on('messageCreate', async (message) => { if (message.content === '!embed') { const button = new MessageButton() .setCustomId('button_click') .setLabel('Click Me!') .setStyle('SUCCESS'); const row = new MessageActionRow().addComponents(button); const embed = { title: 'Embed with Button', description: 'This is an example of an embed with a button.', color: 'RANDOM', }; // Отправляем сообщение с embed и кнопкой message.channel.send({ embeds: [embed], components: [row] }); } }); client.login('YOUR_BOT_TOKEN');
Давайте разберем код по частям. Сначала мы импортируем необходимые классы из пакета discord.js, включая Client
для создания бота, MessageButton
для создания кнопки и MessageActionRow
для упорядочивания компонентов на сообщении.
Затем мы создаем экземпляр Client
и подключаемся к Discord с помощью функции login
, передавая токен вашего бота.
Затем мы регистрируем слушатель события messageCreate
, который будет вызываться при получении нового сообщения. Мы проверяем, является ли содержимое сообщения равным !embed
и, если да, создаем кнопку с помощью MessageButton
. Мы задаем ей уникальный идентификатор, метку (текст на кнопке) и стиль (цвет кнопки). Затем мы создаем MessageActionRow
и добавляем в нее кнопку.
Затем мы создаем объект embed
, указывая заголовок, описание и цвет, который будет отображаться во встроенном сообщении.
Наконец, мы отправляем сообщение в канал с помощью метода send
и передаем объект с встроенным сообщением (embeds
) и компонентами (components
), которые включают в себя нашу строку с кнопкой.
Надеюсь, этот ответ помог вам понять, как отправлять встроенные сообщения с кнопками при использовании TypeScript и Discord.js.