1. Go to this page and download the library: Download grayhoax/phpmaxbot library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
grayhoax / phpmaxbot example snippets
PHPMaxBot\Helpers\Keyboard;
$token = 'your-bot-token';
$bot = new PHPMaxBot($token);
// Обработка команды /start
$bot->command('start', function() {
return Bot::sendMessage('Привет! Я бот на MAX мессенджере.');
});
// Обработка команды /help
$bot->command('help', function() {
return Bot::sendMessage('Доступные команды: /start, /help');
});
// Запуск бота
$bot->start();
$bot = new PHPMaxBot('your-bot-token');
// Простая команда
$bot->command('start', function() {
return Bot::sendMessage('Привет!');
});
// Команда с параметром
$bot->command('echo', function($text) {
return Bot::sendMessage("Вы написали: $text");
});
// Команда с текстовым ответом
$bot->command('hello', 'Привет! Как дела?');
// Обработка события bot_started
$bot->on('bot_started', function() {
$update = PHPMaxBot::$currentUpdate;
$userId = $update['user']['user_id'];
$userName = $update['user']['first_name'];
return Bot::sendMessage("Добро пожаловать, $userName!");
});
// Обработка создания сообщения
$bot->on('message_created', function() {
$text = Bot::getText();
// Ваша логика
});
// Обработка нескольких событий
$bot->on('message_created|message_edited', function() {
// Обработка обоих событий
});
// Получить токен — библиотека выбирает правильный шаг в зависимости от типа.
// Каждому вложению нужна своя переменная: тип токена должен совпадать
// с 'type' в attachments, иначе сообщение будет отклонено.
$imageToken = Bot::upload('image', '/path/to/photo.jpg');
$videoToken = Bot::upload('video', '/path/to/video.mp4');
$audioToken = Bot::upload('audio', '/path/to/audio.mp3');
$fileToken = Bot::upload('file', '/path/to/doc.pdf');
// Использовать токен в сообщении
Bot::sendMessageToChat($chatId, 'Фото', [
'attachments' => [
['type' => 'image', 'payload' => ['token' => $imageToken]],
],
]);
// Файл — ТОЛЬКО отдельным сообщением (см. «Ограничения MAX на состав вложений»)
Bot::sendMessageToChat($chatId, 'Документ', [
'attachments' => [
['type' => 'file', 'payload' => ['token' => $fileToken]],
],
]);
// Отправить сообщение в чат
Bot::sendMessageToChat($chatId, 'Текст сообщения', [
'attachments' => [$keyboard],
'format' => 'markdown'
]);
// Отправить сообщение пользователю
Bot::sendMessageToUser($userId, 'Текст сообщения');
// Отправить сообщение (автоопределение получателя)
// В групповом чате отправляет в чат, в личном диалоге — пользователю
Bot::sendMessage('Текст сообщения');
// Явно указать получателя через $extra
Bot::sendMessage('Текст', ['chat_id' => $chatId]);
Bot::sendMessage('Текст', ['user_id' => $userId]);
// Получить сообщение по ID
Bot::getMessage($messageId);
// Получить сообщения чата
Bot::getMessages($chatId, [
'count' => 10,
'from' => 0
]);
// Редактировать сообщение
Bot::editMessage($messageId, [
'text' => 'Новый текст'
]);
// Удалить сообщение
Bot::deleteMessage($messageId);
// Получить все чаты
Bot::getAllChats();
// Получить чат по ID
Bot::getChat($chatId);
// Получить чат по ссылке
Bot::getChatByLink($chatLink);
// Редактировать информацию о чате
Bot::editChatInfo($chatId, [
'title' => 'Новое название'
]);
// Удалить чат
Bot::deleteChat($chatId);
// Получить участников чата
Bot::getChatMembers($chatId);
// Добавить участников
Bot::addChatMembers($chatId, [$userId1, $userId2]);
// Удалить участника
Bot::removeChatMember($chatId, $userId);
// Получить администраторов
Bot::getChatAdmins($chatId);
// Назначить администратора
Bot::addChatAdmin($chatId, $userId);
// Снять администратора
Bot::removeChatAdmin($chatId, $userId);
// Покинуть чат
Bot::leaveChat($chatId);
// Получить закрепленное сообщение
Bot::getPinnedMessage($chatId);
// Закрепить сообщение
Bot::pinMessage($chatId, $messageId);
// Открепить сообщение
Bot::unpinMessage($chatId);
// Получить информацию о боте
Bot::getMyInfo();
// Редактировать информацию о боте
Bot::editMyInfo([
'name' => 'Новое имя',
'description' => 'Описание'
]);
// Установить команды бота
Bot::setMyCommands([
['name' => 'start', 'description' => 'Запустить бота'],
['name' => 'help', 'description' => 'Помощь']
]);
// Удалить команды
Bot::deleteMyCommands();
// Получить информацию о видео по токену
Bot::getVideo($videoToken);
// Получить список активных подписок
Bot::getSubscriptions();
// Создать webhook-подписку (URL обязан быть HTTPS)
Bot::createSubscription('https://example.com/webhook', [
'message_created',
'message_callback',
'bot_started'
]);
// Обновить подписку — повторный вызов createSubscription с тем же URL
// заменит её настройки (список событий)
Bot::createSubscription('https://example.com/webhook', [
'message_created',
'message_callback',
'bot_started',
'user_added',
]);
// Удалить подписку
Bot::deleteSubscription('https://example.com/webhook');
// Отправить действие (печатает, отправляет файл и т.д.)
Bot::sendAction($chatId, 'typing_on');
// Ответить на callback с уведомлением
Bot::answerOnCallback($callbackId, [
'notification' => 'Готово!'
]);
// Ответить с изменением сообщения
Bot::answerOnCallback($callbackId, [
'message' => [
'text' => 'Новый текст',
'attachments' => [$newKeyboard]
]
]);
// MarkDown
$bot->setFormat('markdown');
$bot->setFormat('md');
// HTML
$bot->setFormat('html');
// Простой текст
$bot->setFormat();
$bot->setFormat(false);
= new PHPMaxBot(getenv('BOT_TOKEN'));
// Настройка обработчиков...
$bot->command('start', fn() => Bot::sendMessage('Привет!'));
// При POST-запросе библиотека сама прочитает тело и обработает обновление
$bot->start();