Бот для ТГ для быстрых ответов

В данной статье мы напишем 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

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

38 полезных ботов для Telegram

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

cover.42-5ff45f91d9791756618639.jpg

Telegram стал не просто мессенджером, а персональным ассистентом. Теперь он помогает не ошибаться в текстах, настроить автопостинг в Instagram, установить таймер, перевести деньги и выучить новые слова на английском.

Делимся полезными телеграм-ботами, с которыми проще жить.

Работа с текстом

#1. Markdown — бот в телеграме, который позволяет добавить ссылку в текст, выделить курсивом или жирным, сделать разметку при постинге с телефона.

#2. Тарас — бот, который автоматически конвертирует аудиосообщения в текст.

#3. Babelgram — может автоматически переводить ваши сообщения в групповом чате или приватном разговоре.

#4. Telegraph — помогает управлять своими статьями и получать статистику просмотров страниц.

Работа с соцсетями

#5. Controller Bot — помогает создавать отложенные посты, формировать статистику по подписчикам и много другого. Фактически это ваш бесплатный ассистент.

#6. LikeBot — позволяет прикреплять к контенту эмодзи-реакции.

#7. Stickers — официальный бот Telegram по созданию стикеров. Нужно выбрать имя стикерпака, загрузить фото с прозрачным фоном в формате PNG 512*512 и определить, к какому эмодзи это изображение прикрепить.

#8. Group Butler — бот может удалять и банить пользователей за флуд, несоблюдение правил сообщества, неприемлемую лексику и другое.

#9. Sticker Downloader — с его помощью можно скачать любой статичный стикер в формате png или jpeg.

#10. ImageBot — создает гифки из присланных ему изображений.

#11. URL Shortener — сокращает URL-адрес с помощью Google и Bitly.

#12. Quiz Bot — бот, который поможет создать лид-магнит, тест, викторину, дополнение к продукту в Телеграме.

Боты для продуктивности

#13. Pomodoro Bot — работает по технике управления временем Помодоро. Просто выберите, на какой срок вам нужно сконцентрироваться, и бот пришлет сообщение, когда придет время отдыха.

#14. Alert Bot — планировщик. Введите время и событие, о котором нужно напомнить, и бот пришлет оповещение.

#15. Evernote — бот от Evernote, с помощью которого можно добавлять в свой блокнот текст, фото, файлы, аудиосообщения и локацию.

#16. Trello – создавайте карточки Trello, не выходя из Telegram.

Боты для поиска работы

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

#18. Jobs Bot — возможность присоединиться к команде Телеграм, бот показывает вакансии и принимает заявки кандидатов.

Еще по теме:  Узнать номер телефона в ВК по id Телеграм

#19. JobPoint — помогает найти работу и кандидатов в нужной географической точке.

#20. robota.ua — чат-бот поможет найти удаленную работу, подписаться на новые вакансии по выбранным параметрам поиска или отыскать вакансии за границей.

HR и рекрутинг

Екатерина Губарева
ex-AVP Global Logic

Узнать больше
HR и рекрутинг

«Управление командой в бизнесе»

Лариса Стирская
Эксперт с 10-летним опытом в сфере управления талантами

Узнать больше

Финансовые боты

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

Боты для обучения

#22. Andy English Bot — помогает практиковаться в английском языке в процессе переписки.

#23. Wolfram Alpha — позволяет вычислять алгоритмы и пользоваться базой знаний Wolfram Alpha прямо в Telegram.

#24. Quiz from Panda — англоязычная викторина, в которой более 2 тыс. вопросов по разной тематике: от географии и литературы — до кулинарии и искусства.

Развлечения

#25. GameBot — бот, который позволяет играть с друзьями в мини-игры. Просто нажмите «Играть с друзьями», затем выберите чат и игру.

#26. Chat Wars — фэнтези-игра со средневековым сюжетом. Главное событие игры — битва семи замков, которая происходит каждые 8 часов. В боях герои награждаются баллами опыта и золотом.

#27. Gamee — внушительное количество мини-игр, собранных в одном месте. Можно играть в одиночку или с друзьями.

#28. Tic Tac Toe Bot — любимые многими крестики-нолики в Телеграме.

Весь бизнес-контент в удобном формате. Интервью, кейсы, лайфхаки корп. мира — в нашем телеграм-канале. Присоединяйтесь!

Другое

#29. Manybot — с его помощью можно создать своего бота. Функции: присылать сообщения подписчикам, создавать кастомные команды, меню и подменю, автопостить с RSS, Twitter, VK и YouTube, настраивать формы заказа и фидбека.

#30. Wikipedia Search — поиск по «Википедии».

#31. OpenDataUA — сервис мониторинга открытых данных. Ищет информацию в государственных реестрах по коду ЕГРПОУ, названию компании, ФИО и номеру автомобиля.

#33. AirTrack — ищет самые дешевые авиабилеты, отслеживает их стоимость и сообщает в случае изменения цены.

#34. Eddy Travels — помогает клиентам искать самые доступные отели и авиарейсы во время поездки. Бот также может помочь с поиском лучших туристических направлений.

#35. File Converter — позволяет легко конвертировать файлы из одного формата в другой. Он работает с изображениями, аудиофайлами и видео.

#36. Gmail bot — позволяет получать, управлять и отвечать на электронные письма в Telegram.

#37. GitHub — бот подключается к вашему репозиторию и оповещает о разных событиях в нем, а также позволяет отвечать на комментарии, не выходя из Telegram.

#38. Map Bot — может отправлять карты с openstreetmap и спутниковые изображения по названию локации.

Источник: l-a-b-a.com

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