Недавно обновлял бота заказчику и пришла такая мысль, чтобы никто ничего не сбил, пока делаю обновление.
Сделал хендлер типа эхо, перед остальными хендлерами, в котором говорю, что сейчас идут технические работы. Чтобы, если у меня проводится корректировка - никто ничего не повредил во время корректировки, но бот не молчал)
Как-то так это выглядит, может кому-то пригодится
Сделал хендлер типа эхо, перед остальными хендлерами, в котором говорю, что сейчас идут технические работы. Чтобы, если у меня проводится корректировка - никто ничего не повредил во время корректировки, но бот не молчал)
Как-то так это выглядит, может кому-то пригодится
1. Сам хендлер
2. Фильтр в filters
3.
init.py в фильтрах
4. config.py
#полезноеБольшая просьба ко всем кто кидает задания на Юдеми, если у вас написано только Имя, например такое как "Дмитрий" - добавьте фамилию или какую-то произвольную фразу в поле фамилии. Иногда я не могу определить того, кто выполнил задание, поэтому буду игнорировать тех, у кого в фамилии пусто
#курс
#курс
Всем привет, вчера обновил несколько лекций с новой информацией, но ещё и добавил новую лекцию. Полезно будет тем, кто работает с API в своих ботах, или просто делает запросы на сайты с помощью библиотеки requests. В этом уроке я покажу два способа, один с помощью библиотеки aiohttp, второй с помощью ThreadPoolExecutor из библиотеки asyncio
#курс
#курс
Урок по Django Админке уже заснят, и в ближайшие дни (может даже сегодня) смонтирую! По мере монтажа буду выкладывать!
Если у вас не появляется это видео - почистите кэш браузера
#курс
Если у вас не появляется это видео - почистите кэш браузера
#курс
3 этапа загружено, остался последний, самый важный - подключение админки к боту. Это будет в ближайшие пару дней
#курс
#курс
Ну что-ж, вот и вышел урок по соединению бота и админки джанго) Приятного просмотра!
Кстати говоря, решил немного переформатировать канал из канала "сугубо по курсу" в канал, где буду в целом стараться публиковать разную информацию по ботам и собирать дополнительные текстовые уроки, которые вам могут пригодиться в создании ботов.
#курс
Кстати говоря, решил немного переформатировать канал из канала "сугубо по курсу" в канал, где буду в целом стараться публиковать разную информацию по ботам и собирать дополнительные текстовые уроки, которые вам могут пригодиться в создании ботов.
#курс
Ребята, в последнее время все больше и больше людей пишут с проблемами по установке модулей на Python. То aioredis не ставится, то ещё просто aiogram. Чаще всего проблема возникает с Python3.9.
Прошу всех использовать версию 3.8 и проблем быть не должно.
#проблемы
Прошу всех использовать версию 3.8 и проблем быть не должно.
#проблемы
💼Темплейт 2.0
Если вам интересна тема хорошей архитектуры кода, то вот один из учеников сделал свой темплейт, на замену aiogram-bot-template, и рекомендую ознакомиться с его критикой, и предложенным улучшенным шаблоном для создания ботов!
https://telegra.ph/Novaya-struktura-dlya-bota-na-baze-aiogram-11-27
#полезное
#статья
Если вам интересна тема хорошей архитектуры кода, то вот один из учеников сделал свой темплейт, на замену aiogram-bot-template, и рекомендую ознакомиться с его критикой, и предложенным улучшенным шаблоном для создания ботов!
https://telegra.ph/Novaya-struktura-dlya-bota-na-baze-aiogram-11-27
#полезное
#статья
Telegraph
Новая структура для бота на базе aiogram
Зачем мне придерживаться одной структуры? Структура для любого проекта — очень серьёзный вопрос. Когда все используют одну структуру, значительно легче разобраться в чужом коде, а также количество legacy кода уменьшается в разы. Многие, кто проходил курс…
🛢Миграции баз данных
Вы пользуетесь Gino и, чтобы добавить новую колонку к таблице, вынуждены сносить базу к х***м со всеми значениями внутри и создавать заново? Тогда эта статья для вас!
https://telegra.ph/Migracii-baz-dannyh-gino--alembic-11-29
#полезное
#статья
Вы пользуетесь Gino и, чтобы добавить новую колонку к таблице, вынуждены сносить базу к х***м со всеми значениями внутри и создавать заново? Тогда эта статья для вас!
https://telegra.ph/Migracii-baz-dannyh-gino--alembic-11-29
#полезное
#статья
Telegraph
Миграции баз данных gino + alembic
В активно развивающихся проектах часто вносятся изменения в структуру базы данных, поэтому хорошей практикой является работа с миграциями. Благодаря alembic вам не нужно будет сносить к х***м базу, чтобы потом поднять её с новыми таблицами, а также вы сможете…
Dispatcher scheme.png
382.8 KB
Принцип работы Dispatcher
Всем привет, сделал вот такую схемку по работе Dispatcher, а точнее по тому, где и куда он импортируется. Тут я показал на примере описанного шаблона. Хотя и в шаблоне Forzend такой же принцип работы.
Надеюсь на ней более менее все будет понятно. Цветными стрелками показан пример прохождения изменения объекта Dispatcher.
#полезное
Всем привет, сделал вот такую схемку по работе Dispatcher, а точнее по тому, где и куда он импортируется. Тут я показал на примере описанного шаблона. Хотя и в шаблоне Forzend такой же принцип работы.
Надеюсь на ней более менее все будет понятно. Цветными стрелками показан пример прохождения изменения объекта Dispatcher.
#полезное
Регистрация хендлеров и апдейтов
Кстати говоря, подготовил для вас статью о том, как происходит регистрация хендлеров и доставка апдейтов до нужного хендлера!
P.S. Обновил для instant view
#полезное
#статья
Кстати говоря, подготовил для вас статью о том, как происходит регистрация хендлеров и доставка апдейтов до нужного хендлера!
P.S. Обновил для instant view
#полезное
#статья
Telegraph
Принцип регистрации хендлеров
Сейчас мы кратко рассмотрим как работает принцип регистрации хендлеров и доставки апдейтов до наших функций-обработчиков. Содержание статьи ├── Порядок регистрации хендлеров ├── Доставка апдейта до нужного хендлера ├── Движение объекта Dispatcher по модулям…
Важное обновление, теперь картинки (не документ) можно грузить размером максимум 10мб. Ширина или высота не должна превышать 10тыс пикселей, и соотношение высоты и ширины фото не больше 1к20
Спасибо, Груша
#полезное
Спасибо, Груша
#полезное
Forwarded from Павел Дурманов
Скоро стартует https://adventofcode.com/2020/, залетайте в лидерборд:
391223-eec8113f
🇺🇦Розробка Телеграм ботів на Python
Скоро стартует https://adventofcode.com/2020/, залетайте в лидерборд: 391223-eec8113f
Всем рекомендую поучаствовать, кто любит кодить на питоне. Очень крутая штука! (Нужны знания английского)
#полезное
#полезное
Пагинация
https://youtu.be/x0ilpjEtvow
Запись стрима пагинации доступна по этой ссылке!
Оказалось, что мой рекордер не писал файл (или я его еще не нашел)
Поэтому, оставил доступ по ссылке на ютубе
А вот и код к стриму по пагинации)
https://gist.github.com/Latand/a437196983cd37750120ecfdac9d0c32
#полезное
https://youtu.be/x0ilpjEtvow
Запись стрима пагинации доступна по этой ссылке!
Оказалось, что мой рекордер не писал файл (или я его еще не нашел)
Поэтому, оставил доступ по ссылке на ютубе
А вот и код к стриму по пагинации)
https://gist.github.com/Latand/a437196983cd37750120ecfdac9d0c32
#полезное
YouTube
Вебинар - Пагинация в ботах
В этом вебинаре мы рассмотрим тему инлайн кнопок с интегрированием пагинации. Мы создадим бота, в котором пользователю будут выдаваться кнопки с цифрами для перемещения по страницам между списками товаров или статей.
Код к уроку: https://gist.github.com/…
Код к уроку: https://gist.github.com/…
ᅠ
Сегодня Дуров опубликовал пост (кто не подписан, советую подписаться), где он поднял проблему монетизации телеграма.
Все мы знаем, что огромный плюс Телеграма - отсутствие рекламы, по крайней мере от самого мессенджера. Но и та, реклама, что сейчас существует, в каналах - довольно навязчивая, часто неэффективная, и до появления возможности отслеживания статистики в каналах, очень сложно было оценить насколько выгодно в том или ином канале продавать рекламу.
Мне лично очень нравится подход, когда сама площадка помогает организовать инструменты для продвижения рекламы, а не сами создатели костыляют что-то свое. Тогда появляется прозрачность и вкладываться в рекламу становится действительно выгодно. Так когда-то поступили ВКонтакте (правда они там так нагромозидили правилами, что идут нахер) и поступил Facebook. И пусть подход этих компаний мне не сильно нравится, т.к. они превратились именно в машину зарабатывания денег, то Дуров всегда был очень рациональным человеком и не парился по поводу денег
Так вот, сейчас Телеграм полностью бесплатен со всеми функциями, но в будущем они собираются добавлять рекламную платформу, и добавить платные стикеры, чтобы художники получали еще и оплату за свой труд.
#прочее
Сегодня Дуров опубликовал пост (кто не подписан, советую подписаться), где он поднял проблему монетизации телеграма.
Все мы знаем, что огромный плюс Телеграма - отсутствие рекламы, по крайней мере от самого мессенджера. Но и та, реклама, что сейчас существует, в каналах - довольно навязчивая, часто неэффективная, и до появления возможности отслеживания статистики в каналах, очень сложно было оценить насколько выгодно в том или ином канале продавать рекламу.
Мне лично очень нравится подход, когда сама площадка помогает организовать инструменты для продвижения рекламы, а не сами создатели костыляют что-то свое. Тогда появляется прозрачность и вкладываться в рекламу становится действительно выгодно. Так когда-то поступили ВКонтакте (правда они там так нагромозидили правилами, что идут нахер) и поступил Facebook. И пусть подход этих компаний мне не сильно нравится, т.к. они превратились именно в машину зарабатывания денег, то Дуров всегда был очень рациональным человеком и не парился по поводу денег
Так вот, сейчас Телеграм полностью бесплатен со всеми функциями, но в будущем они собираются добавлять рекламную платформу, и добавить платные стикеры, чтобы художники получали еще и оплату за свой труд.
#прочее
Обновил очередной момент касающийся базы данных, ранее описанный тут
Теперь инициация соединения с базой выглядит так (1 фото). Мы не будем доставать
Сам файл базы обновился, оттуда я убрал
#курс
Теперь инициация соединения с базой выглядит так (1 фото). Мы не будем доставать
loop
ниоткуда, а просто создаем экземпляр Database
. Сам файл базы обновился, оттуда я убрал
classmethod
, а в ините я указал, что pool
по умолчанию — пустой. А вот в методе create
, мы уже мы создаем соединение и пишем на атрибут self.pool
. (2). Тогда у нас объект, который используется в хендлерах уже будет иметь пул, т.к. мы его создали до импорта диспатчера из хендлеров (3).#курс