codeFlowType:
codeWrite
codeFlowLang:
JavaScript
Бот для телеграмма, функционал которого представляет 5 кнопок, 1 из кнопок при нажатии показывает статус остальных кнопок нажаты они или нет
Вот пример кода для Telegram-бота на языке JavaScript с использованием библиотеки node-telegram-bot-api
. Бот будет иметь 5 кнопок, одна из которых сообщает о статусе остальных кнопок.
const TelegramBot = require('node-telegram-bot-api');
// Замените 'YOUR_TELEGRAM_BOT_TOKEN' на ваш токен
const token = 'YOUR_TELEGRAM_BOT_TOKEN';
const bot = new TelegramBot(token, { polling: true });
// Статус кнопок
let buttonStatus = [false, false, false, false, false];
// Создаем клавиатуру с кнопками
const keyboard = [
[{ text: 'Кнопка 1', callback_data: 'button1' }],
[{ text: 'Кнопка 2', callback_data: 'button2' }],
[{ text: 'Кнопка 3', callback_data: 'button3' }],
[{ text: 'Кнопка 4', callback_data: 'button4' }],
[{ text: 'Статус кнопок', callback_data: 'status' }]
];
// Обработчик команды /start
bot.onText(/\/start/, (msg) => {
const chatId = msg.chat.id;
bot.sendMessage(chatId, 'Нажмите кнопку:', {
reply_markup: {
inline_keyboard: keyboard
}
});
});
// Обработчик нажатия на кнопки
bot.on('callback_query', (callbackQuery) => {
const chatId = callbackQuery.message.chat.id;
const action = callbackQuery.data;
switch (action) {
case 'button1':
buttonStatus[0] = !buttonStatus[0];
bot.answerCallbackQuery(callbackQuery.id, { text: 'Кнопка 1 нажата!', show_alert: true });
break;
case 'button2':
buttonStatus[1] = !buttonStatus[1];
bot.answerCallbackQuery(callbackQuery.id, { text: 'Кнопка 2 нажата!', show_alert: true });
break;
case 'button3':
buttonStatus[2] = !buttonStatus[2];
bot.answerCallbackQuery(callbackQuery.id, { text: 'Кнопка 3 нажата!', show_alert: true });
break;
case 'button4':
buttonStatus[3] = !buttonStatus[3];
bot.answerCallbackQuery(callbackQuery.id, { text: 'Кнопка 4 нажата!', show_alert: true });
break;
case 'status':
const statusMessage = `Статус кнопок:\n` +
`Кнопка 1: ${buttonStatus[0] ? 'нажата' : 'не нажата'}\n` +
`Кнопка 2: ${buttonStatus[1] ? 'нажата' : 'не нажата'}\n` +
`Кнопка 3: ${buttonStatus[2] ? 'нажата' : 'не нажата'}\n` +
`Кнопка 4: ${buttonStatus[3] ? 'нажата' : 'не нажата'}`;
bot.sendMessage(chatId, statusMessage);
break;
default:
break;
}
});
node-telegram-bot-api
и создаем экземпляр бота./start
: При запуске бота пользователю отправляется сообщение с кнопками.Убедитесь, что у вас установлена библиотека node-telegram-bot-api
. Это можно сделать с помощью npm:
npm install node-telegram-bot-api
После настройки и запуска бота, вы сможете взаимодействовать с ним через Telegram, используя заданные кнопки.