Алексей Яковенко @yakvenalex
Опытный python разработчик с многолетним стажем.
Information
- Rating
- 306-th
- Location
- Краснодар, Краснодарский край, Россия
- Date of birth
- Registered
- Activity
Specialization
Specialist
From 200,000 ₽
SQL
Python
PostgreSQL
Опытный python разработчик с многолетним стажем.
Благодарю за отзыв)
Нет. Вы абсолютно не правы. Защищенный контент с бота не юзер-бот, не просто юзер не сможет забрать. Точнее не так. Единтсвенный вариант - это запись экрана, но, если вы наложите на все сообщении в боте этот метод, то скрин так-же нельзя будет сделать. Ну и по юзер-ботам. У них не больше прав чем у обычных юзеров. Если кому будет интересно - могу в нескольких статьях рассказать как таких делать на Python.
А разве принцип других библиотек не такой? В чем, в целом, их смысл и любого синтаксического сахара? Ну давайте возьмем реквест базовый. Вы сможете с нуля его написать, под капот заглядывали? Ок, идем дальше. Возьмем самую популярную библиотеку для разработки ботов - aiogram. Там синтаксического сахара нет? Это ж python, ну камон)
По сути asyncpg-lite - это синтаксический сахар над Алхимией на асинхронном asyncpg драйвере, который упрощает вход в эту библиотеку. Нет необходимости отдельной настройки, создания дополнительных классов и прочее. Так же нет необходимости в знаниях синтаксиса алхимии (разве что понимания как импортировать типы данных для колонок).
Библиотека полностью переписана под алхимию. Вы просто не в тренде) Ознакомьтесь, если интересно)
В алхимии так не пишут)
Библиотека была полностью переписана под алхимию. Ряд методов полностью изменился, была необходимость их описать. Старые версии не актуальные, так что, технически, от старой библиотеки осталось только название и имена методов. Поэтому было принято решение повторно описать её.
В новой версии (0.3.1.1 ) эта и многие другие проблемы исправлены.
Сегодня было выпущено обновление библиотеки asyncpg-lite. Теперь она совместима с SQLAlchemy, а asyncpg используется как асинхронный драйвер. Версии ниже 0.3.1.1 больше не доступны. В связи с этим произошли изменения в синтаксисе функций взаимодействия с базой данных PostgreSQL. Постараюсь завтра опубликовать подробную инструкцию взаимодействия с новой версией библиотеки.
Сегодня было выпущено обновление библиотеки asyncpg-lite. Теперь она совместима с SQLAlchemy, а asyncpg используется как асинхронный драйвер. Версии ниже 0.3.1.1 больше не доступны. В связи с этим произошли изменения в синтаксисе функций взаимодействия с базой данных PostgreSQL. Если вы используете asyncpg-lite, удалите старые версии и клонируйте обновленную версию бота, о котором идет речь в этой статье. Благодарю за внимание.
Добрый день. Библиотека asyncpg-lite обновлена до версии 0.3.1. Все предыдущие версии были удалены и больше не доступны для установки.
В этой версии все методы библиотеки были переписаны. Если ранее библиотека работала исключительно с чистым asyncpg, то теперь asyncpg используется как асинхронный драйвер для взаимодействия с PostgreSQL, а все запросы выполняются через SQLAlchemy.
Основная причина переписывания библиотеки — улучшение безопасности. Старые версии имели определенные уязвимости, которые теперь устранены.
Подробный разбор новой версии библиотеки я постараюсь опубликовать завтра.
В новых версиях установлю обработку @ в dsn, но а пока для таких случаев в библиотеке предусмотрен вход через указание логина, пароля, хоста и прочих данных для авторизации. Посмотрите в описании к библиотеке.
По apschedule будет отдельная статья. Это про временные функции. Покажу как на оперативе развернуть и как использую Redis)
Redis нужен для хранения состояний FSM ну и для обработки этих состояний. Речь не про статические данные, которые нужно сохранить. В этом плане обычно используется или MemoryStororage или Redis. Можно использовать и Алхимию для этих целей, но, как по мне - это гемор лишний. В контексте ботов для FSM и Apschedule аналогов Redis нет. Но это ИМХО). Тем более а в чем сложность? Даже на примере моей статьи. С абсолютного нуля Redis можно на любой локальной машине за 10 минут поднять. Можно даже не настраивать особо если это Docker, а вот в алхимии ещё разобраться попробуй)
Благодарю за отзыв. Тут, скорее, имелось ввиду что если есть возможность использовать магические фильтры, такие как startswith, contains и прочие лучше их использовать. Они надежнее и, практически всегда, заменяют необходимость в регулярках. Ну а так да, если действительно уверены в своих силах, то почему бы и не использовать)
Вот, кстати, есть такая реализация. Сейчас бота пишу - наткнулся) В FSM сценариях использую функцию. Достаточно просто CallbackQuery объект передать, ну и вообще иногда удобнее через bot отрабатывать. К примеру тут можно было бы просто сохранять айдишник сообщения с CallbackQuery, а после тянуть с базы и удалять клавиатуру даже со временем
Да, как вариант.
Блогодарю за отзыв. Вот так удаляйте
await call.message.edit_reply_markup(reply_markup=None)
Насколько я помню python-telegram-bot - синхронная библиотека. Для больших проектов такое негодится) Кроме того, у aiogram намного больше комьюнити. Так что рекомендую отдавать предпочтение aiogram, даже если на старте он кажется сложнее чем python-telegram-bot
В новой версии исправлено