Интерактивный telegram бот (проект) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Что это за проект?)
 
(не показано 7 промежуточных версии 4 участников)
Строка 11: Строка 11:
  
 
=== Что это за проект? ===
 
=== Что это за проект? ===
Telegram - популярный мессенджер, который в 2015 году привлек несколько миллионов новых пользователей. Своей популярностью он обязан в том числе тому, что у него открыто [https://core.telegram.org/api публичное API] для сторонних разработчиков. С одним из этих API мы познакомимся на практике.
+
Telegram - популярный мессенджер, который в 2015 году привлек несколько миллионов новых пользователей. Своей популярностью он обязан в том числе тому, что у него открыт [https://core.telegram.org/api публичный API] для сторонних разработчиков. С одним из этих API мы познакомимся на практике.
  
 
В рамках проекта мы будем реализовывать telegram бота, работающего в интерактивном режиме с пользователями. Возможные задачи для решения:
 
В рамках проекта мы будем реализовывать telegram бота, работающего в интерактивном режиме с пользователями. Возможные задачи для решения:
Строка 27: Строка 27:
 
* Любая другая идея по согласованию.
 
* Любая другая идея по согласованию.
  
<u>'''Внимание'''</u> занятия планируются в вечернее время в офисе Яндекса на Парке Культуры.
+
[https://prezi.com/l1nkyrgrazpx/presentation/?utm_campaign=share&utm_medium=copy презентация проекта]
 +
 
 +
<u>'''Внимание'''</u> занятия планируются в вечернее время в [https://yandex.ru/company/offices/moscow офисе Яндекса] на Парке Культуры.
  
 
=== Чему вы научитесь? ===
 
=== Чему вы научитесь? ===
 
При выполнении проекта вы получите опыт, приближенный к реальным промышленным условиям разработки. В том числе вы научитесь:
 
При выполнении проекта вы получите опыт, приближенный к реальным промышленным условиям разработки. В том числе вы научитесь:
  
* Работе в команде, использованию [https://ru.wikipedia.org/wiki/Система_управления_версиями VCS] и оформлению кода понятно для других программистов.
+
* Разработке прикладной задачи от начала до конца.
 
* Юнит-тестированию написанного кода.
 
* Юнит-тестированию написанного кода.
 
* Формулированию технического задания и оформлению документации.
 
* Формулированию технического задания и оформлению документации.
Строка 40: Строка 42:
 
* Базовый python (при желании любого другого подходящего языка программирования).
 
* Базовый python (при желании любого другого подходящего языка программирования).
 
* Интерес к telegram и созданию ботов в его эко-системе.
 
* Интерес к telegram и созданию ботов в его эко-системе.
* Представление о протоколе [https://ru.wikipedia.org/wiki/HTTP HTTP]
+
* Желательно иметь представление о протоколе [https://ru.wikipedia.org/wiki/HTTP HTTP]
 
* Желание изменить мир к лучшему.
 
* Желание изменить мир к лучшему.
  
Строка 47: Строка 49:
  
 
* Python - базовый язык разработки.
 
* Python - базовый язык разработки.
* Github - система контроля версий и багтрекер.
 
 
* Sqlite, MongoDB, MariaDB и пр. - базы данных.
 
* Sqlite, MongoDB, MariaDB и пр. - базы данных.
 
* Docker - удобная система контейнеризации приложений.
 
* Docker - удобная система контейнеризации приложений.
* и другие
+
* и другое по необходимости
  
 
=== Темы вводных занятий ===
 
=== Темы вводных занятий ===
Строка 65: Строка 66:
  
 
=== Критерии оценки ===
 
=== Критерии оценки ===
* 4-5 Освоение telegram API и создания бота, реализующего поставленную задачу в базовой функциональности.
+
4-5: Освоение telegram API и создания бота, реализующего поставленную задачу в базовой функциональности.
* 6-7 Поддержка работы с несколькими пользователями, присылающих сообщения параллельно. Оформление решения в виде github-репозитория.
+
 
* 8-10 Хорошая организация кода, выделение базовых модулей. Документирование кода и освоение навыков презентации результатов.
+
6-7: Поддержка работы с несколькими пользователями, присылающих сообщения параллельно.
 +
 
 +
8-10: Хорошая организация кода, выделение базовых модулей. Документирование кода и освоение навыков презентации результатов.
  
 
=== Ориентировочное расписание занятий ===
 
=== Ориентировочное расписание занятий ===
ПН 18:00-21:00, ВТ 18:00-21:00, СР 18:00-21:00, ЧТ недоступен, ПТ 18:00-21:00, СБ недоступен.
+
ПН: 18:00-21:00
 +
 
 +
ВТ: 18:00-21:00
 +
 
 +
СР: 18:00-21:00
 +
 
 +
ЧТ: недоступен
 +
 
 +
ПТ: 18:00-21:00
 +
 
 +
СБ: недоступен.
  
 
Занятия проводятся в офисе Яндекса.
 
Занятия проводятся в офисе Яндекса.

Текущая версия на 16:12, 28 июля 2017

Ментор Оленин Михаил
Учебный семестр Весна 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

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

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