tonchik-tm / max-bot-api-client-php
Max Bot API Client library
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 1
pkg:composer/tonchik-tm/max-bot-api-client-php
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
- psr/log: ^3.0
Requires (Dev)
- bushlanov-dev/php-coverage-badger: ^2.1
- friendsofphp/php-cs-fixer: ^3.77
- laravel/framework: ^11.0
- mikey179/vfsstream: ^1.6
- mockery/mockery: ^1.6
- orchestra/testbench: ^9.0
- php-mock/php-mock-phpunit: ^2.13
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^12.0
- roave/security-advisories: dev-latest
This package is not auto-updated.
Last update: 2025-10-11 10:16:17 UTC
README
Caution
На мой взгляд Max Messenger является ни чем иным как малварью, созданной для слежки за гражданами РФ. Настоятельно
не рекомендую использовать его на реальных устройствах, с настоящим номером телефона, и для личной переписки.
Быстрый старт
Если вы новичок, то можете прочитать официальную документацию, написанную разработчиками Max.
Получение токена
Откройте диалог с MasterBot, следуйте инструкциям и создайте нового бота. После создания бота MasterBot отправит вам токен.
Установка библиотеки
composer require bushlanov-dev/max-bot-api-client-php
Пользователи Laravel могут зарегистрировать сервис провайдер и фасад в config/app.php:
'providers' => [ // ... BushlanovDev\MaxMessengerBot\Laravel\MaxBotServiceProvider::class, ], // ... 'aliases' => [ // ... 'MaxBot' => BushlanovDev\MaxMessengerBot\Laravel\MaxBotFacade::class, ],
Использование
Отправка сообщения с клавиатурой
require __DIR__.'/vendor/autoload.php'; use BushlanovDev\MaxMessengerBot\Api; $api = new Api('YOUR_BOT_API_TOKEN'); // Загрузка файла $fileAttachmentRequest = $api->uploadAttachment( type: UploadType::File, filePath: __DIR__ . '/test.pdf', ); $api->sendMessage( userId: 123, // ID пользователя получателя сообщения chatId: 321, // Или ID чата, в который нужно отправить сообщение text: 'Привет!', // Текст сообщения, вы можете использовать HTML или Markdown attachments: [ $fileAttachmentRequest, new InlineKeyboardAttachmentRequest([ [new CallbackButton('Нажми меня!', 'payload_button1')], [new LinkButton('Нажми меня!', 'https://example.com')], ]), ], format: MessageFormat::Markdown, // Формат сообщения (Markdown или HTML) );
Отправка сообщения с использованием фасада Laravel
MaxBot::sendUserMessage(123456, 'Привет из Laravel!');
Создание универсального обработчика обновлений
$dispatcher = $api->getUpdateDispatcher(); $dispatcher->onMessageCreated(function (MessageCreatedUpdate $update, Api $api) { $api->sendMessage( userId: $update->message->recipient->userId, text: 'Привет!', ); }); // или $dispatcher->addHandler(UpdateType::BotStarted, function (BotStartedUpdate $update, Api $api) { $api->sendMessage( chatId: $update->chatId, text: 'Я запущен!', ); });
Подписка на вэб хуки
$api->subscribe( url: 'https://example.com/webhook', // URL на который будут приходить хуки secret: 'super_secret', // Секретная фраза для проверки хуков updateTypes: [ // Типы хуков которые вы хотите получать (либо ничего не указывать, чтобы получать все) UpdateType::BotStarted, UpdateType::MessageCreated, ], );
Обработка обновлений
$handler = $api->createWebhookHandler('super_secret'); // Обновления через вебхук // ИЛИ $handler = $api->createLongPollingHandler(); // Обновления через лонгполлинг $handler->handle();
ℹ️ С полной документацией вы можете ознакомиться тут.
Реализованные методы
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}(deleteAdmin) - Снятие прав администратора. -
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.