Проекты
Связаться с нами
Чат-боты на Python
Модуль из 7 уроков

Компании всё крепче хватаются за соцсети, ведь в них сидят миллионы людей. Каждой нужен свой чатбот: «Медуза» репостит свои статьи в telegram, Pikabu предлагает посмотреть свежие посты. Техподдержка тоже автоматизируется: если написать в авиакомпанию UTair, вам сперва ответит бот. Он выяснит, какая у вас проблема, а только потом передаст ваш вопрос оператору.

Компаниям нужны чатботы, а значит и люди, умеющие их писать. В этом модуле вы получите все самые боевые навыки по созданию таких ботов: научитесь разворачивать их на серверах, работать с базами данных и заглянете «под капот» к популярным библиотекам.

Задачами поделился
Игорь Перепилицын
Игорь разрабатывает сложных коммерческих ботов для Telegram и Facebook, технических ботов для автоматизации внутренних процессов компаний. Был старшим разработчиком в студии веб-разработки ITCanFly, работал с иностранными заказчиками (Корея и США).
Урок 1 из 7
Отправляем уведомления о проверке работ
Отправляем уведомления о проверке работ
На Девмане работы учеников проверяют в течение суток. Этот бот напишет вам, как только работа будет проверена.
Пишите умных ботов
Многие сайты предлагают вам создать бота без навыков программирования. Но это глупые боты: они лишь отвечают заранее подготовленными фразами. Ваши боты будут куда умнее: можно будет работать с данными, API и все такое.
Изучите Long Polling изнутри
Как боты узнают, что им пришло сообщение от пользователя? Один из механизмов для этого — Long Polling. В этом уроке вы напишете Long Polling сами.
12 заданий
6 учебных часов
ревью кода
Урок 2 из 7
Запускаем бота на сервере
Запускаем бота на сервере
В прошлом уроке мы написали бота, который работает пока включен компьютер. Теперь вы перенесете бота на сервер, и он не будет останавливаться. Никогда.
Сервер — новый лучший друг
Вы сможете запускать на сервере не только ботов. Любую программу так же можно запустить на сервере. Это развязывает руки для кучи новых идей и проектов.
Вы в ответе за тех, кого задеплоили
Что если однажды бот сломается? Пользователи будут недовольны, а вы в растерянности: что случилось, где ошибка? Крутые разработчики настраивают логгирование, чтобы моментально реагировать в такой ситуации. В этом уроке вы тоже поработаете с логами.
11 заданий
4 учебных часа
ревью кода
Урок 3 из 7
Распознаём речь
Распознаём речь
У всех крупных компаний есть отделы поддержки. Они просто ломятся от заявок клиентов, хотя на самом деле вопросы им задают одинаковые. В этом уроке вы будете распознавать вольную речь и отвечать клиенту вместо оператора.
Используйте глубокое обучение
В этом уроке вы используете machine learning. Тема непростая, но у Google уже есть готовое решение — DialogFlow. Бот от Google быстро научится понимать о чём говорит человек — о стоимости билетов или просто о погоде.
Первый проект в резюме
У авиакомпаний, банков и других крупных компаний есть похожие боты для тех. поддержки клиентов. Такой проект в портфолио вам пригодится, когда пойдёте собеседоваться на разработчика ботов.
18 заданий
7 учебных часов
ревью кода
Урок 4 из 7
Проводим викторину
Проводим викторину
Компании часто проводят опросы, чтобы узнать ситуацию на рынке. Для этого они пишут ботов, которые задают много вопросов и анализируют ответы. В этой задаче вы напишете бота-викторину: он тоже будет задавать вопросы и собирать ответы.
Делайте деньги с ВКонтакте
ВКонтакте — весьма популярная соцсеть в России. Если уметь работать не только с Telegram, но и с ВК, то вы сможете брать заказы сразу на две соцсети.
Храним данные как профи: Базы Данных
До сих пор мы обходились JSON-файликами, но больше так продолжаться не может. Ни один бывалый программист не хранит свои данные так небрежно. Покупки — это серьёзно, и хранить такие данные тоже нужно с умом.
16 заданий
6 учебных часов
ревью кода
Урок 5 из 7
Продаём рыбу в Telegram
Продаём рыбу в Telegram
В этом уроке вы напишете бота-магазин. В магазине можно выбрать рыбу, а затем оставить свой номер. Номер и заказ отправятся менеджеру, который перезвонит клиентам.
Интегрируемся с CMS
Сделать интернет-магазин очень сложно. Нужно предусмотреть скидки, акции, дать заказчику удобный способ менять цены и товары. Куда более правильное решение — интегрироваться с уже написанным интернет-магазином по API. В этом уроке вы попробуете свою первую интеграцию.
Своя стейт-машина
Бот должен помнить, где находится пользователь: в меню, корзине или каталоге товаров. В такой ситауации новички часто пишут какие-то костыли. В этом уроке мы расскажем о стейт-машинах, а вы напишете свою.
17 заданий
9 учебных часов
ревью кода
Урок 6 из 7
Принимаем платежи за пиццу
Принимаем платежи за пиццу
Вы напишете бота для продажи и доставки пиццы. Совсем крутого, с настоящей оплатой через карточку. Человек скинет своё местонахождение на карте, ему скажут примерное время доставки, а курьер получит заказ: какую пиццу и куда везти.
Работа с JobQueue
Курьера нужно спросить, успевает ли он доставить пиццу, а клиенту — напомнить, что пицца скоро приедет. Для этого пригодится JobQueue — «очередь задач». С ней можно создать отложенные задачи, которые запустятся через какое-то время.
Без бутафории и подсказок
Если вы переживаете, что мы будем вести вас за ручку, то всё в порядке: в нашем курсе код вы пишете сами. Мы даём направление: куда копать, что читать, как не делать. Код мы не даём, это будет ваш и только ваш опыт.
13 заданий
5 учебных часов
ревью кода
Урок 7 из 7
Расширяем пиццерию
Расширяем пиццерию
В этом уроке вы расширите код из предыдущего урока. Добавим поддержку ВК и Facebook. Причём, нужно постараться так, чтобы одним кодом с логикой пользовались все три соцсети.
Пишите многоликих ботов
В разработке ботов часто звучит одна и та же фраза: сделайте нам в Telegram, а потом такого же в Facebook и ВКонтакте. Копипаста не поможет: если решите что-то поменять, придётся менять одно и то же в трёх местах. В этом уроке вы сделаете как профи: одна логика, несколько фасадов.
Подготовьтесь к собеседованию
К этому уроку вы освоитесь в ВК и Telegram и Facebook, поработаете с кнопочками и геолокацией. У вас будет 2 интернет-магазина, 1 бот техподдержки и бот для сбора фидбека. После этого урока вы с легкостью пройдёте собеседование на разработчика ботов.
18 заданий
7 учебных часов
ревью кода
Навыки и технологии

