Как стать автором
Обновить
0
0.8

Пользователь

Отправить сообщение

Telegram Боты на Aiogram 3.x: Все про FSM простыми словами

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров16K

Друзья, приветствую! Сегодня мы коснемся важной и не такой уж сложной темы — реализации конечных автоматов состояний (FSM) в телеграм-ботах на Aiogram 3.x.

Для лучшего понимания рекомендую ознакомиться с моими предыдущими публикациями на тему Aiogram 3.x:

Читать далее
Всего голосов 8: ↑5 и ↓3+2
Комментарии7

Тестируем слой БД в Python с использованием pytest и testcontainers

Время на прочтение15 мин
Количество просмотров17K

Несмотря на большую популярность testcontainers в мире java, информации по применению testcontainers в python в интернете практически нет. Даная статья - попытка ликвидировать этот пробел. Если тема показалась интересной, добро пожаловать под кат!

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии5

Библиотека программиста: книги о том, как построить карьеру в IT

Время на прочтение5 мин
Количество просмотров8K

Успешная карьера разработчика — это не только навыки и знания, но и умение «продавать» себя, сохранять баланс между работой и личной жизнью, а также избегать выгорания. В этой подборке рассмотрим книги, которые помогут пройти путь от новичка до профессионала, оставаясь на гребне волны в быстро меняющейся IT-индустрии.

Читать далее
Всего голосов 7: ↑6 и ↓1+10
Комментарии3

Telegram Боты на Aiogram 3.x: Магия фильтров

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров12K

Привет, друзья!

Благодарю вас за позитивный отклик на мои статьи и за подписки — это бесценно. Продолжим.

К этому моменту мы с вами уже научились многому:

- Запустили своего бота на aiogram 3

- Поговорили про магические и встроенные фильтры

- Научились профессионально писать текстовые клавиатуры и узнали все про специальные текстовые кнопки (статья про текстовые клавиатуры)

- Разобрались с инлайн кнопками и CallData (статья про инлайн кнопки)

- Научились создавать инлайн кнопки-ссылки и инлайн кнопки с CallData

- Рассмотрели тему командного меню

- Познакомились с моим видением каркаса бота

- Научились писать хендлеры для текстовых сообщений и обработки CallData

- Даже сделали так, чтобы наш бот имитировал набор текста, и многое другое

Казалось бы, что еще может быть интересного в aiogram 3? Но поверьте, интересного еще на множество статей. Здесь, на Хабре, я планирую научить каждого писать телеграмм-ботов на уровне профессионалов, чтобы вас не пугала никакая задача от заказчика.

Как вы уже поняли из названия статьи, сегодня мы поговорим о фильтрах в aiogram 3. В этой статье мы обсудим:

Читать далее
Всего голосов 4: ↑3 и ↓1+3
Комментарии7

Telegram Боты на Aiogram 3.x: Инлайн кнопки и CallBack Дата

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров19K

Приветствую все

Приветствую всех! В этой статье мы продолжим исследовать возможности библиотеки Aiogram 3 и рассмотрим тему инлайн кнопок и CallBack данных. На данный момент мы уже:

Определились со структурой бота;

Настроили нашего Telegram-бота на базе Aiogram 3;

Разобрались с командами, включая аргументы, командное меню и фильтры Command и CommandStart;

Освоили работу с текстовыми кнопками (в предыдущей публикации я максимально подробно разобрал эту тему);

Коснулись магических фильтров и обсудили прочие аспекты взаимодействия с ботом.

После тщательных размышлений я пришёл к выводу, что логичным продолжением будет изучение CallBack хендлеров и CallBack данных. Эти технологии открывают безграничные возможности для создания интерактивных и сложных сценариев взаимодействия с пользователями.

В данной статье мы рассмотрим:

Читать далее
Всего голосов 6: ↑4 и ↓2+4
Комментарии9

Telegram Боты на Aiogram 3.x: Первые Шаги

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров32K

Привет, друзья!

За свою практику программирования я успел написать множество малых, средних и крупных проектов, преимущественно в формате Telegram-ботов. Моя история началась с популярной на то время версии aiogram 2.24 (тех, кто в теме, поймут), а сейчас я полностью перешел на версию 3.x, о чем нисколько не жалею.

В этом посте я хочу начать делиться с вами своим опытом разработки Telegram-ботов через библиотеку aiogram. Сейчас вы читаете вводный пост по этой обширной, но на самом деле не такой уж и сложной теме. Если я увижу положительный отклик, то пойму, что эта информация вам полезна, и мы будем углубляться в разработку ботов все дальше и дальше.

