Download the PHP package gagins/phpmaxbot without Composer

On this page you can find all versions of the php package gagins/phpmaxbot. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package phpmaxbot

PHPMaxBot

PHP библиотека для создания ботов в мессенджере MAX. Поддерживает полное API MAX messenger и предоставляет удобный интерфейс для разработки ботов.

Особенности

Требования

Установка

Через Composer

Вручную

  1. Клонируйте репозиторий:

  2. Подключите автозагрузку:

Быстрый старт

Основное использование

Создание бота

Обработка команд

Обработка событий

Обработка callback-кнопок

Обработка входящих вложений

Когда пользователь нажимает кнопку requestContact или requestGeoLocation — или отправляет медиафайл — бот получает событие message_created с вложением (attachment). Используйте onAttachment($type, $handler) для обработки конкретного типа.

Обработчик получает полный массив вложения $attachment. Расположение данных зависит от типа:

Тип Данные в payload Прямые поля вложения
image photo_id, token, url
video url, token
audio url, token
file url, token filename, size
sticker url, code width, height
contact vcf_info, max_info
inline_keyboard buttons
share url
location нет latitude, longitude

Обработчики onAttachment срабатывают раньше общего on('message_created'). Для каждого типа регистрируется один обработчик.

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

Типы кнопок

Отправка медиафайлов

PHPMaxBot предоставляет три уровня API для работы с файлами — от одного вызова до полного ручного контроля.

Как это работает

Загрузка файла в MAX состоит из двух шагов: сначала запрашивается URL загрузки, затем файл передаётся на этот URL. Способ получения токена вложения зависит от типа файла:

Тип Шаг 1 uploadFile() Шаг 2 uploadFileToUrl() Откуда токен
image, file возвращает только url передаёт файл → возвращает token из ответа шага 2
video, audio возвращает url и token передаёт файл (слот завершается) из ответа шага 1

Все высокоуровневые методы скрывают эту разницу — вы просто передаёте файл.


Уровень 1 — высокоуровневые методы (рекомендуется)

Один вызов: библиотека сама получает URL, загружает файл и отправляет сообщение.

Отправка в чат

Отправка пользователю

Сигнатура методов

Параметр $extra принимает те же опции, что и sendMessageToChat() / sendMessageToUser() (format, дополнительные attachments и т.д.).


Уровень 2 — получение токена, ручная отправка

Используйте этот вариант, когда нужен токен до отправки сообщения — например, чтобы вложить файл в ответ на callback.


Уровень 3 — полный ручной контроль

Когда нужен доступ к сырым ответам каждого шага.

image / file — токен из ответа на загрузку

video / audio — токен из первого ответа


Полный пример: бот с командами /photo и /video

Смотрите также пример examples/media-bot.php.


API методы

Сообщения

Чаты

Закрепленные сообщения

Бот

Видео

Подписки (Webhook)

Загрузка и отправка файлов (краткий справочник)

Полное описание — в разделе «Отправка медиафайлов».

Действия

Callback ответы

Формат сообщений

Подробнее про форматирование

Запуск бота

Long Polling (режим CLI)

Бот автоматически определит CLI режим и запустит long polling.

Webhook

Разместите файл бота на веб-сервере, доступном по HTTPS. MAX будет отправлять обновления на ваш URL.

Обработка исключений

Доступ к текущему обновлению

Типы обновлений

Доступные типы обновлений для фильтрации:

Структура обновлений: получение userId и chatId

Разные типы обновлений имеют разную структуру. Пути к идентификаторам:

Тип обновления userId chatId
message_created $update['message']['sender']['user_id'] $update['message']['recipient']['chat_id'] ¹
message_edited $update['message']['sender']['user_id'] $update['message']['recipient']['chat_id'] ¹
message_callback $update['callback']['sender']['user_id'] $update['callback']['message']['recipient']['chat_id'] ¹
message_removed $update['user_id'] $update['chat_id']
bot_started $update['user']['user_id'] $update['chat_id']
bot_stopped $update['user']['user_id'] $update['chat_id']
bot_added $update['user']['user_id'] $update['chat_id']
bot_removed $update['user']['user_id'] $update['chat_id']
user_added $update['user']['user_id'] $update['chat_id']
user_removed $update['user']['user_id'] $update['chat_id']
chat_title_changed $update['user']['user_id'] $update['chat_id']
dialog_removed $update['user']['user_id'] $update['chat_id']

¹ Поле chat_id в объекте recipient присутствует только для групповых чатов. В личном диалоге оно отсутствует — для ответа используйте sender.user_id.

Примеры:

Указать типы обновлений:

Примеры

Файл Что демонстрирует
sample.php Полный пример с командами, клавиатурами и вложениями
examples/simple-bot.php Команды, события, регулярные выражения
examples/keyboard-bot.php Inline-клавиатуры, callback-кнопки, запрос контакта и геолокации
examples/attachments-bot.php Обработка всех типов входящих вложений через onAttachment()
examples/media-bot.php Отправка изображений, видео, аудио и файлов

Запуск любого примера:

Debug режим

Настройка параметров cURL

Библиотека позволяет задать любые параметры cURL, которые будут применяться к каждому запросу к API.

Защищённые параметрыCURLOPT_URL, CURLOPT_RETURNTRANSFER, CURLOPT_CUSTOMREQUEST, CURLOPT_HTTPHEADER, CURLOPT_POSTFIELDS — всегда устанавливаются библиотекой и не могут быть переопределены.
SSL-параметры (CURLOPT_SSL_VERIFYHOST, CURLOPT_SSL_VERIFYPEER) по умолчанию отключены, но могут быть переопределены.

Способ 1: через второй параметр конструктора (рекомендуется)

Способ 2: через статическое свойство (можно менять в любой момент)

Примеры конфигураций

Работа через прокси:

Строгая проверка SSL (для продакшн-среды):

Ограничение таймаутов:

Лицензия

GPL-3.0

Автор

GrayHoax [email protected]

Ссылки

Поддержка

Если у вас возникли проблемы или вопросы, создайте issue на GitHub.


All versions of phpmaxbot with dependencies

PHP Build Version
Package Version
Requires php Version >=7.4
ext-curl Version *
ext-json Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package gagins/phpmaxbot contains the following files

Loading the files please wait ...