maxkhim / laravel-max-messenger-api-client
Клиент для работы с RESTapi Мессенджер Max в проектах на базе фреймворка Laravel
Package info
github.com/maxkhim/laravel-max-messenger-api-client
pkg:composer/maxkhim/laravel-max-messenger-api-client
0.1
2026-03-07 09:18 UTC
Requires
- php: ^7.4|^8.0
- guzzlehttp/guzzle: ^7.0|^8.0|^9.0
- laravel/framework: ^8.0|^9.0|^10.0|^11.0|^12.0
This package is auto-updated.
Last update: 2026-03-07 09:25:07 UTC
README
Простой и типобезопасный PHP-клиент для работы с Max Bot API. Позволяет легко отправлять сообщения, обрабатывать обновления и работать с вложениями через объекты.
✨ Особенности
- Объектно-ориентированный интерфейс для сообщений, вложений и кнопок
- Поддержка фабрик:
Attachment::image(...),Link::reply(...) - Поддержка:
- Текстовых сообщений с форматированием (
markdown,html). - Кнопок:
callback,link,request_contactи др. - Вложений: фото, видео, файлы, геолокация, контакты
- Ответов на сообщения (
reply) и пересылки (forward)
- Текстовых сообщений с форматированием (
- Совместимость с Laravel
📦 Установка
В .env файле добавьте:
MAX_BOT_TOKEN="Токен бота"
В папке вашего проекта выполните установку:
composer require maxkhim/laravel-max-messenger-api-client
Выполнить проверку корректности установки:
php artisan max-bot:check
🚀 Быстрый старт
Отправка сообщения
use Maxkhim\MaxMessengerApiClient\Bot\Messages\Message; use Maxkhim\MaxMessengerApiClient\Bot\Messages\Attachments\Attachment; $message = Message::message('Привет, мир!') ->addAttachment( Attachment::location(64.529183, 40.54926) ) ->addAttachment( Attachment::inlineKeyboard [ [ Attachment::callbackButton('Нажми меня', 'btn_1'), Attachment::callbackButton('Нажми меня ещё раз', 'btn_2'), ], [ Attachment::linkButton('Мой GitHub', 'https://github.com/maxkhim'), ] ] );
2. Обработка входящих обновлений
🧰 Возможности
Кнопки
| Тип кнопки | Метод |
|---|---|
| Callback | Button::callbackButton('Текст', 'payload') |
| Ссылка | Button::linkButton('Текст', 'https://...') |
| Запрос контакта | Button::requestContactButton('Поделиться') |
| Запрос геолокации | Button::requestLocationButton('Отправить локацию') |
| Сообщение от пользователя | Button::messageButton('Отправить') |
| Запуск приложения | Button::openAppButton('Запустить', 'bot_name') |
Вложения
| Тип | Метод |
|---|---|
| Фото | Attachment::image('https://...') |
| Видео | Attachment::video('token_...') |
| Файл | Attachment::file('token_...') |
| Геолокация | Attachment::location(55.7558, 37.6176) |
| Контакт | Attachment::contact('Иван', 123456) |
| Предпросмотр ссылки | Attachment::share('https://...') |