Как сделать Телеграм бота автономным

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

Телеграм можно установить на компьютер https://tlgrm.ru/apps

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

А вот и нет. http://tele.click/ имя вашего бота и происходит переадресация. С компьютера можно перейти на телеграм софт. С телефона при переходе по такой ссылке, сразу открывается телеграм.

Рекомендую посмотреть интервью Павла Дурова — создатель сайта Вконтакте и мессенджер Телеграм.

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

Пишем TELEGRAM бота с ОПЛАТОЙ на Python

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

Гайд: как создать чат-бота
в Телеграме

Сегодня выигрывает тот бизнес, где клиент получает ответ на запрос быстро, четко и по существу. Рост популярности голосовых и текстовых ботов происходит по всем каналам. Особенно в этом преуспел Telegram: у площадки user-friendly интерфейс и развитое API для запуска ботов.

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

Артем Мельников, менеджер продукта

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

Эксперты Just AI

Артем Мельников

Артем Мельников
менеджер продукта

Екатерина Пойманова

Наталья Лаптиева
руководитель технической поддержки
Содержание

Этап № 1. Анализируем

Отдельный этап разработки – понять, для кого и ради чего нужен чат-бот. Ведь у вас появится полноценный онлайн-сотрудник с высочайшей производительностью. Боты могут развлекать, обучать, консультировать в чате, по телефону или в рассылке и все это в режиме 24/7.

Еще по теме:  Можно ли использовать Телеграмм без телефона

Чаще всего ботам поручают скучные и рутинные процессы. Например, банк напоминает клиентам о текущем платеже, а поликлиника оформляет визит врача на дом пациентам с острой болью. Определив бизнес-модель и функционал бота, вы сможете прописать его tone of voice и найти подходящую технологическую платформу.

Этап № 2. Выбираем решение

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

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

Наталья Лаптиева

Этап № 3. Пишем сценарий

Хороший сервис должен быть незаметен. С ботами эта логика действует как нигде еще. Разрабатывая сценарий, вы должны «думать как клиент». Чтобы этого добиться, нужно сформировать базу знаний клиентского опыта. Именно вы понимаете контекст и истинные потребности своих заказчиков.

Сценарий – это диалог между ботом и клиентом.

Пример сценария в редакторе Aimylogic

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

Готовые интенты — это заранее подготовленный список возможных реакций клиента, например, на приветствие или прощание.

Готовые интенты в Aimylogic

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

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

Артем Мельников
После того, как сценарий создан, можно переходить в Telegram.

Этап № 4. Публикуем бота

Если название не занято, BotFather сгенерирует боту ссылку и токен. С помощью токена вы сможете сменить имя /setname, добавить описание /setdescription и аватар /setuserpic. На этом же этапе подумайте, каких кнопок с командами не хватает вашему боту. Для их создания нужно зайти в раздел «Настроить гл. меню».

Еще по теме:  Где в Телеграмме находится раздел инстурменты

Токен – уникальный ключ, который используется для доступа к Bot API.

Когда токен получен, нужно перейти в настройки каналов в том продукте, который вы используйте. Например, в Aimylogic – это раздел «Каналы». Там нужно выбрать Telegram, в поле токен вставляется код, полученный в мессенджере. Если все сделано правильно, индикатор загорится зеленым — наш бот опубликован.

Теперь можно перейти в приложение Telegram и протестировать его работу.

Раздел «Каналы» в Aimylogic

Очень полезно проводить демо-тестирование или запускать бета-версию на небольшой круг клиентов. Вы сможете оценить, какой путь проходит пользователь, и насколько бот помогает ему в решении проблем. Используя эти знания, уже можно отправляться в «большое плавание»

Наталия Лаптева

Этап № 5. Оцениваем эффективность

Архитектура бота для Telegram

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

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

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

Облачное решение

Запуск бота на своем сервере

Для запуска CodeX.bot вам потребуется выполнить следующие действия:

  • установить дополнительные библиотеки для языка Python
  • клонировать наш репозиторий с кодом бота
  • зарегистрировать нового бота в Telegram
  • отредактировать файл конфигурации

Установка дополнительных библиотек

CodeX.bot написан на языке Python с использованием некоторых дополнительных библиотек. Вам нужно установить их, прежде чем начать работу:

Клонирование репозитория с кодом

Клонировать репозиторий CodeX.bot можно выполнив команду:

