Бот в ТГ пишешь вопрос и он на него отвечает

В данной статье мы напишем telegram bot на python, который сможет отвечать на наши сообщения, взаимодействовать с нами, предлагая варианты ответов в виде кнопок и обрабатывать выбранный нами результат, выполняя команды на сервере. Взаимодействовать с Telegram Bot Api мы будем с помощью библиотеки pyTelegramBotAPI (telebot) написанной на Python.

  1. Создание бота
  2. Установка Python и библиотеки pyTelegramBotAPI
  3. Пишем Telegram Bot на Python
  4. Использование прокси в telebot
  5. Ответы бота на сообщения пользователя
  6. Клавиатура в Telegram Bot API
  7. InLine клавиатура
  8. Конечный листинг

Создание бота

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

Telegram BotFather

Обратите внимание на его имя, изображение и знак в виде галочки, говорящий о том, что это действительно отец всех ботов.

Выберите его и в диалоговом окне напишите команду /start и бот в ответном сообщение пришлет список всех доступных команд:

telegram botfather start

Нас интересует создание нового бота, поэтому выбираем команду /newbot. Команду можно как напечатать самостоятельно, так и выбрать мышью в сообщении и она автоматически отправится:

telegram newbot

Первым шагом нам предлагают дать имя новому боту, оно может быть произвольным. Мы назовем его PocketAdmin:

telegram name bot

Теперь требуется указать идентификатор бота (username), он должен заканчиваться на _bot и быть уникальным в системе. Мы укажем PocketAdminTech_bot:

telegram token bot

На этом создание бота завершено. В последнем сообщении нам пришла ссылка на нашего нового бота t.me/PocketAdminTech_bot и токен (закрашен), необходимый для взаимодействия с API.

Обязательно сохраните токен и храните его в тайне!

Установка Python и библиотеки pyTelegramBotAPI

Скачать Python можно с официального сайта (как установить пакет на Centos 8 можно ознакомиться в данной заметке) и мы не будем заострять внимание на данном вопросе.

Чтобы установить пакет pyTelegramBotAPI воспользуемся pip:

pip install pytelegrambotapi

На этом подготовительная работа завершена, приступаем непосредственно к написанию нашего бота.

Пишем Telegram Bot на Python

Так как наш бот создается в ознакомительных целях и не будет содержать много кода, то писать я его буду сразу на сервере с установленной Centos 8 используя обычный редактор nano. Создадим файл bot.py, открыв его nano:

Еще по теме:  Как скинуть профиль Телеграмма на Айфоне

nano bot.py

Для начала импортируем библиотеку pyTelegramBotAPI:

import telebot

Затем зададим переменную token равную нашему токену, который мы получили от BotFather для взаимодействия с Telegram Bot Api:

token = ‘ваш token api’
bot = telebot.TeleBot(token)

Далее задается декоратор. Пока наш бот будет обрабатывать только команду start:

и в ответ писать нам “Привет!”:

def start_message(message): bot.send_message(message.chat.id, ‘Привет!’)

Чтобы бот постоянно ожидал запрос от пользователя в конце пропишем:

bot.polling()

В итоге мы получим код:

python bot.py

Затем откроем нашего бота (можно найти по имени) и напишем ему команду /start:

telegram bot api start

Поздравлю с первыми словами нашего бота PocketAdmin!

Использование прокси в telebot

При запуске скрипта может появиться ошибка следующего вида:

requests.exceptions.ConnectionError: (‘Connection aborted.’, ConnectionResetError(104, ‘Connection reset by peer’))

Чтобы исправить её, можно попробовать подключиться через прокси:

Если при использовании прокси возникают ошибки, подобные: Not supported proxy scheme socks5 или Missing dependencies for SOCKS support, то необходимо установить модули:

pip install requests[socks] PySocks

Ответы бота на сообщения пользователя

Аналогично хэндлерам для команд, в telegram bot api есть возможность обрабатывать сообщения от пользователя. Для этого используется тип text. Например, мы можем запрограммировать бота отвечать на определенные фразы или слова пользователя:

