Телеграм-бот мастер. Практический курс создания бота.
Что такое 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.
При запросе к боту мы будем показывать список фильмов, которые есть у бота. При выборе нужного фильма мы будем отправлять его детальное отображение и описание в текущий чат.