maxkhim/laravel-max-messenger-api-client

Клиент для работы с RESTapi Мессенджер Max в проектах на базе фреймворка Laravel

Maintainers

Package info

github.com/maxkhim/laravel-max-messenger-api-client

pkg:composer/maxkhim/laravel-max-messenger-api-client

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 2

Open Issues: 0

0.1 2026-03-07 09:18 UTC

This package is auto-updated.

Last update: 2026-03-07 09:25:07 UTC


README

PHP Version Latest Version Laravel

Простой и типобезопасный 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://...')

Ответ на сообщение