PHPackages                             letoceiling-coder/max - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. letoceiling-coder/max

ActiveLibrary[API Development](/categories/api)

letoceiling-coder/max
=====================

Laravel package for Max Bot API integration

1.0.0(5mo ago)24MITPHPPHP ^8.2

Since Dec 4Pushed 5mo agoCompare

[ Source](https://github.com/letoceiling-coder/max)[ Packagist](https://packagist.org/packages/letoceiling-coder/max)[ RSS](/packages/letoceiling-coder-max/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

Max Bot API для Laravel
=======================

[](#max-bot-api-для-laravel)

[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://opensource.org/licenses/MIT)[![PHP Version](https://camo.githubusercontent.com/c5e8da782b1a0673c08b4f474108036d2cc973470eed2d5d89d48e8c8475eee6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344382e322d626c75652e737667)](https://www.php.net/)

Полноценная библиотека для работы с Max Bot API и Mini App в Laravel приложениях.

✨ Возможности
-------------

[](#-возможности)

- 🤖 **30+ методов Bot API** - отправка сообщений, управление чатами, участниками
- 📱 **Mini App интеграция** - валидация параметров, работа с пользователями
- ⌨️ **Конструктор клавиатур** - inline клавиатуры с callback, ссылками, Mini App
- ✅ **Автоматическая валидация** - проверка всех данных перед отправкой
- 📊 **Типы данных** - удобные классы для User, Chat, Message
- 🔄 **Webhook поддержка** - подписка на обновления
- 📤 **Загрузка файлов** - удобная загрузка медиа

📦 Установка
-----------

[](#-установка)

### Через Composer

[](#через-composer)

```
composer require letoceiling-coder/max
```

### Публикация конфигурации

[](#публикация-конфигурации)

```
php artisan vendor:publish --tag=max-config
```

### Настройка .env

[](#настройка-env)

```
MAX_BOT_TOKEN=your_bot_token_here
MAX_SECRET_KEY=your_secret_key_here
MAX_WEBHOOK_URL=https://your-domain.com/api/max/webhook
MAX_MINI_APP_URL=https://your-domain.com
MAX_BOT_USERNAME=your_bot_username
MAX_ADMIN_IDS=123456789,987654321
```

🚀 Быстрый старт
---------------

[](#-быстрый-старт)

### Отправка сообщения

[](#отправка-сообщения)

```
use LetoceilingCoder\Max\Max;

// Простое сообщение
Max::send(123456789, 'Привет! 👋');

// С форматированием
Max::bot()->sendMessage(123456789, '**Жирный** текст', [
    'format' => 'markdown'
]);
```

### Создание клавиатуры

[](#создание-клавиатуры)

```
use LetoceilingCoder\Max\Max;

$keyboard = Max::keyboard()
    ->row()
    ->callback('Кнопка 1', 'btn1')
    ->callback('Кнопка 2', 'btn2')
    ->row()
    ->link('Открыть сайт', 'https://example.com')
    ->openApp('Открыть Mini App', 'https://app.example.com')
    ->get();

Max::bot()->sendMessage(123456789, 'Выберите действие:', [
    'attachments' => [$keyboard]
]);
```

### Валидация Mini App

[](#валидация-mini-app)

```
use LetoceilingCoder\Max\MiniApp;

$miniApp = new MiniApp();
$params = $request->header('X-Max-Init-Data');

if ($miniApp->validateParams($params)) {
    $user = $miniApp->getUser($params);
    $userId = $user['user_id'];
}
```

📚 Основные возможности
----------------------

[](#-основные-возможности)

### Отправка сообщений

[](#отправка-сообщений)

```
use LetoceilingCoder\Max\Max;

// Текстовое сообщение
Max::bot()->sendMessage(123456789, 'Текст сообщения');

// С форматированием Markdown
Max::bot()->sendMessage(123456789, '**Жирный** *курсив*', [
    'format' => 'markdown'
]);

// С форматированием HTML
Max::bot()->sendMessage(123456789, 'Жирный курсив', [
    'format' => 'html'
]);
```

### Работа с клавиатурами

[](#работа-с-клавиатурами)

```
use LetoceilingCoder\Max\Keyboard;

// Inline клавиатура
$keyboard = new Keyboard();

// Callback кнопки
$keyboard->row()
    ->callback('🎰 Рулетка', 'wheel')
    ->callback('👥 Друзья', 'friends');

// Ссылка
$keyboard->row()
    ->link('📱 Сайт', 'https://example.com');

// Открыть Mini App
$keyboard->row()
    ->openApp('🚀 Открыть приложение', 'https://app.example.com');

// Запросить контакт
$keyboard->row()
    ->requestContact('📞 Отправить контакт');

// Запросить геолокацию
$keyboard->row()
    ->requestGeoLocation('📍 Отправить геолокацию');

$attachment = $keyboard->get();

Max::bot()->sendMessage($chatId, 'Выберите действие:', [
    'attachments' => [$attachment]
]);
```

### Работа с чатами

[](#работа-с-чатами)

```
use LetoceilingCoder\Max\Max;

// Получить список чатов
$chats = Max::bot()->getChats();

// Получить информацию о чате
$chat = Max::bot()->getChat($chatId);

// Изменить информацию о чате
Max::bot()->updateChat($chatId, [
    'title' => 'Новое название',
    'description' => 'Новое описание'
]);

// Получить участников
$members = Max::bot()->getChatMembers($chatId);

// Добавить участников
Max::bot()->addChatMembers($chatId, [123, 456, 789]);

// Назначить администратора
Max::bot()->promoteChatAdmin($chatId, 123);
```

### Webhook

[](#webhook)

```
use LetoceilingCoder\Max\Max;

// Установить webhook
Max::bot()->subscribe('https://yourdomain.com/api/max/webhook');

// Получить статус webhook
$subscriptions = Max::bot()->getSubscriptions();

// Удалить webhook
Max::bot()->unsubscribe();
```

### Загрузка файлов

[](#загрузка-файлов)

```
use LetoceilingCoder\Max\Max;

// Загрузить файл
$result = Max::bot()->upload([
    'file' => [
        'path' => '/path/to/file.jpg',
        'filename' => 'photo.jpg'
    ]
]);
```

🎯 Использование в контроллерах
------------------------------

[](#-использование-в-контроллерах)

### Webhook обработчик

[](#webhook-обработчик)

```
namespace App\Http\Controllers\Api;

use Illuminate\Http\Request;
use LetoceilingCoder\Max\Max;

class MaxWebhookController extends Controller
{
    public function handle(Request $request)
    {
        $update = $request->all();

        if (isset($update['message'])) {
            $this->handleMessage($update['message']);
        }

        if (isset($update['callback'])) {
            $this->handleCallback($update['callback']);
        }

        return response()->json(['ok' => true]);
    }

    protected function handleMessage($message)
    {
        $chatId = $message['chat_id'];
        $text = $message['text'] ?? '';

        if ($text === '/start') {
            Max::send($chatId, 'Добро пожаловать!');
        }
    }

    protected function handleCallback($callback)
    {
        $callbackId = $callback['id'];
        $payload = $callback['payload'];

        Max::bot()->answerCallback($callbackId, [
            'text' => 'Обработано!'
        ]);
    }
}
```

### Middleware для Mini App

[](#middleware-для-mini-app)

```
namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use LetoceilingCoder\Max\MiniApp;
use LetoceilingCoder\Max\Exceptions\MaxValidationException;

class MaxAuth
{
    public function handle(Request $request, Closure $next)
    {
        $params = $request->header('X-Max-Init-Data');

        if (!$params) {
            return response()->json(['error' => 'Unauthorized'], 401);
        }

        try {
            $miniApp = new MiniApp();
            $user = $miniApp->validateAndGetUser($params);
            $request->merge(['max_user' => $user]);
        } catch (MaxValidationException $e) {
            return response()->json(['error' => 'Invalid signature'], 401);
        }

        return $next($request);
    }
}
```

📖 API Документация
------------------

[](#-api-документация)

### Основные классы

[](#основные-классы)

- **`Max`** - Фасад для быстрого доступа
- **`Bot`** - Работа с Bot API (30+ методов)
- **`MiniApp`** - Валидация Mini App
- **`Keyboard`** - Конструктор клавиатур

### Основные методы Bot API

[](#основные-методы-bot-api)

#### Bots

[](#bots)

- `getBotInfo()` - Получить информацию о боте

#### Messages

[](#messages)

- `sendMessage()` - Отправить сообщение
- `editMessage()` - Редактировать сообщение
- `deleteMessage()` - Удалить сообщение
- `getMessage()` - Получить сообщение
- `getMessages()` - Получить список сообщений

#### Chats

[](#chats)

- `getChats()` - Получить список чатов
- `getChat()` - Получить информацию о чате
- `updateChat()` - Изменить чат
- `getChatMembers()` - Получить участников
- `addChatMembers()` - Добавить участников
- `removeChatMember()` - Удалить участника
- `promoteChatAdmin()` - Назначить администратора
- `demoteChatAdmin()` - Снять права администратора

#### Subscriptions

[](#subscriptions)

- `subscribe()` - Подписаться (установить webhook)
- `unsubscribe()` - Отписаться (удалить webhook)
- `getSubscriptions()` - Получить подписки
- `getUpdates()` - Получить обновления

Полный список методов смотрите в [src/README.md](src/README.md)

🎨 Форматирование текста
-----------------------

[](#-форматирование-текста)

### Markdown

[](#markdown)

```
Max::bot()->sendMessage($chatId, '**Жирный** *курсив* ~~зачеркнутый~~', [
    'format' => 'markdown'
]);
```

### HTML

[](#html)

```
Max::bot()->sendMessage($chatId, 'Жирный курсив зачеркнутый', [
    'format' => 'html'
]);
```

🚨 Обработка ошибок
------------------

[](#-обработка-ошибок)

```
use LetoceilingCoder\Max\Exceptions\MaxException;

try {
    Max::send(123456789, 'Hello');
} catch (MaxException $e) {
    Log::error('Max API error: ' . $e->getMessage());
}
```

🛠️ Дополнительная документация
------------------------------

[](#️-дополнительная-документация)

- **[src/README.md](src/README.md)** - Полная документация с примерами
- **[src/EXAMPLES.md](src/EXAMPLES.md)** - Примеры использования
- **[src/LIMITS.md](src/LIMITS.md)** - Лимиты и валидация
- **[src/FEATURES.md](src/FEATURES.md)** - Полный список возможностей
- **[src/SETUP.md](src/SETUP.md)** - Подробная инструкция по установке

🔗 Официальная документация Max
------------------------------

[](#-официальная-документация-max)

- [Max API](https://dev.max.ru/docs-api)
- [Max Mini Apps](https://dev.max.ru/docs-miniapps)

📝 Лицензия
----------

[](#-лицензия)

MIT License. См. [LICENSE](LICENSE) файл для деталей.

🤝 Поддержка
-----------

[](#-поддержка)

Если у вас есть вопросы или предложения, создайте [Issue](https://github.com/letoceiling-coder/max/issues) в репозитории.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance71

Regular maintenance activity

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

165d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/bba6a99134d905eaed0dcccbc768321a5d14edc29aab6dedc45cac31beb0d36e?d=identicon)[letoceiling-coder](/maintainers/letoceiling-coder)

---

Top Contributors

[![Postads](https://avatars.githubusercontent.com/u/25578332?v=4)](https://github.com/Postads "Postads (3 commits)")

---

Tags

apilaravelbotmax

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/letoceiling-coder-max/health.svg)

```
[![Health](https://phpackages.com/badges/letoceiling-coder-max/health.svg)](https://phpackages.com/packages/letoceiling-coder-max)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k7.6M74](/packages/openai-php-laravel)[darkaonline/l5-swagger

OpenApi or Swagger integration to Laravel

2.9k34.0M112](/packages/darkaonline-l5-swagger)[nickurt/laravel-postcodeapi

Universal PostcodeApi for Laravel 11.x/12.x/13.x

97221.2k](/packages/nickurt-laravel-postcodeapi)[mozex/anthropic-laravel

Anthropic PHP for Laravel is a supercharged PHP API client that allows you to interact with the Anthropic API

71226.4k1](/packages/mozex-anthropic-laravel)[bushlanov-dev/max-bot-api-client-php

Max Bot API Client library

281.6k](/packages/bushlanov-dev-max-bot-api-client-php)[scriptdevelop/whatsapp-manager

Paquete para manejo de WhatsApp Business API en Laravel

762.6k](/packages/scriptdevelop-whatsapp-manager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
