Download the PHP package phenogram/framework without Composer
On this page you can find all versions of the php package phenogram/framework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package framework
Phenogram - феноменально простой фреймворк Telegram ботов
[!WARNING]
Проект находится в активной разработке и не рекомендуется к использованию в продакшене.
Это простой фреймворк для создания Telegram ботов любой сложности на PHP.
Главной мотивацией было написание инструмента для работы с API Telegram со строгой типизацией.
Все типы для API лежат в соседнем проекте: bindings и могут быть использованы и без этого фреймворка. Их будет достаточно, если вы хотите отправлять запросы и получать типизированные ответы.
Текущая поддерживаемая версия Telegram bot API - v9.0.0
В фреймворке же будет чуть больше качества жизни - роуты, мидвари, хэндлеры. Event loop для работы в режиме long-polling.
Приоритет в разработке - простота использования и производительность. Есть возможность писать асинхронные хэндлеры, так как под капотом работает amphp и файберы.
Установка
Использование
Простейший пример
Запускать через php bot.php
Вы ничего не увидите на экране, потому что даже логгер не настроен. Но бот будет работать и отвечать на любые сообщения.
Отправка локальных файлов
Из документации видно, что файлы можно отправлять 3 способами:
- Указать URL
- Указать ID файла
- Загрузить локальный файл
С отправкой через URL и ID файла всё просто - укажите эти параметры в запросе строками. Загрузить локальный файл тоже просто, в фреймворке есть 3 способа это сделать:
- Указать путь до файла в LocalFile
- Передать (amphp поток)[https://amphp.org/byte-stream] в ReadableStreamFile
- Отправить уже прочитанный файл в виде строки через BufferedFile
Рассмотрим отправку файлов на примере sendDocument.
TODO: дописать ридми и доку
А пока пример бота посложнее (на очень старой версии фреймворка) вы можете найти здесь или пример посвежее
All versions of framework with dependencies
psr/log Version ^3.0
psr-discovery/log-implementations Version ^1.0
psr/http-factory Version ^1.0
psr/container Version ^2.0
phenogram/bindings Version ^5
amphp/amp Version ^3.0
amphp/http-client Version ^5.1
amphp/file Version ^3.1