June 28, 2018

Телеграм-бот мастер. Практический курс создания бота.

Что такое Telegram

Telegram – это современный бесплатный мессенджер, доступный на всех основных платформах.

Помимо того, что там можно вести каналы или переписываться с пользователями, Telegram имеет богатый API для создания ботов, который позволяет в автоматическом режиме общаться вашей программе с пользователем внутри Telegram.

В Telegram есть возможность звонить, отправлять не только текстовые, но и аудио сообщения (в ближайшем будущем планируется внедрить видеосвязь), слушать музыку, проигрывать аудио и видео файлы, читать и публиковать рассылку, создавать каналы и чат-боты.

Приложение Telegram может быть установлено на любые платформы и на любые устройства, от настольных компьютеров до смартфонов. Также есть веб-версия, которой можно пользоваться прямо из браузера, не устанавливая приложение.

Работает идеально даже при очень плохом интернет соединении, а расход трафика при использовании Telegram - минимальный.

Новый мировой тренд: победа мессенджеров над соцсетями!

Как сообщает одно из наиболее авторитетных международных бизнес-изданий BusinessInsider.com, еще в 1 квартале 2015 года…

4 основных мессенджера обошли по популярности 4 крупнейшие соцсети!

Как сообщает одно из наиболее авторитетных международных бизнес-изданий BusinessInsider.com, еще в 1 квартале 2015 года…

Мы мигрируем из социальных сетей в мессенджеры

Исследование StatCounter Global Stats, говорит о том, что уже в 2016 году количество трафика с мобильных устройств превысило трафик со стационарных компьютеров и ноутбуков.

Telegram – главный тренд 2017 года

По данным агентств We Are Social и Hootsuite, опубликованным в своем исследовании Global Digital Snapshot…

Telegram обогнал наиболее популярную в Рунете соцсеть ВКонтакте по количеству активных пользователей в месяц: у Telegram их более 100 млн, а у ВКонтакте – «всего» 81 миллион!

Telegram поднялся на 1-е место в рейтинге популярности в России среди программ для iPhone

По состоянию на 26 июня 2017 года Telegram переместился с 7-го на 1-е место по популярности в России среди бесплатных программ для iPhone, свидетельствуют данные системы аналитики приложений App Annie.

А по данным App Annie, приложение вошло в топ-3 сервисов, которые пользователи ищут чаще всего в категориях «социальные сети» и «мессенджеры».

Именно поэтому рынок Telegram-ботов сегодня очень активен. Стоит отметить, что популярность Телеграма – это долгосрочный тренд. Это тенденция, которая набирает обороты и в будущем не пропадет, а только усилится.

Что умеют Telegram-боты

Одной из особенностей Telegram является платформа для создания ботов.

Боты — это аккаунты Telegram, которые управляются программно, а не людьми, и обладают функцией искусственного интеллекта.

По сути Telegram-бот — это программа, которая круглосуточно общается с пользователями в чате Telegram и может выполнять любые полезные действия, которые мы в нее запрограммируем:

Продавать билеты

Принимать заказы на доставку пиццы

Заказывать такси

Помогать при подборе товара

Помогать при выборе услуг

Записывать на какую-либо услугу

Подбирать фильмы, одежду, музыку и так далее

И многое другое…

Варианты использования ботов ограничены только фантазией.

Что и как мы будем изучать

Данный курс посвящен разработке Telegram-ботов на платформе NodeJS.

Курс состоит из 3 частей, которые подробно и структурировано обучат вас создавать ботов с полного нуля.

В первой теоретической части идет введение в теорию Telegram-ботов, раскрывается принцип регистрации бота и создания первого скрипта.

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

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

Данный курс содержит в себе более 7 часов обучающих материалов (и это – не считая 4 полноценных бонусных видеокурсов), которые последовательно и очень подробно научат вас самым актуальным технологиям по созданию ботов для мессенджера Telegram и которые будут актуальными по меньшей мере ближайшие несколько лет.

Также вас ожидает 4 бонусных видеокурса, которые дадут вам практически всю необходимую теоретическую базу для погружения в тему по созданию ботов с полного нуля.

Подробное содержание курса

Блок 1. Теория.

Создание простого бота

Данный вступительный блок посвящен введению в теорию Telegram-ботов.

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

Далее вы узнаете, как регистрировать ботов. После чего мы с вами создадим и запустим простого бота, который будет просто приветствовать пользователя, который напишет ему сообщение.

Урок 1. Что такое боты

В данном уроке вы узнаете, что такое Telegram-боты. Вы увидите, как они работают и узнаете, что вообще они могут делать и как их найти.

