Как я выбирал фреймворк для ТГ бота
Завёл себе аккаунт чтобы делиться всякими находками, которые удаётся нарыть или придумать по ходу разработки. Может будет полезно для кого-то, ну и надеюсь на советы бывалых.
Для ЛЛ: искал фреймворк для чайников, выбрал Pyrogram, потому что он быстрый, удобный и хорошо документированный.
Я нормально так умею писать код на плюсах, немножко знаю питон, но вот ботов не писал никогда, поэтому решил попробовать и стал искать удобный фреймворк для начинающих ботоводов. Условия поставил такие:
- Во первых, и наверное самое важное, чтобы было понятно для чайников, т.е. хорошая документация, развитое сообщество и все нужные апи надёжно спрятано внутри простых функций. Потому что хочется писать логику бота, а не ботать апи =)
- Во вторых нормальная производительность. По честному она тут нахрен не нужна, но я-же делаю проектик для удовольствия, поэтому хочется чтобы всё было красиво. А это отсутствие задрачивания ТГ-сервера (т.е. вебхуки или прям MTP), асинхронная обработка запросов, и желательно, прости господи, многопоточность (спойлер - с этим пока не срослось)
- В третьих обожаю лаконичные фреймворки. "Во первых - это красиво". Код писать проще и получается читабельнее.
На моих любимых плюсах нашелся целый один фреймворк "tgbot-cpp". Он довольно вменяемый, но по п.1 не проходит - доки не очень и сообщество небольшое =/ Ну и с лаконичностью там не оособо - на питоне получается гораздо компактнее. Сходу разобраться не вышло, забил. Может в будущем, если буду делать что-то высоконагруженное к этому вернусь (ха-ха).
В питоне всё поразнообразнее, масса вариантов, под мои хотелки подошли аж два фреймворка. Сначала напрыгнул на aiogram. Большое русскоязычное сообщество, масса примеров и даже учебник, ну и приятный функционал. Всё было классно, пока я не углубился в доки, и там оказались баальшие дыры. В принципе сообщество помогает, но бегать постоянно за помощью как-то напряжно. И ещё сейчас активно растёт новая, третья, версия, она прикольная, но пока в статусе беты и обратную совместимость не поддерживает. И доки к ней дырявые. Так что aiogram тоже отложил на будущее.
Попечалился и полез смотреть ещё один популярный питоновский фреймворк - Pyrogram. И тут прям попадание в яблочко: он офигенно документирован, быстрый, удобный, работает по MTProto - никакого сексу с вебхуками и статическим IP. Вобщем пока что ван лав, всем рекомендую! Попозже напишу подробный ман как начать с ним работать. В принципе в документации всё есть, но была пара моментов над которыми пришлось подумать.
P.S. Из доков к Пирограму узнал, что у Телеги есть тестовые сервера с тестовыми пользователями. Прикольно!
Лига программистов
2.2K постов11.9K подписчиков
Правила сообщества
- Будьте взаимовежливы, аргументируйте критику
- Приветствуются любые посты по тематике программирования
- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества