- 22
- 8 622
Михаил Марков
Russia
Приєднався 23 тра 2016
Обучающий канал по программированию.
Разработка телеграм ботов на Python / Aiogram 3.8 | Всё про FSM и состояния | Урок 3 | Redis + Mongo
В уроке вы узнаете, что такое Finite State Machine (FSM) в aiogram, и как с её помощью Вы можете анкетировать своих пользователей. Также мы научимся подключать Mongo и Redis к aiogram боту в качестве хранилища состояний.
👨🏻🎓 Вы можете учиться со мной на курсе по разработке ботов в онлайн школе «Marcus»
------------------------------------------------------------------
shop.emarcus.ru/catalog/aiogram-py
0:00 - План урока
0:37 - Что такое Finite State Machine?
4:44 - Пример применения FSM в реальности
6:35 - State и StatesGroup - что это?
8:20 - Что такое MemoryStorage, RedisStorage, MongoStorage?
11:00 - Практика (пишем код). Команда /start
12:45 - Создаем форму с помощью StatesGroup и State
14:30 - Что такое FSMContext? Как использовать его в хэндлере?
24:49 - Как сохранить ответ пользователя? На примере MemoryStorage
27:24 - Как данные хранятся в Storage? (в виде dict)
28:58 - Отличия set_data() и update_data()
33:38 - Правильная иерархия файлов проекта (handlers, states и т.д.)
37:53 - Важно! Почему бот не отвечает? (import handlers)
42:20 - Сброс хранимой информации FSMContext.clear()
44:28 - Финал. Вывод собранной информации
48:00 - Как досрочно закончить процесс анкетирования?
51:38 - Подключение Redis к Aiogram боту
57:59 - Подключение MongoDB к Aiogram боту
57:59 - Подключение MongoDB к Aiogram боту
01:01:23 - Завершение
Стек технологий
----------------------------
- Python 3.12
- AIOGram 3.8
- Pycharm Proffessional
Документация Aiogram по FSM
-----------------------------------------------------
docs.aiogram.dev/en/latest/dispatcher/finite_state_machine/index.html
Документация по Redis
----------------------------------------
github.com/redis/redis-py
Качественные и бесплатные самоучители по программированию Вы можете найти тут
---------------------------------------
emarcus.ru/wiki/
Мои соц. сети:
------------------------
telegram: t.me/marcus_itedu
vc: vc.ru/u/3462910-mihail-markov
dzen: dzen.ru/emarcus
👨🏻🎓 Вы можете учиться со мной на курсе по разработке ботов в онлайн школе «Marcus»
------------------------------------------------------------------
shop.emarcus.ru/catalog/aiogram-py
0:00 - План урока
0:37 - Что такое Finite State Machine?
4:44 - Пример применения FSM в реальности
6:35 - State и StatesGroup - что это?
8:20 - Что такое MemoryStorage, RedisStorage, MongoStorage?
11:00 - Практика (пишем код). Команда /start
12:45 - Создаем форму с помощью StatesGroup и State
14:30 - Что такое FSMContext? Как использовать его в хэндлере?
24:49 - Как сохранить ответ пользователя? На примере MemoryStorage
27:24 - Как данные хранятся в Storage? (в виде dict)
28:58 - Отличия set_data() и update_data()
33:38 - Правильная иерархия файлов проекта (handlers, states и т.д.)
37:53 - Важно! Почему бот не отвечает? (import handlers)
42:20 - Сброс хранимой информации FSMContext.clear()
44:28 - Финал. Вывод собранной информации
48:00 - Как досрочно закончить процесс анкетирования?
51:38 - Подключение Redis к Aiogram боту
57:59 - Подключение MongoDB к Aiogram боту
57:59 - Подключение MongoDB к Aiogram боту
01:01:23 - Завершение
Стек технологий
----------------------------
- Python 3.12
- AIOGram 3.8
- Pycharm Proffessional
Документация Aiogram по FSM
-----------------------------------------------------
docs.aiogram.dev/en/latest/dispatcher/finite_state_machine/index.html
Документация по Redis
----------------------------------------
github.com/redis/redis-py
Качественные и бесплатные самоучители по программированию Вы можете найти тут
---------------------------------------
emarcus.ru/wiki/
Мои соц. сети:
------------------------
telegram: t.me/marcus_itedu
vc: vc.ru/u/3462910-mihail-markov
dzen: dzen.ru/emarcus
Переглядів: 488
Відео
Тернарный оператор C++ | Теория и практика | Урок 8 | Основы C++
Переглядів 913 місяці тому
В уроке мы узнаем, что такое тернарный оператор в C . Рассмотрим примеры тернарного оператора в C . 👨🏻🎓 Вы можете учиться со мной в онлайн школе «Marcus» shop.emarcus.ru/catalog/ 0:00 - План урока 0:14 - Пример, когда нужен тернарный оператор в C 0:35 - Синтаксис тернарного оператора 0:59 - Пример 1 1:27 - Пример 2 2:02 - Пример 3 - вложенный тернарный оператор 2:16 - Разбор примера 3 на практ...
Разработка телеграм ботов на Python / Aiogram 3.8 | Клавиатуры | Урок 3
Переглядів 4764 місяці тому
В уроке мы подробно знакомимся с клавиатурами в AIOgram. Научимся писать InlineKeyboardMarkup и ReplyKeyboradMarkup. Узнаем, как создать меню в telegram боте. 👨🏻🎓 Вы можете учиться со мной на курсе по разработке ботов в онлайн школе «Marcus» shop.emarcus.ru/catalog/aiogram-py 0:00 - План урока 0:21 - Виды клавиатур в телеграмме 0:34 - ReplyMarkup клавиатура пример 2:52 - ReplyMarkup - resize_k...
Разработка телеграм ботов на Python/Aiogram 3.8 | Урок 2 | Handlers/Message/Chat/Filters/Env/F
Переглядів 7094 місяці тому
В уроке мы разбираем следующие темы: - Что такое Handlers? В каком порядке проверяются Handlers? - Сущности Chat и Message в Aiogram. - Как фильтровать handlers? Разбираем Filters и Magic Filters (F). - Как правильно хранить токен бота? Зачем нужен файл env? 👨🏻🎓 Вы можете учиться со мной на курсе по разработке ботов в онлайн школе «Marcus» shop.emarcus.ru/catalog/aiogram-py 0:00 - План урока 0...
Разработка телеграм ботов на Python/Aiogram 3.8 | Урок 1 | Echo бот
Переглядів 7914 місяці тому
В первом уроке по разработке телеграм ботов на Python и Aiogram мы познакомимся с основными сущностями этой библиотеки - Dispatcher и Bot. Также мы узнаем, как получить токен для бота телеграм. И как написать echo бота? 0:00 - О чем будет видео 0:33 - Обзор фреймворков 1:40 - Знакомство с AIOGram 2:05 - Dispatcher 2:41 - Bot 3:19 - BotFather 3:39 - Как получить токен телеграм бота? 4:16 - Устан...
Почувствуй алгоритмы! Сортировка пузырьком + код на C, C++, Python, Java, JavaScript #1
Переглядів 647Рік тому
Сайт моей школы shop.emarcus.ru GitHub с кодом github.com/mishamarkov15/bubble_sort Бот-задачник. Тут можно решать задачи с автотестами t.me/code_solve_bot Ссылки на соц. сети - VK: marcus_programming_school - Telegram: t.me/marcus_itedu - Instagram: mikhaiilmarkov
Основы С++. Семинар 7. Оператор switch. Решение задач.
Переглядів 346Рік тому
Ссылка на урок: ua-cam.com/video/g4MQ-nHBNGQ/v-deo.html В уроке решаем следующие задачи: - Задача 1. Медаль (Основы switch) - Задача 2. Светофор (Продвинутый switch) - Задача 3. Человеческий вывод числа (Профессиональный switch) Сайт моей школы esmarcus.ru GitHub с кодом github.com/mishamarkov15/bubble_sort Бот-задачник. Тут можно решать задачи с автотестами t.me/code_solve_bot Ссылки на соц. с...
Основы С++. Семинар 6. Оператор else-if. Вложенные условные конструкции. Решение задач.
Переглядів 87Рік тому
Ссылка на урок: ua-cam.com/video/Tj11sv3eAFw/v-deo.html Моя школа по программированию: esmarcus.ru В уроке решаем следующие задачи: - Задача 0. Инопланетяне (Когда надо использовать else if) - Задача 1. Возраст (Закрепление) - Задача 3. Координатная четверть (Как использовать вложенный оператор if) - Задача 4. Високосный год (Как узнать, является ли год високосным) Ссылки на соц. сети: - VK: vk...
Основы C++. Урок 7. Оператор switch.
Переглядів 109Рік тому
Ссылка на семинар: ua-cam.com/video/hlAJH1201C8/v-deo.html В уроке полностью разбираем оператор switch и все его особенности. Ссылки на соц. сети: - VK: itsome - Telegram: t.me/it_some - Instagram: mikhaiilmarkov
Основы С++. Урок 6. Условные конструкции. Каскадный оператор if. Вложенный условный оператор.
Переглядів 202Рік тому
Ссылка на семинар: ua-cam.com/video/Gdcf9MVZH24/v-deo.html В уроке рассматриваются следующие темы: - Каскадный оператор if: if -else if- else - Вложенный условный оператор. Ссылки на соц. сети: - VK: itsome - Telegram: t.me/it_some - Instagram: mikhaiilmarkov
Основы C++. Урок 5. Семинар. Условные конструкции. Полная версия оператора if. Ветка else
Переглядів 109Рік тому
Ссылка на урок: ua-cam.com/video/4Kr4q1hplRI/v-deo.html В уроке решаем следующие задачи: - Задача 1. Удача? (Как проверить число на четырехзначность и делимость) - Задача 2. Пара равных (Проверка пар чисел на равенство) - Задача 3. Тир 3 (Проверить, что число принадлежит отрезку) - Задача 4. Тир 4 (Проверить, что точка принадлежит области) - Задача 5. Тир 8 (Проверить, что точка принадлежит пар...
Основы C++. Урок 5. Условные конструкции. Полная версия оператора if. Ветка else
Переглядів 112Рік тому
Ссылка на семинар: ua-cam.com/video/v34K0X4JiIY/v-deo.html В уроке рассматриваются следующие темы: - Полная версия оператора if (if-else) - Ветка else Ссылки на соц. сети: - VK: itsome - Telegram: t.me/it_some - Instagram: mikhaiilmarkov
Основы C++. Семинар 4. Условные конструкции. Неполный оператор if
Переглядів 53Рік тому
Ссылка на урок: ua-cam.com/video/QoKSd-Y_Jns/v-deo.html В уроке решаем следующие задачи: - Задача 1. Обмен двух переменных (как поменять переменные значениями) - Задача 2. Сумма положительных (сложить только положительные числа) - Задача 3. Уменьшить большее их трех (найти максимум из переменных) Ссылки на соц. сети: - VK: itsome - Telegram: t.me/it_some - Instagram: mikhai...
Основы C++. Урок 4. Условные конструкции. Неполный оператор if
Переглядів 151Рік тому
Основы C . Урок 4. Условные конструкции. Неполный оператор if
Основы C++. Семинар 3. Тип данных bool. Логические выражения.
Переглядів 184Рік тому
Основы C . Семинар 3. Тип данных bool. Логические выражения.
Основы C++. Урок 3. Тип данных bool. Логические выражения.
Переглядів 9452 роки тому
Основы C . Урок 3. Тип данных bool. Логические выражения.
Основы С++. Семинар 2. Типы данных. Преобразование типов.
Переглядів 832 роки тому
Основы С . Семинар 2. Типы данных. Преобразование типов.
Основы С++. Урок 2. Типы данных и их модификаторы. Преобразование типов.
Переглядів 1682 роки тому
Основы С . Урок 2. Типы данных и их модификаторы. Преобразование типов.
Основы С++. Семинар 1. Ввод и вывод переменных. Арифметические операторы. Введение в язык
Переглядів 2042 роки тому
Основы С . Семинар 1. Ввод и вывод переменных. Арифметические операторы. Введение в язык
Основы С++. Урок 1. Ввод и вывод переменных. Арифметические операторы. Знакомство с языком.
Переглядів 2892 роки тому
Основы С . Урок 1. Ввод и вывод переменных. Арифметические операторы. Знакомство с языком.
отличное объяснение
топ
Добрый день а можете показать как делать админку в боте или как можно привязать django админку
Добрый день! А админку сделать очень просто. Просто сделайте себе ещё одного бота, который будет администратором другого) А конкретный админ-бот зависит от того, что именно Вам нужно администрировать
Спасибо. Жду продолжение. В конце покажите пожалуйста какой нибудь сложный рабочий код в разработке. Допустим бот магазин
Рад, что есть спрос на уроки 🥰
Планируется урок по business_message и иже с ними?
Если есть спрос, то будет и урок 🙏🏼
Когда следующее видео?
Уже работаю над уроком про WebApps)
Жаль, что когда я изучал эту тему тебя не было. Подробно, ясно, классно ❤
Очень приятно слышать, спасибо ☺️❤️
это однозначно лайк. Так доходчиво объясняешь материал, который никто так не разжёвывает для людей
Спасибо большое, рад стараться 🥰
Большое спасибо, жду с нетерпением продолжения👍
Спасибо, рад слышать)) 🥰
мегахорош
что то вы подзатянули над следующим видео(
Видосик готов))
Добрый день, а что мне делать, если при нажатии на кнопку текст изменяется, но кнопка не пропадает? Как мне ее удалить?
Вы 100% забыли про ReplyKeyboardRemove(). Оно есть в виде, посмотрите внимательно)
Я прям плачу от счастья, я уж думал не найду подробное видео с библиотекой aiogram, спасибо вам огромное!!!!
Рад слышать, спасибо!) Уже на подходе четвертый урок про FSM)
@@marcus-school очень жду)
@@marcus-school вы в будущем будете рассказывать про Web Apps?
@@ZombMa1001 Конечно, это не такая уж и сложная тема) Да и на самом деле того, что я рассказал уже почти достаточно для Web Apps)
будет видео про бд?
А что именно про БД Вам интересно? Как связать БД и aiogram?
@@marcus-school да
Как использовать бд с аиограм, на Ютубе очень мало видео на эту тему
@@BrawlTt-zx6bn Следующий урок планируется по FSM, а после тогда сделаю о том, как соединить Postgres и aiogram)
@@marcus-school спасибо большое
Привет. Спасибо за видео! Делаю бота в котором 2 сервиса "Клининг, Электрохозяйство" при выборе пользователем одного из сервиса, например Электрохозяйство попадает в следующее меню для выбора инцидента "Нет электричества, не работает кондиционер, другое, назад" далее надо попросить пользователя ввести месторасположение (какой этаж), прикрепить фото и выслать пользователю в телеграмм группу который за это отвечает подскажи пожалуйста возможно ли реализовать такие шаги как сбор инфы от пользователя и отправка данных в группу, и как это реализовать? что прочитать?
Конечно, Вам нужно разораться с FSM - docs.aiogram.dev/en/latest/dispatcher/finite_state_machine/index.html Я уже по этой теме записываю урок)
В С эта фишка была всегда. С некоторых пор я перестал этим пользоваться, поскольку снижает читаемость и увеличивает вероятность ошибки.
Продолжай! очень интересно, к тому же нравится, как ты объясняешь))🙏🏻❤
Большое спасибо! В следующем уроке будем разбирать FiniteStateMachine для ботов))
@@marcus-schoolО, это самое интересное для меня. Когда ждать?
Очень постараюсь к концу грядущей недели)
Миша, спасибо за проделанную работу!
И где это можно примененит
Например, при работе с библиотекой requests. Или при решении задачи судоку (рекурсивном решении)
Уроки классные, жаль что так мало подписчиков, с такими уроками минимум 1.000 должно быть
только звук бы погромче)
Спасибо, приятно слышать))
@@artmine6988 Исправимся, будем делать громче)
Следующий урок когда будет
Уже работаю!)
классные уроки,когда следующий?
Спасибо большое! Уже работаю над следующим уроком)
Покажите как пользоваться библиотекой aiogram. Буду очень признателен.
качество топ
Очень классное обьяснение и подача материала!с нетерпением жду новый урок,не останавливайтесь!
Хорошая подача материала, всё предельно ясно! Пожалуйста, не останавливайтесь, жду следующего урока 👍
Что за бомба!!!
а я просто сделал case 0-100. с выделением десятых понял как, но реализовать не смог. да и сроки поджимали в нетологии.
В первой задаче мы же могли просто сразу нужный диапазон указать, разве нет? от -9999 до 9999 и будет так же работать
Тогда нам бы подошли числа [-999, 999], а они не четырехзначные)
Спасибо большое, Добрый Человек!)
На здоровье 🙏🏼
О, алгоритмы это очень интересно! А будут ещё ролики по сортировкам? Мой личный интерес, касаемый сортировок, это пирамидальная сортировка! Кстати, очень классная мысль в конце ролика показывать код на разных языках программирования. Я, например, в параллель с C++ python юзаю, он мне для зачёта в универе только нужен будет. И ещё момент: в цикле j можно также написать size -1 т.к. цикл совершает 1 лишную итерацию, когда последний элемент по факту уже отсортирован (он же последний), это если придираться. В C++ принято константы именовать заглавными буквами, вместо size, лучше написать SIZE. Будем ждать другие сортировки;)
Рад, что видео понравилось) Конечно, ещё ролики по алгоритмам будут)
Крайнее признателен за урок, очень понятно. Не подскажете дополнительных материалов для изучения C++?
Благодарю! Вам интересно было бы дополнительно изучить теорию?
Жду уроки по ООП)
Я мама Илона Макса. Пишу с другого аккаунта. Всё что есть у моего сына благодаря Вам Михаил. Храни Вас Бог.
А вот, если открыть любую серозную программу на с++, она начинается с переменных или с чего-то другого?
Она начинается с подключения библиотек/файлов, как и у нас)
А кроме этого, что лежит в основе каждой программы? Спасибо за ответ.
@@swaytornado8327 Функция main также является обязательно. Это отправная точка абсолютно любой программы на C++.
Я к чему это спрашиваю. Т.к. всё начинают учить языку типо с основ, переменных и т.д., но если посмотреть в корень, то любой продукт, написанный на том или ином языке использует совсем другое..
🥵🥶
👌
Спасибо за урок. Дай бог тебе здоровья!
Спасибо тебе за уроки