bushlanov-dev/max-bot-api-client-php

Max Bot API Client library

0.6.0-beta 2025-07-31 06:31 UTC

This package is auto-updated.

Last update: 2025-07-31 14:21:59 UTC


README

Actions status Coverage PHP version Software License

Caution

На мой взгляд Max Messenger является ни чем иным как малварью, созданной для слежки за гражданами РФ. Настоятельно не рекомендую использовать его на реальных устройствах, с настоящим номером телефона, и для личной переписки.

Important

Библиотека в стадии активной разработки.

Быстрый старт

Если вы новичок, то можете прочитать официальную документацию, написанную разработчиками Max.

Получение токена

Откройте диалог с MasterBot, следуйте инструкциям и создайте нового бота. После создания бота MasterBot отправит вам токен.

Установка библиотеки

composer require bushlanov-dev/max-bot-api-client-php

Использование

Отправка сообщения с клавиатурой

$api = new \BushlanovDev\MaxMessengerBot\Api('YOUR_BOT_API_TOKEN');

$api->sendMessage(
    userId: 123,     // ID пользователя получателя сообщения
    chatId: 321,     // Или ID чата, в который нужно отправить сообщение
    text: 'Привет!', // Текст сообщения, вы можете использовать HTML или Markdown
    attachments: [
        new InlineKeyboardAttachmentRequest([
            [new CallbackButton('Нажми меня!', 'payload_button1')],
            [new LinkButton('Нажми меня!', 'https://example.com')],
        ]),
    ],
    format: MessageFormat::Markdown, // Формат сообщения (Markdown или HTML)
);

Подписка на вэб хуки

$api->subscribe(
    new \BushlanovDev\MaxMessengerBot\Models\SubscriptionRequest(
        'https://example.com/webhook', // URL на который будут приходить хуки
        'super_secret',                // Секретная фраза для проверки хуков
        [
            // Типы хуков которые вы хотите получать (либо ничего не указывать, чтобы получать все)
            \BushlanovDev\MaxMessengerBot\Enums\UpdateType::MessageCreated,
        ],
    ),
);

Обработка хуков

$webhookHandler = $api->createWebhookHandler();

$webhookHandler->addHandler(UpdateType::BotStarted, function (BotStartedUpdate $update, Api $api) {
    $api->sendMessage(
        chatId: $update->chatId,
        text: 'Я запущен!',
    );
});

Реализованные методы

Bots

  • GET /me (getBotInfo) - Получение информации о боте.
  • PATCH /me (editBotInfo) - Редактирование информации о боте.

Chats

  • GET /chats (getChats) - Получение списка всех чатов бота.
  • GET /chats/{chatLink} (getChatByLink) - Получение информации о чате по ссылке.
  • GET /chats/{chatId} (getChat) - Получение информации о чате по ID.
  • PATCH /chats/{chatId} (editChat) - Редактирование информации о чате.
  • DELETE /chats/{chatId} (deleteChat) - Удаление чата.
  • POST /chats/{chatId}/actions (sendAction) - Отправка действия в чат (например, "печатает...").
  • GET /chats/{chatId}/pin (getPinnedMessage) - Получение закрепленного сообщения.
  • PUT /chats/{chatId}/pin (pinMessage) - Закрепление сообщения.
  • DELETE /chats/{chatId}/pin (unpinMessage) - Открепление сообщения.
  • GET /chats/{chatId}/members/me (getMembership) - Получение информации о членстве бота в чате.
  • DELETE /chats/{chatId}/members/me (leaveChat) - Выход бота из чата.
  • GET /chats/{chatId}/members/admins (getAdmins) - Получение администраторов чата.
  • POST /chats/{chatId}/members/admins (addAdmins) - Назначение администраторов чата.
  • DELETE /chats/{chatId}/members/admins/{userId} (deleteAdmins) - Снятие прав администратора.
  • GET /chats/{chatId}/members (getMembers) - Получение участников чата.
  • POST /chats/{chatId}/members (addMembers) - Добавление участников в чат.
  • DELETE /chats/{chatId}/members (deleteMember) - Удаление участника из чата.

Subscriptions

  • GET /subscriptions (getSubscriptions) - Получение списка Webhook-подписок.
  • POST /subscriptions (subscribe) - Создание Webhook-подписки.
  • DELETE /subscriptions (unsubscribe) - Удаление Webhook-подписки.
  • GET /updates (getUpdates) - Получение обновлений через Long-Polling.

Upload

  • POST /uploads (getUploadUrl) - Получение URL для загрузки файла.

Messages

  • GET /messages (getMessages) - Получение списка сообщений из чата.
  • POST /messages (sendMessage) - Отправка сообщения.
  • PUT /messages (editMessage) - Редактирование сообщения.
  • DELETE /messages (deleteMessage) - Удаление сообщения.
  • GET /messages/{messageId} (getMessageById) - Получение сообщения по ID.
  • GET /videos/{videoToken} (getVideoAttachmentDetails) - Получение детальной информации о видео.
  • POST /answers (answerOnCallback) - Ответ на нажатие callback-кнопки.

Лицензия

Данная библиотека распространяется под лицензией MIT - подробности см. в файле LICENSE.