Интерактивный telegram бот (проект)
Ментор | Оленин Михаил |
Учебный семестр | Весна 2016 |
Учебный курс | 1-й курс |
Проект можно развивать на летней практике | |
Максимальное количество студентов, выбравших проект: 3 | |
Что это за проект?
Telegram - популярный мессенджер, который в 2015 году привлек несколько миллионов новых пользователей. Своей популярностью он обязан в том числе тому, что у него открыто публичное API для сторонних разработчиков. С одним из этих API мы познакомимся на практике.
В рамках проекта мы будем реализовывать telegram бота, работающего в интерактивном режиме с пользователями. Возможные задачи для решения:
- Изучение иностранных слов с помощью карточек.
- Многопользовательская игра: мафия, викторина, какая-нибудь из карточных игр и тому подобное.
- Мониторинг нескольких серверов, анализ логов веб-приложения и уведомления о проблемах в реальном времени.
- Поиск квартир в аренду.
- Голосовые сервисы с распознаванием/синтезом речи с помощью Yandex.Speechkit
- Любая другая идея по согласованию.
Внимание занятия планируются в вечернее время в офисе Яндекса на Парке Культуры.
Чему вы научитесь?
При выполнении проекта вы получите опыт, приближенный к реальным промышленным условиям разработки. В том числе вы научитесь:
- Работе в команде, использованию VCS и оформлению кода понятно для других программистов.
- Юнит-тестированию написанного кода.
- Формулированию технического задания и оформлению документации.
- Созданию простых и наглядных презентаций о проделанной работе.
Какие начальные требования?
- Базовый python (при желании любого другого подходящего языка программирования).
- Интерес к telegram и созданию ботов в его эко-системе.
- Представление о протоколе HTTP
- Желание изменить мир к лучшему.
Какие будут использоваться технологии?
Мы будем использовать широкий круг технологий, необходимых для реализации конкретной задачи:
- Python - базовый язык разработки.
- Github - система контроля версий и багтрекер.
- Sqlite, MongoDB, MariaDB и пр. - базы данных.
- Docker - удобная система контейнеризации приложений.
- и другие
Темы вводных занятий
- Знакомство и окончательная постановка задачи.
- Введение в промышленное программирование.
- Введение в Telegram API.
Направления развития
Интерактивный telegram бот подразумевает широкий простор для реализации. В зависимости от задачи всегда можно сформулировать набор предложений для дальнейшего развития проекта:
- Реализация более сложных прикладных задач, выполняемых ботом.
- Выделение удобной библиотеки для создания интерактивных ботов.
- Улучшение гибкости взаимодействие бота с пользователями.
- Оптимизация производительности с целью максимально быстрого ответа на запрос пользователя.
Критерии оценки
- 4-5 Освоение telegram API и создания бота, реализующего поставленную задачу в базовой функциональности.
- 6-7 Поддержка работы с несколькими пользователями, присылающих сообщения параллельно. Оформление решения в виде github-репозитория.
- 8-10 Хорошая организация кода, выделение базовых модулей. Документирование кода и освоение навыков презентации результатов.
Ориентировочное расписание занятий
ПН 18:00-21:00, ВТ 18:00-21:00, СР 18:00-21:00, ЧТ недоступен, ПТ 18:00-21:00, СБ недоступен.
Занятия проводятся в офисе Яндекса.