Сегодня мы научимся:

Читать далее
Всего голосов 11: ↑8 и ↓3+5
Комментарии13

Создание telegram-ботов с интерактивным меню

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров50K

Однажды меня попросили провести ревью и рефакторинг одного telegram-бота. Увидев файл размером 2000 строк, рассчитанный только на обработку разных меню я понял, что это требует унификации и общих подходов. Так родилась библиотека aiogram-dialog

В этой статье я бы хотел обратить внимание на некоторые проблемы, которые мы встречаем при создании таких меню, предложить варианты их решения. А во второй половине статьи показать как это решается с помощью aiogram-dialog.

Мы не будем рассматривать архитектуру всего приложения, об этом вы можете прочитать у Фаулера или Мартина. Мы поговорим только про определенную часть UI ботов. Так же это не будет введением в разработку telegram-ботов с нуля. Я предполагаю, что читатель знаком с питоном, ООП и слышал о такой вещи как DRY.

Примеры выбраны так, чтобы проще было показать определенные проблемы, но это не единственные сценарии приводящие к ним.

Читать далее
Всего голосов 22: ↑21 и ↓1+23
Комментарии4

Git: Очередной лист Вопросов и Ответов

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров13K

В статье я постарался затронуть базовые темы в виде вопрос/ ответ на горячо любимые темы на собеседованиях и не только.

Читать далее
Всего голосов 30: ↑24 и ↓6+24
Комментарии61

Крадущийся тигр, затаившийся SQLAlchemy. Основы

Время на прочтение8 мин
Количество просмотров126K


Доброго дня.


Сегодня хочу рассказать про ORM SQLAlchemy. Поговорим о том, что это, про его возможности и гибкость, а также рассмотрим случаи, которые не всегда понятно описаны.


Данная ORM имеет порог вхождения выше среднего, поэтому я попытаюсь объяснить всё простым языком и с примерами. Статья будет полезна тем, кто уже работает с sqlalchemy и хочет прокачать свои навыки или только знакомится с этой библиотекой.

Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии10

Основные принципы разработки (SOLID, KISS и т. д.)

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров14K

В данной работе я сосредоточусь на изучении и сравнении ключевых принципов проектирования и разработки программного обеспечения. Моя цель - проанализировать эти принципы, выявить их достоинства, недостатки и области применения.

В общем вас ждет теория, ещё теория, словесные примеры и даже примеры кода (он на С++, но написан понятно).

А еще это полезно знать на собесах :-)

Читать далее
Всего голосов 16: ↑13 и ↓3+15
Комментарии10

Народный измеритель ёмкости батареек BatteryTest

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров31K
Я разработал дешёвый, точный и максимально простой в использовании прибор, с помощью которого можно измерить ёмкость практически любой батарейки (от микроскопических батареек для слуховых аппаратов до крупных батарей). Повторить мой прибор может любой желающий.



Читать дальше →
Всего голосов 213: ↑213 и ↓0+232
Комментарии52

Основы PyCharm

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров92K

Сегодня я расскажу новичкам про полезные и удобные функции PyCharm. Эта статья предназначена для тех, кто только знакомится с PyCharm и написал свои первые программы. Затронем основной функционал пайчарма, который поможет упростить и ускорить вашу работу и узнаем, как запускать сервер и тесты Django в один клик. А ещё, я поделюсь подборкой полезных плагинов и горячих клавиш.

Читать далее
Всего голосов 18: ↑13 и ↓5+12
Комментарии22

Хакаем CAN шину авто. Виртуальная панель приборов

Время на прочтение14 мин
Количество просмотров221K


В первой статье «Хакаем CAN шину авто для голосового управления» я подключался непосредственно к CAN шине Comfort в двери своего авто и исследовал пролетающий траффик, это позволило определить команды управления стеклоподъемниками, центральным замком и др.

В этой статье я расскажу как собрать свою уникальную виртуальную или цифровую панель приборов и получить данные с любых датчиков в автомобилях группы VAG (Volkswagen, Audi, Seat, Skoda).

Мною был собран новый CAN сниффер и CAN шилд для Raspberry Pi на базе модуля MCP2515 TJA1050 Niren, полученные с их помощью данные я применил в разработке цифровой панели приборов с использованием 7″ дисплея для Raspberry Pi. Помимо простого отображения информации цифровая панель реагирует на кнопки подрулевого переключателя и другие события в машине.

