Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
МОСКОВСКИЙ ГОРОДСКОЙ КОНКУРС НАУЧНО-ИССЛЕДОВАТЕЛЬСКИХ И ПРОЕКТНЫХ РАБОТ ОБУЧАЮЩИХСЯ
Межрайонный совет директоров образовательных организаций СВАО№3
Проектная работа
Чат-боты на базе мессенджеров
Анализ современных методов коммуникаций и создание собственного чат-бота
Выполнил:
,
ученик 9 класса
ГБОУ Государственная Столичная Гимназия
Школа №1
Научный руководитель:
,
ГБОУ Государственная Столичная Гимнази
Школа №1
Тьютор
______________________
Москва - 2017
Оглавление
Вступление 3
Telegram и чат-боты 5
Разработка 6
Функционал 8
Отладка и результативность 9
Дальнейшие планы 10
Итог 11
Литература и Интернет-ресурсы 12
Приложения 13
Вступление
Развитие интернет-коммуникаций идет непрерывно не первый десяток лет. С момента изобретения интернета в 1969 году сменилось множество моделей, трендов и разработок. От первых веб-сайтов в 90х, до многочисленных социальных сетей в нулевых. От социальных сетей – до мобильных приложений, господствовавших на рынке до недавнего времени.
1,5 года назад мир накрыло новой волной популярности такого вида интернет-коммуникаций как мессенджеры. Что они собой представляют? В чем их новаторство? И главное – чем они привлекли столь большое число пользователей?
В данном проекте мы рассмотрим такой аспект современных коммуникаций, как чат-боты на базе мессенджеров. Этот мировой тренд, носящий громкий эпитет «убийца приложений», позволяет создавать невероятно интересные программные продукты, имея минимальные навыки программирования. Я докажу это на собственном опыте, проведя аналитику современных методов коммуникаций и разработав собственного чат-бота.
Актуальность данного проекта в невероятном пике популярности технологий мессенджинга и чат-ботов. Эта технология востребована на различных рынках: от рекламы до разработки ПО.
Проблема: полезное использование чат-ботов современными школьниками.
Цель: анализ существующей ситуации в сфере мессенджеров и создание собственного чат-бота на базе мессенджера, полезного для гимназистов в условиях школьной жизни и отвечающего следующим требованиям результативности:
- Стабильная и автономная работа без необходимости постоянного контроля Безошибочная работа функций бота Более 30 активных пользователей Обеспечение возможности администрирования и обновления информации в боте лицами без специализированных навыков в сфере IT
Объект исследования: чат-боты на базе мессенджеров
Предмет исследования: анализ необходимых для разработки возможностей чат-ботов на базе мессенджера и их внедрение в конкретном чат-боте (являющимся конечным продуктом проекта).
Задачи:
1. Аналитика рынка мессенджеров
2. Анализ технических возможностей мессенджеров
3. Ознакомление с существующими решениями: чат-боты на базе мессенджеров
4. Определение идеи для разработки собственного чат-бота, полезного для гимназистов
5. Формирование технических требований и технического задания для разрабатываемого чат-бота
6. Создание чат-бота
7. Запуск чат-бота в открытое пользование и его отладка
Конечным продуктом моего проекта будет полностью функционирующий чат-бот, написанный на одном из современных языков программирования.
Telegram и чат-боты
В 2013 году основатель социальной сети В анонсирует новый мессенджер – «Telegram» (с краткой историей технологии мессенджеров Вы можете ознакомиться в приложении №2). В интервью The New York Times Павел рассказал, что первоначальная идея приложения пришла ему ещё в 2011-м, когда к его двери приходил спецназ1. Когда последние всё-таки ушли, Дуров сразу же связался со своим братом Николаем. Тогда же он и осознал, что у него нет безопасного способа коммуникации с Николаем. Это подтолкнуло его к идеи безопасного мессенджера.
Сервис Telegram построен на технологии шифрования переписки MTProto, разработанной братом Павла. Но главным нововведением Telegram была не анонимность и не безопасность. На фоне взрыва популярности мессенджеров Дуров анонсирует бот-платформу, позволяющую писать чат-ботов для Telegram, используя его API2.
В чем же заключается феномен чат-ботов? Чат-боты не требуют трафика для скачивания и времени для установки, не занимают места в памяти и на экране смартфона. Внимание к мобильным приложениям, счет которых идет уже на миллионы, стремительно угасает. Боты открывают невероятные возможности, позволяющие заменить более 80%3 приложений. Все это через готовый, удобный, однотипный интерфейс.
Чат-боты позволяют организовать выполнение огромного количества функций и управлять различными системами с помощью одного интерфейса. Чат-боты невероятно просты и дешевы в создании. Их может создать любой пользователь, имеющий основные навыки программирования, в чем я убедился в практической части моего проекта. Боты мультиплатформенны. После создания бота для мессенджера он будет доступен как для IOS, так и для Android, Windows Phone и других платформ. Интеграция бота из мессенджера в мессенджер так же не составляет большого труда.
С примерами чат-ботов различных назначений и функционалов вы можете ознакомиться в приложении №3.
Разработка
Узнав о чат-ботах, я не мог остаться в стороне и захотел познакомиться с этой технологией и создать собственного бота. Моя работа была разделена на 3 этапа: аналитический, планировочный и практический, каждый из который делился на 3 основных шага.
В процессе аналитического этапа я расширял свои знания по данной теме. Сначала, я ознакомился с различными мессенджерами на рынке. Я попробовал такие мессенджеры, как Skype, Viber, Telegram, WhatsApp, Messenger, оценил их на предмет удобности использования, широту функционала. Большего всего мне понравился Telegram, предлагающий удобный и красивый интерфейс, полную индивидуализацию, конфиденциальность и безопасность, наличие «Каналов». Вторым шагом я ознакомился с техническими возможностями отобранных платформ. Здесь я вновь отдал предпочтение Telegram – на момент начала создания проекта только Telegram предлагал открытый и удобный API для создания ботов. На данный момент, многие другие мессенджеры скопировали данную функцию, но моим фаворитом все еще остается Telegram, так как его возможности все еще намного шире и интереснее, чем у других мессенджеров. На третьем шаге я ознакомился с существующими ботами и вновь убедился в удобстве данного интерфейса коммуникации.
Второй этап включал в себя 3 основных шага. На первом шаге я собрал фокус-группу и провел мозговой штурм по поиску главной идеи бота. С помощью специальной методики «Случайный Стимул»4 мы придумали огромное количество разнотипных идей собственного чат-бота. На втором шаге, из нескольких десятков полученных идей была отобрана одна, реализуемая в итоге. Мы остановились на боте «Помощнике Гимназиста», так как данный бот имел наибольшее практическое применение. Данный бот не имеет аналогов, т. к. все известные мне школьные боты (более 10 шт.) малоинформативны, имеют функцию «новостной ленты» или вовсе представляют собой ссылки на контакты образовательных учреждений. На третьем шаге было сформулировано «техническое требование» и «техническое задание», с которыми вы можете ознакомиться в приложении №4.
Третий этап начался с изучение базового уровня языка программирования Python. Воспользовавшись образовательными Интернет-ресурсами, я получил базовые знания языка, которые в будущем планирую развивать и углублять. После этого я изучил библиотеку PyTelegramBotAPI, позволяющую взаимодействовать с API мессенджера Telegram и создавать ботов на базе нескольких готовых методов и функций. И наконец, финальным этапом было написание бота, а также его отладка и размещение на сервере. С исходным кодом бота вы можете ознакомиться в моем репозитории на GitHub, а посмотреть все файлы – по этой ссылке.
Функционал
- Следующий урок
После выбора пользователем его класса, бот анализирует дату и время и, основываясь на выборе класса, текущей дате и времени, говорит пользователю, какой урок у него следующий. Данные берутся из Excel таблицы с расписанием всех классов школы. Новости
Бот показывает новости с официального сайта Государственной столичной гимназии, получаемые автоматически с официального сайта Гимназии. Полезные ссылки
Ссылки на интересные и полезные гимназисту образовательные Интернет-ресурсы. Заполняется вручную. Объявления
Данный раздел содержит объявления о предстоящих мероприятиях и потерянных вещах. Данные берутся из заполняемых вручную таблиц Excel. Помощь
Навигация по функциям бота Поддержка
Контакт для связи (вопросов, запросов и предложений) с автором бота
Интерфейс бота создан на базе пользовательских клавиатур (т. е. набора кнопок-элементов клавиатуры, позволяющие не печатать команды, а выбирать из меню), с которым вы можете ознакомиться в приложении №5.
Существует функция обратной связи со мной, позволяющая оперативно разрешать проблемы и исправлять неполадки.
Отладка и результативность
Одним из значимых этапов разработки бота была его последующая отладка. Большая часть функционала была изменена или дополнена. Рубрика «Цитата Дня» была заменена на рубрику «Полезные Ссылки». Функция «Следующий Урок» изначально предусматривала только просмотр следующего урока. В процессе отладки была добавлена опция «Подробнее», позволяющая посмотреть расписание до конца дня.
Во время работы шел постоянный контроль версий бота с помощью сервиса GitHub. Благодаря контролю версий, исходный код бота, хранящийся на облачном сервере5, доступен мне с любого устройства, что расширяет возможности разработки. Все нестабильные версии бота тестировались на отдельном боте перед загрузкой на основной сервер.
Бот имел большое количество багов и недочетов, которые постоянно исправлялись. Благодаря функции обратной связи и многочисленным баг-фиксам последняя версия бота (v. 4.0) является стабильной, на данный момент ошибок в её работе не выявлено.
Бот отвечает нашим требованиям результативности, а именно:
- Бот работает в полностью автономном режиме. При возникновении ошибок программа запускается заново, а мне отправляется сообщение об ошибке, что позволяет оперативно решать проблемы (которые в крайней версии бота пока не возникали) Все функции бота протестированы и функционируют безошибочно Более 50 активных пользователей Система администрирования позволяет человеку, не владеющего знаниями или навыками в сфере IT редактировать содержание бота через интерфейс бота
Дальнейшие планы
Дальнейшая отладка бота и его популяризация в рамках Гимназии Расширение и углубление знаний по языку Python, а также изучение другого языка программирования Изучение одного из современных IT-трендов (VR, Маш инное Обучение, Big Data и т. д.) и создание проекта на его баз Поиск единомышленников и участие в хакатонахИтог
Работа над проектом была невероятно интересным и увлекательным процессом. Подведем итог. В процессе работы над проектом я:
- Ознакомился с рынком чат-ботов, узнал его ключевые особенности Получил знания об истории развития интернет коммуникаций и в частности мессенджеров Начал изучение языка Python, который я на данный момент продолжаю осваивать и создавать на нем другие проекты Ознакомился с принципами взаимодействия с API Telegram с помощью библиотеки pyTelegramBotAPI Создал собственного чат-бота и логотип для него Изучая тренды интернет-коммуникаций и новые технологии, я больше узнал о других «трендах», таких как VR (англ. Virtual Reality – виртуальная реальность) и машинное обучение, изучением которых планирую заняться после завершения работы над этим проектом
Литература и Интернет-ресурсы
Wikipediawww. Wikipedia. org Издание о бизнесе «RusBase»
www. rb. ru Business Insider
www. Библиотека pyTelegramBotAPI и встроенная документация
https:///eternnoir/pyTelegramBotAPI Многочисленные руководства и уроки по языку Python и его библиотекам
https://pythonworld. ru Подборка интересных чат-ботов
https://lifehacker. ru/2015/08/24/15-samyh-interesnyh-i-poleznyh-botov-telegram/ Статья Бена Эйдельсона, бывшего продакт-мененджера Google
https:///@ben8128/the-messaging-landscape-in-2016-13b25cdf2f6e#.y39khh8w4 Эрик Метиз «Изучаем Python», издательство «Питер», 2017 г.
Приложения
Приложение 1
Терминология
Мессенджер или Система Мгновенного Обмена Сообщениями - программа для общения в реальном времени через интернет.
Примеры:
What’s App, Viber, Snapchat, Telegram
Чат-бот – программа, автоматические выполняющая различные действия с помощью того же интерфейса, что и пользователь, т. е. через мессенджер. Иначе говоря, чат-бот – аккаунт в мессенджере, управляемый программой.
Telegram - мессенджер, разработанный Павлом Дуровым в 2013 году. Первый мессенджер, предоставивший собственную бот-платформу.
API - набор готовых классов, процедур, функций, предоставляемых приложением, библиотекой, сервисом или операционной системой для использования в других программных продуктах.
Приложение 2
Краткая история мессенджеров
Развитие мессенджеров началось в 1999 году с появлением MSN Messenger от Microsoft. Программа имела простейшие функции: обмен контактами и текстовыми сообщениями. С этого момента мессенджеры многократно эволюционировали. ICQ («аська»), появившись в 2001 году, произвела фурор. Подростки могли часами общаться с их друзьями, находясь на огромных расстояниях. Нельзя не упомянуть, что уже тогда появились первые прототипы чат-ботов. Виртуальные собеседники умели рассказывать анекдоты, давать прогнозы погоды и т. д.
С развитием социальных сетей, Facebook, VK, Twitter и другие IT-гиганты сместили ICQ и другие мессенджеры на задний план. Около 2,5 млрд пользователей насчитывает «большая четверка»6 социальных сетей на данный момент.
Казалось, ничего не изменится. Социальные сети не утрачивали свою актуальность, постоянно развивались и расширялись, вытеснив ICQ и другие компьютерные программы для моментального обмена сообщениями.
Тем временем, появились первые мобильные мессенджеры. What’s App, Viber позволяли пользователям звонить, писать сообщения, обмениваться фото и видео аналогично с СМС, но посредством не мобильной связи, а сети интернет. Люди явно начали уставать от публичности, чужих новостей и навязчивой рекламы в ленте. Личное общение перетекло в мессенджеры, которые пока не «терроризируют» пользователей лишней информацией.
Произошло то, что никто ранее не мог предсказать: во втором квартале 2015 года «большая четверка»7 мессенджеров обогнала четверку социальных сетей. С графиком количества пользователей мессенджеров и социальных сетей вы можете ознакомиться ниже.
График популярности мессенджеров и социальных сетей

