как узнать команды бота telegram
Команды для ботов в телеграм
Вспомогательные программы-боты являются одним из ключевых достоинств мессенджера Telegram. О том, что это такое и какие возможности с их помощью открываются перед человеком мы писали в предыдущих статьях. Часть из них имеет встроенное меню с набором кнопок-команд. Если таковое отсутствует, пользователю необходимо знать команды телеграм бота, чтобы успешно с ним взаимодействовать.
Основной набор
Существует несколько стандартных сообщений-запросов, понятных каждой программе. Это:
Дополнительный набор
Помимо стандартных команд-сообщений для каждого робота существуют еще и собственные, написанные для работы с ним. Знать, где взять список команд для бота в мессенджере Телеграм, нужно каждому пользователю для того, чтобы использовать его возможности.
Во-первых, получить нужную информацию можно, отправив «/help» роботу. В ответ он предоставит краткие сведения о себе, а также перечень запросов, которые понимает.
Во-вторых, этот список появится после написания косой черты «/» в диалоговом окне.
Следует знать, что запросы имеют ряд требований:
Итак, для того, чтобы воспользоваться функциями, предоставляемыми роботом, необходимо оправить «/help» или набрать «/» в текстовой строке, чтобы узнать команды, которые будут понятны программе.
Команды в Телеграмме для управления ботами
Роботы (боты, чат-боты) – это автоматизированные аккаунты, упрощающие решение многих задач при работе с мессенджером. Выражаясь простым языком, робот – это маленький помощник, готовый беспрекословно выполнять команды в Телеграмме, которые ему задал пользователь. Освоив данную функцию, можно создать целую армию ассистентов для решения самых разных задач, среди которых переводы текстов, комментарии, обучение, поиск информации, ответы на вопросы, игры, развлечения и многое другое. Например, бот может сутра предлагать подборку свежих новостей, а вечером рекомендовать просмотр интересного фильма, или выполнять роль соперника в шашках, шахматах, домино и других многопользовательских играх.
Для реализации подобных функций боты используют те же интерфейсы, что и реальные пользователи. При этом общение с ними в Telegram осуществляется посредством стандартных чатов, поэтому установка дополнительного программного обеспечения не требуется.
Синтаксис для общения с роботами
Начать работу с конкретным чат-ботом достаточно просто. Для этого необходимо:
Чат-боты могут распознавать некоторые стандартные фразы, однако для более гибкого управления существует список команд в Телеграмме, которые имеют следующий синтаксис:
/функция [аргумент]
Косая черта «/» является обязательным символом и всегда располагается вначале кода, общая длина которого не должна превышать 32 знаков.
Необходимо понимать, что у разных чат-ботов могут быть разные разработчики, поэтому и коды, которые они распознают, как правило, отличаются. Чтобы определить функционал бота, в личной переписке нужно ввести символ «/», после чего пользователю предоставится список поддерживаемых команд и их описание.
Для общения с роботами используйте команды в Телеграмме
Как работать с роботами на примере Sberometer
Бот Sberometer (@SberometerBot) может показывать биржевые и официальные курсы валют, текущую цену на нефть и золото, а также новости с финансовых и энергетических рынков. Для получения интересующей информации нужно выполнить следующие шаги:
Что бы узнать курс валюты используйте робота Sberometer
Основные команды в Телеграмме для создания ботов
Создание новых ботов и изменение настроек у старых осуществляется посредством самого главного из них – @BotFather. Начав с ним переписку, пользователь сразу же увидит в диалоговом окне командный список, позволяющий разработчикам выполнять следующие манипуляции:
Для создания ботов используйте основные команды в Телеграмме и бота @BotFather
Для создания чат-бота в диалоговом окне необходимо ввести /newbot. После этого BotFather спросит его полное имя (name), которое будет отображаться в чатах и контактах Telegram, и краткое имя (username), состоящее из латинских букв и заканчивающееся на «bot», например image_bot.
Глобальные команды
Как отмечалось выше, каждый бот в Телеграмме обладает уникальным функционалом, позволяющим выполнять те или иные задачи. Вместе с тем, существует ряд простых команд, которые распознаются практически всеми роботизированными аккаунтами:
В настоящий момент назвать точное число роботов в Telegram практически невозможно. Основатель сервиса Павел Дуров предоставил возможность всем желающим создавать подобные помощники для реализации самых разных задач, поэтому их количество постоянно растет. При правильной работе с чат-ботами они становятся мощным организационным ресурсом, позволяющим автоматизировать выполнение повторяющихся действий.
Глобальные команды для ботов в мессенджере
Боты: информация для разработчиков
Боты — специальные аккаунты в Telegram, созданные для того, чтобы автоматически обрабатывать и отправлять сообщения. Пользователи могут взаимодействовать с ботами при помощи сообщений, отправляемых через обычные или групповые чаты. Логика бота контролируется при помощи HTTPS запросов к нашему API для ботов.
Общие сведения
Что могут делать боты?
Вот несколько примеров использования ботов:
Как работают боты?
Как уже было сказано ранее, роботы — особые аккаунты, которые не требуют номера телефона при создании. По сути, эти аккаунты играют роль интерфейса к вашему сервису, который работает на удалённом сервере.
Самое интересное в роботах это то, что для их создания вам не нужно изучать низкоуровневые методы работы с MTProto и шифрованием — общение с роботом организовано при помощи обычного HTTPS интерфейса с упрощёнными методами Telegram API. Мы назвали его Bot API.
Рекомендуем также ознакомиться с подробным описанием Bot API.
Как создать бота?
Для этого есть. Бот. Просто напишите пользователю @BotFather и следуйте его инструкциям. Как только вы создали бота и получили свой ключ (токен) авторизации, переходите в раздел документации Bot API, чтобы начать настраивать вашего бота.
Чем бот отличается от обычного аккаунта?
Суперспособности
У роботов Telegram есть много уникальных возможностей — например, кастомизированные клавиатуры, дополнительные интерфейсы для команд по умолчанию, внешнее связывание и специальные режимы приватности для групп.
Инлайн-режим
Пользователи могут общаться с вашим ботом напрямую из поля ввода сообщения — из любого чата или группы. Для этого нужно всего лишь набрать имя пользователя вашего бота и запрос для поиска. Получив запрос, бот может возвратить какие-либо результаты. Как только пользователь нажмёт на один из них, он сразу же отправится в чат. Таким образом можно запрашивать контент от бота в чатах, группах или каналах.
С помощью ботов пользователи могут играть в HTML5-игры в группах или приватных чатах. Игровая платформа Telegram поможет составить таблицу рекордов и оповещать пользователей об изменении рейтинга.
Под капотом у игр — HTML5, поэтому вы можете создавать игры любой сложности. На данный момент командой Telegram созданы несколько демо-игр:
Клавиатуры
Одна из самых необычных возможностей Bot API — кастомизированные клавиатуры. При передаче сервером ответа есть возможность передать команду на отображение специальной клавиатуры с предустановленными вариантами ответа (см. ReplyKeyboardMarkup). Клиент Telegram, получив сообщение, отобразит пользователю вашу клавиатуру. Нажатие на клавишу сразу же отправит на сервер соответствующую команду. Таким образом можно значительно упростить взаимодействие робота с пользователем. На данный момент для отображения на клавише могут использоваться эмодзи и текст. Вот несколько примеров таких клавиатур:
За более подробной информацией обращайтесь к описанию метода sendMessage.
Команды
Команды представляют собой более гибкий способ общения с ботом. Рекомендуется следующий синтаксис:
Команда должна начинаться с символа косой черты «/» и не может быть длиннее 32 символов. Команды могут состоять из букв латинского алфавита, цифр и подчёркивания. Несколько примеров:
Сообщения, начинающиеся с косой черты, будут всегда доставляться боту (точно также, как и при ответе на его сообщения и на @упоминания бота в чате). Приложения Telegram будут:
Если в группе есть несколько ботов, вы можете дописать после команды имя бота, чтобы избежать коллизий в общих командах:
Это происходит автоматически, если вы выбираете команду из списка доступных.
Глобальные команды
Чтобы пользователям было проще работать с ботами, мы просим всех разработчиков реализовывать поддержку нескольких простых команд. В интерфейсе приложений Telegram будут ярлыки (быстрые ссылки) для этих команд.
При попытке начать общение с роботом, пользователь увидит кнопку СТАРТ. На странице профиля бота также будут доступны ссылки Помощь и Настройки.
Режим приватности
Ботов часто добавляют в группы, чтобы получать различную информацию — новости, уведомления и т.д. Однако, при добавлении бота вы наверняка спрашивали себя: «А что если этот маленький засранец пересылает всю групповую переписку куда-то “налево”?» Именно поэтому у роботов есть режимы приватности.
Робот с включенным режимом приватности не будет получать всех сообщений, а только сообщения, удовлетворяющие этим условиям:
Это хорошо со всех сторон: во первых, некоторые люди будут спать спокойно (в своих шапочках из фольги), не опасаясь, что их будут прослушивать. Во-вторых, режим приватности избавляет разработчиков от необходимости обрабатывать сотни ненужных сообщений из групповых чатов.
Мы рекомендуем отключать режим приватности только в случаях крайней необходимости. В подавляющем большинстве случаев, запроса принудительного ответа на сообщение бота будет достаточно.
Внешнее связывание
Боты имеют механизм внешнего связывания, которые позволяет передать дополнительные параметры при запуске. Например, для передачи авторизационного токена пользователя, чтобы соединить его аккаунт с каким-либо внешним сервисом.
Переход по ссылке с параметром start начнет чат с ботом, при этом в поле ввода текста будет отображаться кнопка СТАРТ. При переходе по ссылке с параметром startgroup пользователю будет предложено добавить бота в одну из доступных групп. Как только пользователь подтвердит своё действие (нажмёт на кнопку СТАРТ или выберет группу), бот получит сообщение следующего формата:
Пример реализации внешнего связывания
BotFather
BotFather — один бот, чтобы править всеми. При помощи него меняются настройки у существующих ботов и создаются новые.
Создание бота
Имя (name) будет отображаться в контактах и чатах.
Username — короткое имя на латинице, которое используется для упоминаний бота и в ссылках на профиль в telegram.me. Username должен состоять из букв латинского алфавита, подчёркиваний и цифр и быть длиной от 5 до 32 символов. Также имя пользователя обязательно должно заканчиваться на «bot», например: «tetris_bot» или «TetrisBot».
Создание токена
Настройки
Пожалуйста, имейте в виду, что для применения настроек на сервере, возможно, потребуется некоторое время.
Сайт про Telegram на русском (неофициальный).
Здесь собраны приложения на базе MTProto, переведена некоторая документация с официального сайта, а также работает Webogram.
Инструкция: Как создавать ботов в Telegram
24 июня разработчики Telegram открыли платформу для создания ботов. Новость кого-то обошла стороной Хабр, однако многие уже начали разрабатывать викторины. При этом мало где указаны хоть какие-то примеры работающих ботов.
Прежде всего, бот для Telegram — это по-прежнему приложение, запущенное на вашей стороне и осуществляющее запросы к Telegram Bot API. Причем API довольное простое — бот обращается на определенный URL с параметрами, а Telegram отвечает JSON объектом.
Рассмотрим API на примере создания тривиального бота:
1. Регистрация
Прежде чем начинать разработку, бота необходимо зарегистрировать и получить его уникальный id, являющийся одновременно и токеном. Для этого в Telegram существует специальный бот — @BotFather.
Пишем ему /start и получаем список всех его команд.
Первая и главная — /newbot — отправляем ему и бот просит придумать имя нашему новому боту. Единственное ограничение на имя — оно должно оканчиваться на «bot». В случае успеха BotFather возвращает токен бота и ссылку для быстрого добавления бота в контакты, иначе придется поломать голову над именем.
Для начала работы этого уже достаточно. Особо педантичные могут уже здесь присвоить боту аватар, описание и приветственное сообщение.
Не забудьте проверить полученный токен с помощью ссылки /getMe»>api.telegram.org/bot /getMe, говорят, не всегда работает с первого раза.
2. Программирование
Создавать бота буду на Python3, однако благодаря адекватности этого языка алгоритмы легко переносятся на любой другой.
Telegram позволяет не делать выгрузку сообщений вручную, а поставить webHook, и тогда они сами будут присылать каждое сообщение. Для Python, чтобы не заморачиваться с cgi и потоками, удобно использовать какой-нибудь реактор, поэтому я для реализации выбрал tornado.web. (для GAE удобно использовать связку Python2+Flask)
Здесь мы при запуске бота устанавливаем вебхук на наш адрес и отлавливаем сигнал выхода, чтобы вернуть поведение с ручной выгрузкой событий.
Приложение торнадо для обработки запросов принимает класс tornado.web.RequestHandler, в котором и будет логика бота.
Здесь CMD — словарь доступных команд, а send_reply — функция отправки ответа, которая на вход принимает уже сформированный объект Message.
Собственно, её код довольно прост:
Теперь, когда вся логика бота описана можно начать придумывать ему команды.
3. Команды
Перво-наперво, необходимо соблюсти соглашение Telegram и научить бота двум командам: /start и /help:
Структура message[‘from’] — это объект типа User, она предоставляет боту информацию как id пользователя, так и его имя. Для ответов же полезнее использовать message[‘chat’][‘id’] — в случае личного общения там будет User, а в случае чата — id чата. В противном случае можно получить ситуацию, когда пользователь пишет в чат, а бот отвечает в личку.
Команда /start без параметров предназначена для вывода информации о боте, а с параметрами — для идентификации. Полезно её использовать для действий, требующих авторизации.
После этого можно добавить какую-нибудь свою команду, например, /base64:
Для пользователей мобильного Telegram, будет полезно сказать @BotFather, какие команды принимает наш бот:
I: /setcommands
BotFather : Choose a bot to change the list of commands.
I: @******_bot
BotFather: OK. Send me a list of commands for your bot. Please use this format:
C таким описанием, если пользователь наберет /, Telegram услужливо покажет список всех доступных команд.
4. Свобода
Как можно было заметить, Telegram присылает сообщение целиком, а не разбитое, и ограничение на то, что команды начинаются со слеша — только для удобства мобильных пользователей. Благодаря этому можно научить бота немного говорить по-человечески.
UPD: Как верно подсказали, такое пройдет только при личном общении. В чатах боту доставляются только сообщения, начинающиеся с команды (/ ) (https://core.telegram.org/bots#privacy-mode)
Чтобы бот получал все сообщения в группах пишем @BotFather команду /setprivacy и выключаем приватность.
Для начала в Handler добавляем обработчик:
А потом в список команд добавляем псевдо-речь:
Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map — удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.
5. Не текст.
Боты, как и любой нормальный пользователь Telegram, могут не только писать сообщения, но и делиться картинками, музыкой, стикерами.
Для примера расширим словарь RESPONSES:
И будем отлавливать текст :
Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:
И все, теперь бот будет время от времени присылать стикер вместо времени:
6. Возможности
Благодаря удобству API и быстрому старту боты Telegram могут стать хорошей платформой для автоматизации своих действий, настройки уведомлений, создания викторин и task-based соревнований (CTF, DozoR и прочие).
Вспоминая статью про умный дом, могу сказать, что теперь извращений меньше, а работа прозрачнее.
7. Ограничения
К сожалению, на данный момент существует ограничение на использование webHook — он работает только по https и только с валидным сертификатом, что, например для меня пока критично за счет отсутствия поддержки сертифицирующими центрами динамических днс.
К счастью, Telegram также умеет работать и по ручному обновлению, поэтому не меняя кода можно создать еще одну службу Puller, которая будет выкачивать их и слать на локальный адрес:
P.S. По пункту 7 нашел удобное решение — размещение бота не у себя, а на heroku, благо все имена вида *.herokuapp.com защищены их собственным сертификатом.
UPD: Telegram улучшили Бот Апи, из-за чего, теперь не обязательно иметь отдельную функцию для отправки сообщений при установленном вебхуке, а в ответ на POST запрос можно отвечать тем же сформированным JSON с ответным сообщением, где одно из полей устанавливается как ч ‘method’: ‘sendMessage’ (или любой другой метод, используемый ботом).
Производим различные действия с ботами: простые ответы на популярные вопросы
Мессенджер Telegram отличается от своих аналогов. Несмотря на то, что основная функция – это обмен сообщениями, он является дополнительной площадкой для ведения бизнеса. Боты отлично справляются с ролью продавцов, консультантов и администраторов, написать боту в Телеграм также просто, как и любому пользователю мессенджера.
Бот – это программа, которая выполняет определённые действия с целью упростить пользователям работу с мессенджером. Боты могут оповещать о погодных изменениях, автомобильных пробках, колебании курса валют. Они могут выполнять работу администратора канала или чата, быть посредниками между покупателем и продавцом, решать математические задачи или переводить текст на иностранный язык. Бот – очень важный инструмент, который можно создать с определённой целью.
Наиболее частые операции при работе с ботами
Ниже будут описаны несложные действия, которые наиболее часто приходится выполнять в работе с Телеграм-помощниками. Приложения Telegram для смартфонов, так же как и для ПК не имеют серьёзных отличий друг от друга. Поэтому рекомендации актуальны как для айфонов, так и для смартфонов на андроид, персональных компьютеров и других устройств, поддерживающих мессенджер.
Написать и добавить в контакты (подписаться)
Для того чтобы это сделать, необходимо знать адрес. Он начинается со знака «@», что актуально для внутренних ссылок, или, https://t.me/, вариант для внешних ссылок. После идёт имя бота, выглядит это следующим образом: @BotBoobot или https://t.me/BotBoobot. Нужно обратить внимание на важную деталь – адрес бота всегда имеет окончание «bot». Адрес можно узнать в информационном окне бота (рис. 3).
Рисунок 1. Поиск и начало диалога с ботом.
Отписаться от бота
Это не сложно, достаточно продолжительного нажатия (смартфон) или клика правой кнопкой мыши (компьютер) на имя бота в списке контактов. В меню выбрать команду «delete conversation», или «удалить и остановить».
Рисунок 2. Как отписаться на смартфоне и ПК.
Сделать ссылку на бота
Как было сказано, все адреса в мессенджере начинаются на «@» или https://t.me/. Чтобы сделать ссылку внутри Telegram достаточно написать @BotFather, для внешней ссылки нужно указывать полный адрес – https://t.me/BotFather
Рисунок 3. Адреса бота, которые являются ссылками на него.
Работа с BotFather, создателем и редактором ботов
Этот конструктор играет важную роль в жизни всех ботов Telegram. Он имеет все основные функции, среди которых:
Редактирование
Под редактированием подразумевается изменение информации. За эти операции отвечает раздел «Edit Bots». Например, чтобы изменить имя бота нужно ввести команду /setname. Далее выбрать нужного бота из предложенного списка и ввести новое имя.
Рисунок 4. Как переименовать бота.
Что можно делать с ботами в Телеграм. Если вы знаете команды Edit bots, то вы сможете производить с ботами Telegram любые действия. Менять им имя и описание.
При помощи команд раздела Edit Bots можно отредактировать:
Настройки ботов Телеграм, используем редактор
Редактор ботов позволяет корректировать настройки помощника при помощи команд раздела Bot Settings. Telegram использует протоколы для социальных сетей, поэтому уникальный id необходим каждому пользователю, боту, чату или каналу для его корректной идентификации. Id, он же токен, генерируется одновременно с созданием бота.
Рисунок 5. Как узнать токен бота.
Что входит в раздел Bot Settings:
Боты для автопостинга
Эта категория одна из самых популярных и востребованных. Ботов, выполняющих такую функцию, часто назначают администраторами в каналы для автопостинга сообщений или репостинга записей из других источников. Часто подобные помощники создаются индивидуально для определённых целей, но есть и готовые, которых можно настроить под свои нужды.
Бесплатные боты для автопостинга, как запланированных постов, так и репостов записей из соцсетей:
Рисунок 6. @ControllerBot, помогает создавать отложенные посты.
Боты для оплаты услуг, продавцы
При помощи нажатия на несколько кнопок, в Telegram можно оплатить услуги такси, заказать пиццу или купить пару туфель. Боты могут принимать платежи от пользователей мессенджера по всему миру.
Как заплатить
Для того чтобы разобраться в работе ботов для оплаты, можно начать диалог с @ShopBot. Это своего рода тренажёр, который на примере продаж несуществующих машин времени позволяет разобраться со всеми возможными функциями. На перевод денег он не отвечает, но в остальном функционирует как полноценный продавец.
Рисунок 7. Покупка машины времени через @ShopBot.
Как проверить оплату
В мессенджере нет такой функции, так как после нажатия на кнопку «заплатить» пользователь переходит на сайт выбранной платёжной системы. Сам мессенджер платежи не принимает, он является посредником между двумя сторонами и не взимает комиссию за осуществление API платежей.
Являясь открытой платформой, Telegram позволяет разработчикам ботов внедрять необходимый интерфейс и добавлять одну или несколько платёжных систем, работающих с мессенджером.
Возможные проблемы
Проблемы при работе с ботами встречаются часто, в основном это связано с прекращением их деятельности или переездом на другой адрес. Мессенджер работу ботов не контролирует, так как они являются продуктами, создаваемыми одними пользователями для других пользователей.
Наиболее частыми проблемами являются: