bushlanov-dev / max-bot-api-client-php
Max Bot API Client library
Requires
- php: >=8.3
- ext-json: *
- guzzlehttp/guzzle: ^6.5.8||^7.0
- guzzlehttp/psr7: ^1.8||^2.0
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0||^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.77
- jaschilz/php-coverage-badger: ^2.0
- mikey179/vfsstream: ^1.6
- php-mock/php-mock-phpunit: ^2.13
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^12.0
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2025-07-31 14:21:59 UTC
README
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.