В качестве фреймворка для рисования приборов отлично подошел Kivy для Python. Работает без Иксов и для вывода графики использует GL.

  1. CAN сниффер из Arduino Uno
  2. Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)
  3. Разработка панели приборов на основе Raspberry Pi и 7″ дисплея
  4. Софт панели приборов на Python и Kivy (UI framework)
  5. Видео работы цифровой панели приборов на базе Raspberry Pi

Под катом полная реализация проекта, будет интересно!
Всего голосов 195: ↑192 и ↓3+189
Комментарии224

Docker для новичков — #1 Что такое контейнер, image, DockerHub?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров22K

В этой статье я расскажу о том, что такое Docker, Docker Desktop и как этим пользоваться! Два способа создания image, значения вкладок Docker Desktop

Читать далее
Всего голосов 25: ↑20 и ↓5+16
Комментарии6

Сначала войдите через Телеграм

Время на прочтение5 мин
Количество просмотров44K

Как-то мне понадобилось ограничить доступ к статическому сайту. Я написал сервер, который просит пользователей войти через Телеграм и пропускает только людей из белого списка. Ничего сложного, но вдруг кому-то понадобится.

Читать далее
Всего голосов 56: ↑53 и ↓3+61
Комментарии51

Лучшие практики для надёжной работы с RabbitMQ

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров28K

Привет, Хабр! Я Женя, архитектор интеграционной платформы в Точке, отвечаю за асинхронный обмен сообщениями между внутренними сервисами, за ESB и за брокеры сообщений.

В этой статье я постарался кратко и последовательно изложить основные моменты, о которых полезно помнить при использовании RabbitMQ, если важны стабильность обмена и сохранность данных.

В первую очередь материал рассчитан на разработчиков, которым ещё не приходилось погружаться в тонкости работы с RabbitMQ или использовать его вообще. Более опытным читателям статья может пригодиться в качестве компактной и упорядоченной выжимки из уже знакомых статей, вебинаров и многочисленных страниц документации.

Следуй за белым кроликом
Всего голосов 58: ↑58 и ↓0+59
Комментарии16

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Уровень сложностиСредний
Время на прочтение46 мин
Количество просмотров255K

Поскольку блокировки интернета в РФ в последние недели и месяцы многократно активизировались, а маразм все крепчает и крепчает, стоит еще раз поднять тему обхода этих самых блокировок (и делаем ставки, через сколько дней на эту статью доброжелатели напишут донос в РКН чтобы ограничить к ней доступ на территории страны).

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Всего голосов 445: ↑437 и ↓8+489
Комментарии373

Шпаргалка: fixture в pytest

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров26K

В данной статье представлены примеры использования фикстур (fixture) для фреймворка автоматического тестирования pytest. Фикстуры представляют собой функции, которые можно использовать для решения различных задач при проведении автоматизированного тестирования.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии2

А давно ли вы измеряли радиацию у себя дома? Делаем дозиметр из Flipper

Время на прочтение9 мин
Количество просмотров14K

У счастливых обладателей Флиппера, прекрасного тамагочи для больших мальчиков и девочек, часто возникает вопрос: что бы ещё к нему подключить? Сегодня расскажу про подключение модуля под названием RadSens для замера радиации. 

Сразу скажу, что если тема измерения радиации для вас интересна, но нет Флиппера, то можно собрать дозиметр в домашних условиях. Для этого предлагаю обратиться к другой статье про использование этого же модуля.

А тем, кто совсем не хочет ничего собирать, но хочет иметь классный попискивающий гаджет, рекомендую прочитать вот эту статью, я начал именно с этого устройства, но потом у меня появился Флиппер.

Читать далее
Всего голосов 66: ↑65 и ↓1+93
Комментарии37

Самое понятное объяснение Специальной теории относительности

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров123K

Специальная теория относительности - удивительная теория, которая опровергла многие представления о мире, в которых человечество не сомневалось всю историю своего существования.

Многие слышали про волшебства вроде замедления времени, сокращения длины, относительности одновременности, парадокса близнецов и т.д., но мало кто понимает почему так происходит. 

В этой статье я хочу наглядно показать, что все это проще, чем кажется на первый взгляд.

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

Читать далее
Всего голосов 385: ↑385 и ↓0+383
Комментарии391

Информация

В рейтинге
1 769-й
Зарегистрирован
Активность