Думаю тут все понятно. На слово “Привет” бот будет отвечать “Ещё раз привет!”, а на “Пока” – “Пока!”. Весь код нашего telegram bot на python теперь будет выглядеть следующим образом:

Перезапустим скрипт и пообщаемся с ботом:

telegram bot диалог

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

Клавиатура в Telegram Bot на Python

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

Добавим в обработчик команды /start клавиатуру с кнопками “Привет “и “Пока”:

И запустим измененный скрипт. Как только мы отправим боту команду /start у нас внизу появится наша клавиатура:

telegram bot api keyboard

Теперь для отправки сообщений достаточно лишь нажать на соответствующую кнопку. Это очень удобно в мобильной версии телеграма.

InLine клавиатура

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

Давайте добавим простой вопрос от бота на команду /test:

Переменная markup объявляет новую переменную с inline keyboard, а markup.add – создает отдельную кнопку. Основные параметры при создании кнопки – text и callback_data: первый отвечает за текст на кнопке, второй – данные, которые будут переданы боту при выборе пользователем определенного варианта ответа.

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

Запустим скрипт и напишем /test:

telegram bot api inline keyboard

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

bot.answer_callback_quer – это всплывающее окно, которое будет показано пользователю после нажатия кнопки. А в call.data будет передано значение, которое мы указывали при создании клавиатуры в параметре callback_data. Ответим боту, выбрав один из ответов:

telegram bot api inline keyboard answer

Отлично, все работает. Но будет лучше, если после ответа, клавиатура будет исчезать из чата. Это можно сделать добавив в конец функции query_handler следующую строку:

bot.edit_message_reply_markup(call.message.chat.id, call.message.message_id)

Это функция редактирования клавиатуры, вызванная без указания объекта клавиатуры. Теперь после ответа пользователя клавиатура будет убрана ботом:

telegram bot api remove inline keyboard

Конечный листинг телеграм бот на питоне

Что такое боты в Телеграме

197110, Россия, Санкт-Петербург, а/я 144, ООО «Юми» +7 (812) 309-68-23

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

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

Как работают боты в Телеграм - 1C-UMI

Условная классификация ботов в Телеграме

Все боты в этом мессенджере могут быть условно разделены на 5 категорий:

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

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

Боты-ассистенты в Телеграм

В основном создаются, чтобы имитировать живое общение. Допустим, кому-то скучно, и он хочет с кем-нибудь пообщаться, «убить» время. Этот человек может написать боту «Привет», спросить, как у него дела и всё в таком роде. Программа будет отвечать ему, как живой собеседник. Конечно, при условии, что эти вопросы предусмотрены разработчиком. В противном случае, бот ответит что-то вроде «Извините, я вас не понял».

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

Смысл таких ботов можно понять из названия. Это «роботы», которые дают пользователям возможность сыграть в одну или несколько игр.

Еще по теме:  Как поставить обложку на музыку в Телеграмме

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

Как взаимодействовать с ботами в Телеграме

Работа с ботами в Телеграм

После этого кликаем по найденному результату и жмем на кнопку «Запустить» в чате.

Запуск работы бота в Телеграм

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

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

Работа бота в Телеграм

После нажатия на кнопку бот пришлет соответствующую информацию прямо в чат.

Чат с ботом в Телеграм

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

Использование ботов в Телеграм

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

Существует несколько стандартных команд, которыми можно пользоваться почти везде:

  • /start — запускает бота.
  • /settings — открывает настройки бота.
  • /help — активирует инструкцию по использованию бота.

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

Можно ли найти применение Телеграм-ботам в бизнесе

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

Использование ботов Телеграм в бизнесеИспользование ботов Телеграм в бизнесе

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

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

Где находить готовых ботов для Телеграма

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

Сборник ботов, которые рассортированы по категориям.

Категории ботов в Телеграм

Каталог «роботов» по категориям и с функцией поиска.

Выбор категории ботов в Телеграм

Единый список ботов.

Список ботов в TelegramBots

Добавление бота в TelegramBots

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