Приложение 3
Примеры чат-ботов
Такси Помощник (@TaximeterBot)


Заказ такси из мессенджера! Автоматический расчет наименьшей цены у одной из ведущих служб
Yandex(@Ya)
Позволяет воспользоваться многочисленными сервисами Yandex, один из очень умных ботов Telegram

MISIS books (@misis_bot)
Книги библиотеки Национального исследовательского технологического университета «МИСиС» в вашем распоряжении. Укажите тему, и бот предложит вам один из вариантов поисковой выдачи.
NATIONAL GEOGRAPHIC (@nationalgeographic_bot)
Лучшие фотографии National Geographic со всего мира. Ежедневные подборки или выбор снимков конкретного животного или тематики.

Приложение 4
Технические требования и техническое задание
Технические требования:
1. Базовые знания языка программирования Python
2. Умение работать с интерфейсом Telegram
3. Умение взаимодействовать с API Telegram
4. Контроль версий на GitHub
Техническое задание:
Создать Telegram чат-бота, использующего меню на базе пользовательских клавиатур.
Функции:
При выборе класса с помощью меню пользователь получает следующий урок по расписанию на основе текущей даты и времени.
Новости
Получить последние новости Гимназии.
Посмотреть объявления для обучающихся в школе
1 «Я задумался о своём будущем в России, когда к двери пришёл спецназ», Павел Дуров https://tjournal. ru/p/durov-for-nyt
2 С терминологией Вы можете ознакомиться в Приложении 1
3 http://rb. ru/longread/bots-are-the-new-apps/
4Виталий Колесник, метод создания идей «Случайный стимул»
http://kolesnik. ru/2005/random-stimulation/
5 https:///AddictedToMusic/GymnasistsAssistant
6 4 самые популярные Социальные Сети: Facebook, Google+, Twitter, ВКонтакте
7 4 самых популярных Мессенджера: WhatsApp, Viber, Telegram, Skype


