MAX BOT API Client (TypeScript)
maxbot-api-client-ts — это современный TypeScript SDK для интеграции с MAX BOT API. Библиотека предоставляет строго типизированный интерфейс для управления ботами, сообщениями, чатами и медиафайлами, а также поддерживает работу через long-polling и вебхуки.
Для использования библиотеки потребуется получить токен бота в консоли разработчика MAX bot.
Ознакомиться с инструкцией можно по ссылке.
API
Документацию по REST API MAX можно найти по ссылке dev.max.ru/docs-api. Библиотека является оберткой для REST API, поэтому документация по указанной выше ссылке также применима к используемым здесь моделям.
Документацию по MAX BOT API можно найти по ссылке green-api.com/max-bot-api/docs.
Поддержка

Руководства и новости

Установка
Убедитесь, что у вас установлена версия Node.js версии не ниже 18
node -v
npm -v
Установите библиотеку:
npm install maxbot-api-client-ts
Использование и примеры
Параметры конфигурации:
base_url - Базовый URL-адрес серверов платформы MaxBot. Все методы API будут маршрутизироваться по этому корневому адресу. Актуальный адрес указан в официальной документации.
token - Уникальный секретный ключ авторизации (API-ключ) вашего бота. Получить его можно в личном кабинете после регистрации или создании бота на платформе business.max.ru.
ratelimiter - Встроенный ограничитель частоты запросов. Он контролирует количество исходящих запросов в секунду (RPS), защищая бота от блокировки со стороны сервера за превышение лимитов. Рекомендуемое значение — не менее 25.
timeout - Максимальное время ожидания ответа от сервера (в секундах). Если сервер не ответит в течение этого времени, запрос будет завершен с ошибкой. Оптимальное значение — 30 секунд.
Как инициализировать клиент:
import { MaxBotAPI } from 'maxbot-api-client-ts';
const response = new MaxBotAPI({
base_url: "https://platform-api.max.ru",
token: "YOUR_BOT_TOKEN",
ratelimiter: 25,
timeout: 30000
});
Как получить информацию о боте:
Ссылка на пример: getBot/main.ts
const response = await bot.bots.getBot();
Как отправить сообщение:
Ссылка на пример: sendMessage/main.ts
await bot.messages.sendMessage({
user_id: 123456789,
text: "Hello world!",
});
Как легко отправить файл (по ссылке или локальный):
Метод helpers.sendFile сам определит тип источника и загрузит файл на сервер, если это необходимо.
Ссылка на пример: sendFile/main.ts
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",
});
Как получить входящее уведомление:
Ссылка на пример: getUpdates/main.ts
const response = await bot.subscriptions.getUpdates({
timeout: 25,
marker: marker,
types: [UpdateType.MessageCreated]
});
Список примеров
Список всех методов библиотеки
Лицензия
MIT