Урок 2. Работа с API

В данном уроке мы разберем принцип работы Telegram-ботов. Вы узнаете, как они работают с точки зрения разработки, и мы также рассмотрим фреймворк, который будет использоваться при их создании.

Урок 3. Регистрация бота

В данном уроке вы узнаете, как зарегистрировать бота в Telegram. В результате урока мы получим токен, который позволит нам делать запросы к API Telegram.

Урок 4. Создание простого бота

В данном уроке вы увидите, как можно написать простого бота, который будет приветствовать человека по имени в ответ на его сообщение.

Блок 2. Теория.

Возможности бота

Данный блок посвящен подробному разбору возможностей Telegram-бота.

Вы узнаете про множество настроек, которые можно выполнить над самим ботом при его создании.

Далее мы начнем подробно разбирать каждую функцию, которая есть в Telegram для взаимодействия с пользователем.

Вы узнаете, как формировать любые элементы интерфейса, которые заложены в боте, например, клавиатуры разных типов, отправка любых медиа файлов и много другое.

Дополнительно мы разберем, как задавать инлайн режим для бота, как связывать бота с платежными системами и продавать товар прямо внутри Telegram.

Урок 1. Настройки Bot Father 1

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

Урок 2. Настройки Bot Father 2

В этом уроке вы узнаете про оставшиеся возможности и опции, которые присутствуют в Telegram-боте, например, включение инлайн режима.

Урок 3. Настройка polling

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

Урок 4. Получение сообщения пользователя

В данном уроке мы подробно рассмотрим функцию, которая вызывается при получении сообщения от пользователя.

Вы узнаете, как принимать сообщение, какие данные есть у сообщения, которые мы сможем использовать, и как обрабатывать отправку сообщения – отслеживать статус отправки и обрабатывать ошибки, если они есть.

Урок 5. Обработка команд

В данном уроке вы узнаете, как обрабатывать специальные команды, которые также можно задавать при настройке, которые приходят от бота.

Урок 6. Отправка HTML кода

В данном уроке вы узнаете, как отправлять не просто сообщения, а как сделать их более красивыми, отправляя HTML код пользователю.

Урок 7. Отправка Markdown

В данном уроке мы рассмотрим еще один формат, который мы можем отправлять пользователю в ответ – формат markdown.

Урок 8. Дополнительные опции сообщения

В данном уроке мы разберем еще несколько опций, которыми мы можем кастомизировать отправку сообщения.

Урок 9. Простая клавиатура

В данном уроке вы узнаете, как формировать простую клавиатуру для отправки фиксированных команд боту. Дополнительно мы рассмотрим опции, которые поддерживает клавиатура, например, запрос на локацию пользователя, ссылки и прочее.

Урок 10. Инлайн клавиатура

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

Урок 11. Обработка инлайн запросов

В данном уроке вы узнаете про то, как добавить поддержку инлайн режима в боте. Например, вы узнаете, как отправлять информацию во всплывающем окне, когда к боту обращаются из любого чата.

Урок 12. Перенаправление сообщений

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

Урок 13. Ответ на сообщение

В этом уроке вы узнаете, как использовать функцию цитирования сообщения с ответом от самого бота.

Урок 14. Редактирование сообщения

В этом уроке вы узнаете, как редактировать уже отправленное сообщение с помощью бота.

Урок 15. Удаление сообщения

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

Урок 16. Отправка картинок

Начиная с данного урока, мы начнем изучение методов бота, которые позволяют работать с медиа файлами. В данном уроке вы узнаете несколько способов отправки картинок, используя бота.

Урок 17. Отправка аудио

В данном уроке вы узнаете 2 способа отправки аудио файлов через Telegram-бота. Так же мы поговорим про то, как правильно сообщать пользователю о том, что идет асинхронная загрузка большого файла.

Урок 18. Отправка файла

В данном уроке вы узнаете, как отправлять файлы разных типов, используя Telegram-бота. В уроке мы рассмотрим, как отправлять zip-архивы и файлы типа .xlsx.

Урок 19. Отправка стикера

В данном уроке вы узнаете, как отправлять стикеры, используя Telegram-бота. Вы узнаете про специальное разрешение и тип файлов, которые будут распознаваться как стикеры внутри Telegram.

Урок 20. Отправка видео

В данном уроке вы узнаете какие есть методы у Telegram-бота для отправки видео пользователю. Вы узнаете, как отправлять целые видео, или только сниппеты, округленные до минуты.

Урок 21. Отправка геолокации

В данном уроке вы узнаете, как отправить геолокацию, которая будет представлена в виде карты, пользователю через Telegram-бота.

