Бот в Телеграм отвечающий на сообщения в группе

komandy-v-telegramme-dlya-upravleniya-botami

FAQ

На чтение 4 мин Просмотров 9к. Обновлено 18.07.2020

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

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

Livegrambot — все сообщения в одной группе/чате + рассылка. Telegram BOT/Телеграм бот.

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

Рекомендуем! MultiSetup

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

komandy-v-telegramme-dlya-upravleniya-botami

Правила ведения общения с ботами

Для того, чтобы Ваш персональный помощник смог Вам помочь, потребуется выполнить несколько необходимых шагов:

  • Введите его название полностью или частично в строку поиска и выберите подходящий вариант;
  • Выберите название бота, чтобы открыть окно общения с ним;
  • Начните личное общение с роботизированным помощником;

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

Первый символ «/» необходим для инициализации команды и является обязательным. Предусмотрено, что общая длина команды не может быть длиннее, чем 32 символа. Как упоминалось ранее, каждый разработчик бота может использовать различные команды. Если Вы желаете получить их полный перечень, то введите символ «/» и ожидайте несколько секунд — список команд появится над полем ввода сообщения.

Еще по теме:  Юпочес по щвонку в ТГ плохо слышно собеседника

Для работы с роботом в Телеграмм Вам следует использовать только задокументированные команды. Если Вы введете стороннюю фразу, то программа Вас попросту не поймет. Если Вы только что решили скачать Telegram на iPhone, то, возможно, Вам будет непросто разобраться в данном вопросе, однако вскоре Вам удастся понять принцип работы.

7 простых правил для управления группой в Telgram | Правило №1 — установите бота модератора в чат

Пример взаимодействия с ботом Sberometer

komandy-v-telegramme-dlya-upravleniya-botami

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

  • /kurs – показывает соотношение российского рубля и доллара/евро;
  • /gold – демонстрирует актуальную биржевую стоимость золота;
  • /oil – актуальная биржевая стоимость нефти;
  • /news [тема] – показывает три новостные ссылки на выбранную тему;

komandy-v-telegramme-dlya-upravleniya-botami

Главные команды при создании ботов в Телеграмм

Таким образом, после инициализации общения с данным ботом Вы можете использовать следующие команды для общения с ним:

  • /newbot – команда для создания нового бота;
  • /setname – изменение имени бота;
  • /setdescription – изменение описания для бота, которое будет доступно каждому пользователю;
  • /setabouttext – изменение краткой информации о текущем аккаунте;
  • /setuserpic – изменить основное изображение бота;
  • /setcommands – ввести перечень поддерживаемых команд при использовании символа «/»;
  • /setjoingroups – возможность «включать» бота в пользователей сторонней группы;
  • /deletebot – удалить существующий бот;

Часто используемые команды

Telegram Bot на Python 3

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

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

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