git clone [email protected]:codex-team/codex.bot.git

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

Конфигурация

Теперь вам необходимо настроить конфигурацию системы. Для этого переименуйте директорию local.sample в local и отредактируйте содержимое файла config.py в соответствии с вашими предпочтениями:

SERVER_HOST — адрес вашего сервера. Если вы пользуетесь прокси ngrok, он будет выглядеть приблизительно так: ‘http://9b812f5d.ngrok.io’. LOCAL_SERVER_PORT — порт, на котором будет запущен ваш локальный сервер. LOGS_FILENAME — адрес файла для логов. По умолчанию равен ‘logs/logs.log’. SSL_CERTIFICATE — содержимое SSL сертификата сервера. По уполчанию равен None. API_TOKEN — токен вашего Telegram бота через которого будет работать система. TELEGRAM_CALLBACK_URL — адрес, по которому CodeX.bot будет обрабатывать все сообщения от Telegram. Например: ‘https://9b812f5d.ngrok.io/telegramcallback’.

Еще по теме:  Есть ли в Телеграмме стоит русский язык на все на английском что делать

Установка Telegram Webhook

Telegram позволяет установить webhook для ботов. Это нужно для того, чтобы при каждом сообщении, отправленном в чат с ботом, Telegram устанавливал соединение с вашим сервером и передавал ему JSON с текстом и сервисной информацией. Поскольку Telegram работает только по протоколу HTTPS, вам понадобится SSL сертификат. Если у вас есть доверенный сертификат, то ничего дополнительно настраивать не придется, в случае использования самоподписанного сертификата, его нужно будет отправить при установке вебхука.

Сгенерировать сертификат можно следующей командой:

openssl req -new -x509 -nodes -newkey rsa:1024 -keyout server.key -out server.crt

Далее, openssl предложит вам заполнить несколько полей информации, важно указать поле FQDN равное адресу хоста-callback’а.

Для установки вебхука можно воспользоваться пакетом python-telegram-bot для Python.

import telegram TOKEN = » HOST = » # Параметр FQDN сертификата должен совпадать с данным адресом PORT = 8443 CERT = ‘path/to/ssl/server.crt’ bot = telegram.Bot(TOKEN) bot.setWebhook(webhook_url=’https://%s:%s/%s’ % (HOST, PORT, TOKEN), certificate=open(CERT, ‘rb’))

К счастью, CodeX.bot сделает установку вебхука за вас, если в настройках ему передать соответствующий параметр. Например:

SSL_CERTIFICATE = open(«/path/to/ssl/server.crt», ‘rb’)

Структура файловой системы

В файле local/db.py содержатся настройки базы данных, где CodeX.bot хранит всю необходимую информацию. По умолчанию у вас будет использоваться SQLite.

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

  • send_to_chat — отправка сообщений в Telegram чат.
  • generate_hash — генерация уникальных идентификаторов для пользователей и чатов.
  • bgcolors — для вывода отладочной информации в консоль.

В файле main.py содержится код запуска системы. Запуск выполняется в следующем порядке:

  • Подключение файла вывода логов.
  • Установка вашего сервера в качестве webhook для Telegram бота.
  • Загрузка плагинов, описанных в глобальной конфигурации.
  • Запуск веб-сервера, получающего оповещения от Telegram бота.

В файле modules/core/server.py находится код веб-сервера, который обрабатывает сообщения от Telegram и передает их нужным плагинам, вызывая у них метод telegram_command:

Разработчик плагина сам устанавливает какие команды обрабатывать. Например, модуль ответственный за Github оповещения принимает команду /github_start примерно так:

def telegram_command(self, message): if ‘/github_start’ in message.text: .

Плагин может самостоятельно принимать оповещения от сторонних сервисов в специальном методе set_rules:

def __init__(self): self.module_name = ‘github’ self.uri_prefix = ‘/github’ def set_rules(self, app): app.add_url_rule(‘%s/test’ % self.uri_prefix, ‘%s_test’ % self.module_name, test) app.add_url_rule(‘%s/’ % self.uri_prefix, ‘%s_callback’ % self.module_name, callback, methods=[«POST»])

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

If you like this article, share a link with your friends

Read more

We talk about interesting technologies and share our experience of using them.

Источник: codex.so

Рейтинг
( Пока оценок нет )
Загрузка ...