Урок 22. Отправка контакта

В данном уроке вы узнаете, как отправить контакт какого-либо пользователя внутри Telegram.

Урок 23. Создание и оплата товара

В данном уроке вы узнаете, как создавать товары и предлагать их пользователю через Telegram-бота.

Вы узнаете, как подключить способ оплаты товара через Яндекс.Кассу и как правильно настроить отображение товара.

Блок 3. Практика

создания бота

Данный блок посвящен практической части создания Telegram-бота. В этом блоке мы объединим теоретические знания, которые были в прошлой части, и будем использовать множество из них при создании реального бота.

Мы создадим бота, который будет отвечать за фильмы и кинотеатры. Вы сможете выбрать категорию фильмов и отобразить детальный вид каждого из них. Также вы сможете увидеть, в каких кинотеатрах данный фильм идет.

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

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

Урок 1. Получение токена

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

Урок 2. Создание структуры проекта

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

Урок 3. Создание клавиатуры

В данном уроке мы создадим базовую клавиатуру, с помощью которой пользователь сможет легко выполнять навигацию внутри бота.

Урок 4. Создание второго экрана

В данном уроке мы создадим еще один экран бота, который будет содержать в себе другой набор команд и возможность возвращаться к главному экрану.

Урок 5. Подключение к базе

В данном уроке мы создадим подключение к базе данных MongoDB (используя Mongoose) для дальнейшего получения данных.

Урок 6. Создание модели фильма

В данном уроке мы создадим схему и модель для работы с объектами фильмов через базу данных.

Урок 7. Наполнение базы фильмами

В данном уроке мы создадим коллекцию фильмов в MongoDB и наполним ее данными фильмов.

Урок 8. Запросы на получение фильмов

В данном уроке по запросу бота на получение фильмов мы сделаем загрузку данных из MongoDB в скрипт.

Урок 9. Вывод списка фильмов

В данном уроке мы выведем список фильмов пользователю внутри Telegram, используя HTML разметку для красивого отображения.

Урок 10. Детальное отображение фильма

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

Урок 11. Сохранение кинотеатров в базу

В данном уроке мы создадим коллекцию кинотеатров в MongoDB, создадим схему и модель для дальнейшей работы с данными сущностями и заполним ими базу.

Урок 12. Экран кинотеатров

В данном уроке мы создадим новый экран бота для работы с кинотеатрами. Мы создадим кнопку, которая будет требовать локацию пользователя для вывода кинотеатров в зависимости от его положения.

Урок 13. Вывод списка кинотеатров

В данном уроке мы выведем красивый список кинотеатров пользователю, и также добавим возможность перейти на детальное отображение конкретного кинотеатра.

Урок 14. Детальное отображение кинотеатра

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

Урок 15. Создание модели пользователя

В данном уроке мы создадим схему и модель пользователя, куда впоследствии мы будем записывать список избранных фильмов, которые пользователь будет добавлять.

Урок 16. Обработка инлайн клавиатуры

В данном уроке вы узнаете, как правильно обработать команды, которые будут выполняться при клике пользователя на инлайн клавиатуру.

В нашем боте мы будем использовать 4 разных команды, которые будут приходить от пользователя, и вы узнаете, как правильно их обрабатывать в одном методе для прослушки событий с инлайн клавиатуры.

Урок 17. Добавление и удаление из избранного

В данном уроке мы обработаем команду добавления или удаления конкретного фильма из избранного для каждого из пользователей, данные которых будут сохраняться в MongoDB.

Также мы добавим специальный алерт, который будет говорить пользователю о том, какое действие он сделал.

Урок 18. Вывод избранного

В данном уроке мы обработаем последнюю кнопку навигации на главном экране и будем показывать те фильмы, которые добавлены пользователем в избранное с возможностью перейти к нужному фильму и удалить его из избранного.

Урок 19. Вывод кинотеатров по фильму

В данном уроке мы обработаем еще одну кнопку инлайн клавиатуры, которая будет показывать список кинотеатров, в которых идет нужный фильм.

Урок 20. Отображение кинотеатра на карте

В данном уроке мы обработаем следующую кнопку инлайн клавиатуры, которая будет показывать нужный кинотеатр на карте.

Урок 21. Отображение фильмов по кинотеатру

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

Урок 22. Инлайн режим

В данном заключительном уроке мы реализуем возможность обращаться к нашему боту в любом чате Telegram.

При запросе к боту мы будем показывать список фильмов, которые есть у бота. При выборе нужного фильма мы будем отправлять его детальное отображение и описание в текущий чат.