Comments 13
Почему не выбрали эту библиотеку? github.com/php-telegram-bot/core
И подскажите чем удобнее тот который выбрали, что бы учесть и исправить
И подскажите чем удобнее тот который выбрали, что бы учесть и исправить
Спасибо. Есть в планах и надеюсь до стабильной версии успеем рефакторить. Хочу внести DI. Если есть ещё советы, буду рад услишать
А вы имеете какое-то отношение к этому репозиторию? Я в данный момент в свободное время добавляю Doctrine для работы не только с MySQL, но и с PostgreSQL, например.
Точно такая же история — сначала взял эту библиотеку, но потом запарился вписывать свою логику в предполагаемую систему команд, хочется более гибкую/простую библиотеку, без навязанной архитектуры
Изначально мне казалось, что в этой библиотеке очень просто и удобно реализовать логику. То есть написал функцию на определенную команду и описал внутри весь функционал. Но когда понадобилось дописать общую логику для всех команд — возникли проблемы (ниже по тексту комментаторы все верно отписали BoShurik PQR )
Поэтому пришлось написать свою библиотеку. Если из тех, кто прочитает эту статью, есть те, кто знает как можно красиво сделать подобное в текущей библиотеке, то прошу отписать в комментариях. Также если знаете гибкие альтернативы библиотеки, также прошу отписать в комментариях.
PS: на самом деле описать свою логику очень просто (я имею ввиду библиотеку для телеграм). Самый простой вариант на коленке займет около часов 2. Просто посмотреть вывод php://input от телеграм и описать логику структуры. Далее можно использовать наброски кода, что я привел в статье в главе Велосипедство.
Поэтому пришлось написать свою библиотеку. Если из тех, кто прочитает эту статью, есть те, кто знает как можно красиво сделать подобное в текущей библиотеке, то прошу отписать в комментариях. Также если знаете гибкие альтернативы библиотеки, также прошу отписать в комментариях.
PS: на самом деле описать свою логику очень просто (я имею ввиду библиотеку для телеграм). Самый простой вариант на коленке займет около часов 2. Просто посмотреть вывод php://input от телеграм и описать логику структуры. Далее можно использовать наброски кода, что я привел в статье в главе Велосипедство.
У меня в свое время получилось что-то вроде этого: https://github.com/BoShurik/telegram-bot-example. Отличие в том что я запоминаю не только команду, но и данные которые ввел пользователь, т.о. можно, например, заполнить заявку пошагово
Ещё бесит в вашей либе, что сообщения отправляются статично без привязки к конкретному боту, т. е. `Request::sendPhoto()`, то есть одновременно двух ботов в коде нельзя держать. Это очень печально. Раз мы создаём экземпляр бота, отправляться должно через этот экземпляр:
```php
$bot = new Longman\TelegramBot\Telegram($bot_api_key, $bot_username);
$bot->sendPhoto();
```
```php
$bot = new Longman\TelegramBot\Telegram($bot_api_key, $bot_username);
$bot->sendPhoto();
```
Хорошее начало, но я бы рекомендовал при усложнении логики бота вместо реализации на контроллерах использовать State Machine т.к. в этом случае можно будет делать более сложную логику общения, реагировать на inline buttons в сообщениях и изменять/дополнять отдельные сообщения, хранить состояние не только в рамках чата/отдельного пользователя, но и отдельных сообщений и работать как через вебхуки, так и через опрос обновлений (отделить способ доставки обновлений от логики обработки).
Вы не могли бы чуть подробнее расписать, как роутить хуки в нужный контроллер?
Как он шлёт данные на example.ru/path? Это пост или гет?
Как он шлёт данные на example.ru/path? Это пост или гет?
Sign up to leave a comment.
Диалоговый телеграм бот на PHP