Интерактивный telegram бот (проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Ментор Оленин Михаил
Учебный семестр Весна 2016
Учебный курс 1-й курс
Проект можно развивать на летней практике
Максимальное количество студентов, выбравших проект: 3



Что это за проект?

Telegram - популярный мессенджер, который в 2015 году привлек несколько миллионов новых пользователей. Своей популярностью он обязан в том числе тому, что у него открыт публичный API для сторонних разработчиков. С одним из этих API мы познакомимся на практике.

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

  • Изучение иностранных слов с помощью карточек.
  • Многопользовательская игра: мафия, викторина, какая-нибудь из карточных игр и тому подобное.
  • Мониторинг нескольких серверов, анализ логов веб-приложения и уведомления о проблемах в реальном времени.
  • Поиск квартир в аренду.
  • Голосовые сервисы с распознаванием/синтезом речи с помощью Yandex.Speechkit
  • Любая другая идея по согласованию.

презентация проекта

Внимание занятия планируются в вечернее время в офисе Яндекса на Парке Культуры.

Чему вы научитесь?

При выполнении проекта вы получите опыт, приближенный к реальным промышленным условиям разработки. В том числе вы научитесь:

  • Разработке прикладной задачи от начала до конца.
  • Юнит-тестированию написанного кода.
  • Формулированию технического задания и оформлению документации.
  • Созданию простых и наглядных презентаций о проделанной работе.

Какие начальные требования?

  • Базовый python (при желании любого другого подходящего языка программирования).
  • Интерес к telegram и созданию ботов в его эко-системе.
  • Желательно иметь представление о протоколе HTTP
  • Желание изменить мир к лучшему.

Какие будут использоваться технологии?

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

  • Python - базовый язык разработки.
  • Sqlite, MongoDB, MariaDB и пр. - базы данных.
  • Docker - удобная система контейнеризации приложений.
  • и другое по необходимости

Темы вводных занятий

  • Знакомство и окончательная постановка задачи.
  • Введение в промышленное программирование.
  • Введение в Telegram API.

Направления развития

Интерактивный telegram бот подразумевает широкий простор для реализации. В зависимости от задачи всегда можно сформулировать набор предложений для дальнейшего развития проекта:

  • Реализация более сложных прикладных задач, выполняемых ботом.
  • Выделение удобной библиотеки для создания интерактивных ботов.
  • Улучшение гибкости взаимодействие бота с пользователями.
  • Оптимизация производительности с целью максимально быстрого ответа на запрос пользователя.

Критерии оценки

4-5: Освоение telegram API и создания бота, реализующего поставленную задачу в базовой функциональности.

6-7: Поддержка работы с несколькими пользователями, присылающих сообщения параллельно.

8-10: Хорошая организация кода, выделение базовых модулей. Документирование кода и освоение навыков презентации результатов.

Ориентировочное расписание занятий

ПН: 18:00-21:00

ВТ: 18:00-21:00

СР: 18:00-21:00

ЧТ: недоступен

ПТ: 18:00-21:00

СБ: недоступен.

Занятия проводятся в офисе Яндекса.