Создадим простого эхо-бота, который повторяет все, что вы ему пишете.
// Эхо-бот
class EchoBot extends TelegramBot {
constructor(token) {
super(token);
this.setupCommands();
}
setupCommands() {
// Команда /start
this.command('start', (message) => {
const welcomeMessage = `
Привет! Я эхо-бот.
Все, что вы мне напишете, я повторю.
Попробуйте!
`.trim();
this.sendMessage(message.chat.id, welcomeMessage);
});
// Команда /help
this.command('help', (message) => {
const helpMessage = `
Я повторяю все, что вы пишете.
Также я понимаю следующие команды:
/start - Приветственное сообщение
/help - Эта справка
/reverse <текст> - Повторить текст в обратном порядке
/count <слово> - Посчитать количество букв в слове
`.trim();
this.sendMessage(message.chat.id, helpMessage);
});
// Команда /reverse
this.command('reverse', (message) => {
const text = message.text.substring('/reverse '.length);
if (!text) {
this.sendMessage(message.chat.id, 'Введите текст после команды /reverse');
return;
}
const reversed = text.split('').reverse().join('');
this.sendMessage(message.chat.id, `Обратный текст: ${reversed}`);
});
// Команда /count
this.command('count', (message) => {
const word = message.text.substring('/count '.length);
if (!word) {
this.sendMessage(message.chat.id, 'Введите слово после команды /count');
return;
}
this.sendMessage(message.chat.id, `Слово "${word}" содержит ${word.length} букв`);
});
}
// Переопределяем обработку сообщений
processMessage(message) {
super.processMessage(message);
// Если сообщение не является командой, бот повторяет его
if (!message.text.startsWith('/')) {
this.sendMessage(message.chat.id, `Вы сказали: ${message.text}`);
}
}
}
// Создание и тестирование эхо-бота
const echoBot = new EchoBot('your-token');
console.log('=== ТЕСТИРОВАНИЕ ЭХО-БОТА ===');
const testMessages = [
{ text: '/start', chat: { id: 1 } },
{ text: '/help', chat: { id: 1 } },
{ text: '/reverse Привет', chat: { id: 1 } },
{ text: '/count JavaScript', chat: { id: 1 } },
{ text: 'Привет, бот!', chat: { id: 1 } },
{ text: 'Как дела?', chat: { id: 1 } }
];
testMessages.forEach(msg => echoBot.processMessage(msg));