chipslays / telegram-bot-api
PHP Telegram Bot API Library.
Requires
- chipslays/clify: ^1.0
- chipslays/collection: ^1.0
- chipslays/php-container: ^0.0
- illuminate/database: ^8.21
Requires (Dev)
- phpunit/phpunit: ^9.5
README
Простая и гибкая библиотека для создания ботов Telegram на языке PHP.
⚠ Проект переехал сюда
⚠ Проект переехал сюда
⚠ Проект переехал сюда
👷 Установка
$ composer require chipslays/telegram-bot-api
💡 Пример
require 'vendor/autoload.php'; $bot = bot('1234567890:BOT_TOKEN')->webhook(); $bot->hear('Меня зовут {name}', fn ($name) => reply("Привет {$name}!")); $bot->run();
Больше примеров можно посмотреть здесь.
📌 Команды
После установки библиотеки будут доступны некоторые команды в терминале.
Создать файл конфигурации бота:
$ vendor/bin/bot --config ./
Создать готовую файловую структуру (skeleton):
$ vendor/bin/bot --init ./
Показать список доступных команд:
$ vendor/bin/bot --help
📖 Документация
Подробная документация по использованию находится здесь.
Почему нет отдельных классов для работы с типами обновлений? 🤨
Библиотека предоставляет гибкие возможности для работы с Telegram Bot API , поддерживая как текущие методы/ответы, так и будущие используя для этого универсальные методы, например, как request()
и on()
, а так же класс Update
.
Вместо заранее прописанных классов с типами, используется единственный универсальный класс Update
для работы с входящим обновлением.
Например, получим тип User
:
$user = Update::get('message.from');
Получим username
, но так как он не у всех есть, передадим вторым параметром значение по умолчанию:
$username = Update::get('message.from.username', 'Юзернейм не существует 😥');
Доступен короткий синтаксис:
$user = update('message.from'); // вместо Update::get(); $user = update()->get('message.from'); // update() вернет объект `Update`;
Да, первое время, если вы не работали ранее с Bot API, то придется часто держать открытой страницу с документацией и смотреть доступные параметры.
Библиотека создавалась для себя/своих нужд, поэтому как-то так.
🔑 License
Released under the MIT public license. See the enclosed LICENSE
for details.