TS MAX BOT API Library#
TS MAX BOT API Library — это библиотека для интеграции с MAX BOT API. Этот проект предоставляет структурированный интерфейс для взаимодействия с конфигурациями бота, управления сообщениями, отправки медиафайлов и подписки на события через long-polling.
Для использования библиотеки потребуется получить токен бота в консоли разработчика MAX API. Ознакомиться с инструкцией можно по ссылке.
Установка#
Убедитесь, что у вас установлена версия Node.js не ниже 22.18
node -v
npm -v
Установите библиотеку:
npm install @green-api/maxbot-api-client-ts
Использование и примеры#
Параметры конфигурации#
BaseURL- Базовый URL-адрес серверов платформы MaxBot. Все методы API будут маршрутизироваться по этому корневому адресу. Актуальный адрес указан в официальной документации.Token- Уникальный секретный ключ авторизации (API-ключ) вашего бота. Получить его можно в личном кабинете после регистрации или создании бота на платформе business.max.ru. Читайте перед началом работы, чтобы получить токен.RateLimiter- Встроенный ограничитель частоты запросов. Он контролирует количество исходящих запросов в секунду (RPS), защищая бота от блокировки со стороны сервера за превышение лимитов. Рекомендуемое значение — не менее 25, но не более 30.Timeout- Максимальное время ожидания ответа от сервера (в секундах). Если сервер не ответит в течение этого времени, запрос будет завершен с ошибкой. Оптимальное значение — 30 секунд.
Как инициализировать клиент:
import { MaxBotAPI } from '@green-api/maxbot-api-client-ts';
const response = new MaxBotAPI({
base_url: "https://platform-api.max.ru",
token: "YOUR_BOT_TOKEN",
ratelimiter: 25,
timeout: 30000
});
Как получить информацию о боте:
const response = await bot.bots.getBot();
Как отправить сообщение:
await bot.messages.sendMessage({
user_id: 123456789,
text: "Hello world!",
});
Как легко отправить файл (по ссылке или локальный):
Метод helpers.sendFile сам определит тип источника и загрузит файл на сервер, если это необходимо.
await bot.helpers.sendFile({
chat_id: 123456789,
file_source: "./documents/report.pdf",
});
await bot.helpers.sendFile({
chat_id: 123456789,
file_source: "https://example.com/image.png",
});
Как получить входящее уведомление:
const response = await bot.subscriptions.getUpdates({
timeout: 25,
marker: marker,
types: [UpdateType.MessageCreated]
});