Создание бота в телеграмме и его монетизация

Автор: | 06.04.2019

Боты есть везде. Кажется, только вчера мы даже не знали об их существовании; теперь едва представляем жизнь без них.

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

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

Python Telegram Bot

Почему они так популярны? В чем их секрет? Я думаю, что более актуальным вопросом является то, почему они удобнее, чем приложение.

И есть несколько причин:

  1. Минималистичный и простой дизайн. Безусловно, бот просто не может иметь красочный дизайн. Но, вне всякого сомнения, по сравнению с многочисленными приложениями с различным дизайном, когда вам нужно помнить, где и что нажимать, бот более универсален и прост; он предлагает простое общение с помощью текстов.
  2. Бот имеет минимум рекламы и ориентируется на потребности пользователей. Вам не нужно устанавливать сотни приложений для каждой службы, если вы можете получить всю необходимую помощь от бота. Это особенно полезно для ресторанов и магазинов. Клиенты редко стремятся установить приложения из множества мест, которые они посетили. Из-за этого владельцы бизнеса пропускают отзывы клиентов и теряют связь с ними. Если бы в каждом из этих мест был свой бот, доступный в разных мессенджерах, это было бы более удобно для пользователей. Никто не любит заполнять память телефонов ненужными приложениями, которыми будут использоваться один или два раза. Тем не менее, клиенты должны взаимодействовать с владельцами услуг.
  3. Нет необходимости в регистрации, авторизации и постоянной повторной регистрации. Используя бота, пользователь проходит авторизацию только один раз, когда он добавляется в чат. Клиент может использовать бота столько, сколько необходимо, и когда он больше не нужен, пользователь просто блокирует его. Вот и все, легко! Нет сброса.

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

Нюансы развития Telegram Bot

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

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

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

Для этого мы будем использовать следующие инструменты:

  • bottle — для сервера, простой и легкий микро-фреймворк WSGI;
  • requests — для отправки запросов на телеграмму. Запрос lib не нуждается в представлении. Он повсеместно используется во всем мире в различных проектах.

Примечание: вы должны установить эти инструменты на компьютер. Они понадобятся позже. Для этого откройте консоль bash и установите ее через pip.

ngrok — это приложение, предоставляющее общедоступные URL-адреса для взаимодействия с Telegram WebHook на этапе разработки. Это полезно, поскольку Telegram не сможет установить соединение с локальным сервером, потому что мы не можем указать локальный адрес в конфигурации Telegram API.

Необходимо скачать ngrok с официального сайта и положить установленное приложение в папку с проектом.

1 этап создания

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

Необходимо зарегистрироваться на Telegram (очевидно).

Откройте приложение Telegram, в поиске наберите @BotFather. Напишите сообщение /newbot и пройдите представленные этапы. По окончанию у вас будет —

  • собственный токен
  • телеграмма URL — api.telegram.org/<your token >

Требуется начать виртуальный разговор. В строке поиска требуется ввести имя бота. Нажав на кнопку /start. Введите что-то вроде «Привет» (помните, что все разговоры ведутся на английском).

Запустите в браузере ссылку:

Когда вы открываете эту ссылку, он связывается с сервером Telegram. Ответное сообщение напоминает словарь Python. Должно прийти сообщение такого типа, смотрите дальше.

С помощью сообщения /sendMessage открывается документация, вы заметите, что для этого метода требуются chat_id и text. В браузере можно соединить эти настройки, используя «?» и & для следующих.  Отправка месседжа получается так, смотрите скриншот.

WebHook

(Вы можете пропустить эту часть, если вы знакомы с WebHook).

Короче говоря, WebHook — это концепция API, популярность которой растет. Концепция WebHook проста. WebHook — это обратный вызов HTTP: HTTP POST, который происходит, когда что-то происходит; простое уведомление о событии через HTTP POST.

Чтобы объяснить немного больше: иногда взаимодействие между приложениями в сети требует немедленной реакции на событие, в то время как решения для постоянных и непрерывных соединений в основном громоздки, требовательны и трудны в поддержке. В этом случае лучшее и простое решение — немедленный обратный вызов через HTTP (чаще всего POST).

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

Эта точная концепция называется WebHook. Он широко используется для:

  • получения данных в режиме реального времени;
  • получения данных и их передача;
  • обработки данных и предоставления ответа.

Это лучшее решение для взаимодействия клиента Telegram (приложение Telegram) с нашим проектом.

Часть кодирования

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

Основная задача: научить бота перевернуть послание.

Во-первых, создайте папку для нашего бот-проекта.

Во-вторых, создайте файл bot.py, чтобы сделать бутылочный сервер.

Далее мы разрабатываем bot.py

Давайте попробуем запустить наш сервер. Для этого откройте bash в папке вашего бота.

В результате вы должны увидеть что-то вроде этого.

Затем откройте новую вкладку. На следующей вкладке мы начнем ngrok./ngrok http <our_server_port>

После вы увидите что-то вроде этого:

Теперь давайте установим WebHook.

api. telegram. org/bot<your_token>/setWebHook?url=https://<your_ngrok_url.ngrok.io/

Примечание. Чтобы найти URL-адрес ngrok, необходимо запустить ngrok. Затем на экране, вы найдете URL (он выделен на нашем скриншоте). Этот URL вы используете в ссылке для настройки WebHook.

Ответ на переход по ссылке должен быть таким:

{«ok»:true,»result»:true,»description»:»Webhook was set»}

Давайте проверим, удалось ли вам настроить WebHook. Перейдите по этой ссылке, используя свой токен:

api. telegram. org/bot<your_token>/getWebhookInfo

Если все в порядке, вы увидите то же значение адреса ngrok перед ключом URL, которое указали при настройке.

Поздравляю, он жив!

Теперь нам нужно реализовать механизм запроса / ответа на сообщение.

По сути, наша конечная точка получает данные в формате json. Итак, обычно вы увидите сообщение с данными.

Это должно быть что-то подобное на вкладке консоли, где запущен сервер.

Более подробную информацию о параметрах можно найти в официальной документации Telegram.

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

Теперь мы уже подготовили ответ. Давайте отправим его боту Telegram.

Добавить комментарий

Ваш адрес email не будет опубликован.