chipslays/telegram-bot-api

PHP Telegram Bot API Library.


Keywords
api, library, bot, telegram
License
MIT

Documentation

WIP: PHP Telegram Bot API

Простая и гибкая библиотека для создания ботов 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.