🚀 Готовые боты на BotMix
Запустите готового бота из нашего каталога за 60 секунд! Нужна индивидуальная разработка? Обращайтесь в нашу студию разработки.
О библиотеке node-telegram-bot-api
node-telegram-bot-api — самая популярная Node.js библиотека для Telegram Bot API, разработанная yagop. Поддерживает как polling, так и webhook режимы работы.
JavaScript в мире Telegram ботов
JavaScript занимает 3-е место по популярности для Telegram ботов. Популярность обусловлена:
- Быстрой разработкой и прототипированием
- Огромной экосистемой NPM пакетов
- Отличной поддержкой async/await
- Простой интеграцией с веб-сервисами
- Большим сообществом разработчиков
Плюсы и минусы
✅ Преимущества
- Простой и понятный API
- Promise-based архитектура
- Поддержка webhook и polling
- Активное сообщество
- Богатая экосистема NPM
- Отличная производительность
- TypeScript поддержка
❌ Недостатки
- Нет встроенной системы состояний
- Базовый набор функций
- Требует дополнительных библиотек
- Меньше специализированных функций
Быстрый старт
npm install node-telegram-bot-api
const TelegramBot = require('node-telegram-bot-api');
const token = 'YOUR_BOT_TOKEN';
const bot = new TelegramBot(token, {polling: true});
bot.onText(/\/start/, (msg) => {
const chatId = msg.chat.id;
bot.sendMessage(chatId, 'Привет! Я JavaScript бот! 🤖');
});
bot.on('message', (msg) => {
const chatId = msg.chat.id;
if (msg.text !== '/start') {
bot.sendMessage(chatId, `Вы написали: ${msg.text}`);
}
});
console.log('Бот запущен!');
Основные возможности
⌨️ Inline клавиатуры
bot.onText(/\/menu/, (msg) => {
const chatId = msg.chat.id;
const options = {
reply_markup: {
inline_keyboard: [
[
{ text: '📊 Статистика', callback_data: 'stats' },
{ text: '⚙️ Настройки', callback_data: 'settings' }
],
[
{ text: '🔗 Сайт', url: 'https://botmix.pro' }
]
]
}
};
bot.sendMessage(chatId, 'Выберите действие:', options);
});
bot.on('callback_query', (callbackQuery) => {
const message = callbackQuery.message;
const data = callbackQuery.data;
if (data === 'stats') {
bot.answerCallbackQuery(callbackQuery.id, {
text: 'Показываю статистику...'
});
bot.sendMessage(message.chat.id, '📊 Ваша статистика...');
}
});
📁 Работа с файлами
// Отправка фото
bot.onText(/\/photo/, (msg) => {
const chatId = msg.chat.id;
const photo = 'path/to/photo.jpg';
bot.sendPhoto(chatId, photo, {
caption: 'Фото от JavaScript бота!'
});
});
// Обработка полученных файлов
bot.on('photo', (msg) => {
const chatId = msg.chat.id;
const photo = msg.photo[msg.photo.length - 1];
bot.getFileLink(photo.file_id).then((link) => {
console.log('Ссылка на фото:', link);
bot.sendMessage(chatId, `Получил фото: ${link}`);
});
});
// Отправка документа
bot.onText(/\/document/, (msg) => {
const chatId = msg.chat.id;
bot.sendDocument(chatId, 'path/to/document.pdf', {
caption: 'Важный документ'
});
});
🌐 Webhook настройка
const express = require('express');
const app = express();
// Настройка webhook
const url = 'https://yourdomain.com';
const port = process.env.PORT || 8443;
bot.setWebHook(`${url}/bot${token}`);
app.use(express.json());
app.post(`/bot${token}`, (req, res) => {
bot.processUpdate(req.body);
res.sendStatus(200);
});
app.listen(port, () => {
console.log(`Server running on port ${port}`);
});
Для каких проектов подходит?
🌐 Веб-интеграция
API интеграции, веб-сервисы, REST API
⚡ Быстрое прототипирование
MVP, демо-версии, тестирование идей
📊 Аналитика и мониторинг
Дашборды, отчеты, системы уведомлений
🛒 E-commerce боты
Каталоги, заказы, платежные системы
Популярные дополнения
📦 telegraf
Современная альтернатива с middleware
🗃️ lowdb
Простая JSON база данных
⏰ node-cron
Планировщик задач
🌐 express
Веб-сервер для webhook
🏗️ Node.js хостинг
Разместите JavaScript бота на профессиональном хостинге с поддержкой Node.js и автомасштабированием. Узнайте больше о наших услугах хостинга.
Заключение
node-telegram-bot-api - отличный выбор для JavaScript разработчиков. Простой API, богатая экосистема и отличная производительность делают его идеальным для большинства проектов.
👍 Выбирайте node-telegram-bot-api если:
- Знаете JavaScript/Node.js
- Нужна интеграция с веб-сервисами
- Планируете быстрое прототипирование
- Хотите использовать NPM экосистему
🤔 JavaScript vs Python vs PHP для ботов?
Сравните node-telegram-bot-api с другими популярными библиотеками
Сравнить все библиотеки →🚀 Начните разработку
Готовые боты
Каталог готовых решений - установка за минуту (скидка 15% по коду GUIDE)
Разработка на заказ
Регистрация - Node.js боты любой сложности