Мы продаём навыки, а не знания. В задачах модуля вы отработаете:

  • API для ботов ВК и Telegram
  • приём платежей в Telegram
  • запуск на Heroku
  • конечные автоматы
  • хранение данных в Redis

Учебные материалы встроены в модуль.

Минимальные требования

‣ Владение Python: написать программу в 200 строк кода, структурировать и отладить.

‣ Умение работать с API с помощью requests

‣ Запуск программ из командной строки: cmd.exe на Windows или bash на Mac / Linux

‣ Размещение кода на GitHub

‣ Чтение документации на английском со словарем

Как подготовиться
Рекомендуем начать подготовку с более простых модулей
Знакомство с Python
8 уроков, 94 задания
  • переменные
  • функции
  • циклы
  • условия
  • строки
  • списки
  • словари
  • библиотеки
  • файлы
Посмотреть Первый урок бесплатный 5 000 Р
API веб-сервисов
6 уроков, 80 заданий
  • HTTP
  • ВКонтакте API
  • Instagram API
  • схема url
  • библиотека requests
  • REST API
Посмотреть Первый урок бесплатный 2 500 Р
Об эксперте
Игорь Перепилицын

Игорь разрабатывает сложных коммерческих ботов для Telegram и Facebook, технических ботов для автоматизации внутренних процессов компаний. Был старшим разработчиком в студии веб-разработки ITCanFly, работал с иностранными заказчиками (Корея и США).

Еще Игорь умеет учить. Он составлял программу и вёл дополнительные курсы в ВШЭ. Два года тренировал учеников Learn Python. Сейчас проверяет работы и составляет задачи в нескольких модулях «Девмана».

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

Что вы получите
7 уроков
Теория и практические советы. Кратко и по делу.
Пошаговые инструкции
Покажем, как подступиться к решению задач из реального мира.
Кодревью
Преподаватель подскажет, как повысить качество кода.
Неограниченный доступ к учебным материалам
Занимайтесь в удобное время, в своем темпе.
Знания, необходимые для следующего шага
Эти знания помогут вам в следующих сложных модулях:

Посмотрите другие модули
API веб-сервисов
6 уроков, 80 заданий
  • HTTP
  • ВКонтакте API
  • Instagram API
  • схема url
  • библиотека requests
  • REST API
Посмотреть Первый урок бесплатный 2 500 Р
Знакомство с Django: ORM
6 уроков, 108 заданий
  • запросы
  • поля
  • модели
  • поиск по полям
  • миграции
Django
выйдет осенью
  • схема url
  • forms
  • templates
  • admin UI
  • apps
Посмотреть 5 000 Р
Командная строка
5 уроков, 41 задание
  • bash
  • cd, ls, pwd
  • nano, vim
  • запуск программ
  • permissions
  • env variables
Git и GitHub
5 уроков, 49 заданий
  • коммиты
  • клонирование
  • форк
  • история
  • ветки
Работа с соцсетями
5 уроков, 72 задания
  • ВКонтакте
  • Facebook
  • Таблицы Google
  • Google Диск
  • Instagram
  • Telegram
Посмотреть Первый урок бесплатный 5 000 Р
Асинхронный Python
8 уроков, 129 заданий
  • asyncio
  • aiohttp
  • сокеты
  • стриминг
  • чаты
Django REST Framework
выйдет зимой
  • CRUD
  • serializers
  • JWT
  • наследование
  • версионирование
  • тестирование
Посмотреть 5 000 Р
Docker
выйдет зимой
  • Dockerfile
  • volumes
  • networks
  • docker-compose
  • docker-machine
  • Docker Hub
Посмотреть 5 000 Р
Знакомство с Python
8 уроков, 94 задания
  • переменные
  • функции
  • циклы
  • условия
  • строки
  • списки
  • словари
  • библиотеки
  • файлы
Посмотреть Первый урок бесплатный 5 000 Р
Устраиваемся на работу
выйдет зимой
  • HeadHunter
  • исследование рынка
  • воронка продаж
  • конверсии
  • собеседование
Посмотреть 15 000 Р
Вёрстка для питониста
7 уроков, 135 заданий
  • HTML и CSS
  • Bootstrap
  • отладка в браузере
  • парсинг
  • шаблонизация
  • формы