Как создать бота для Телеграм — подробная инструкция. Как самостоятельно создать бота в Телеграмм — пошаговая инструкция в картинках Написание телеграмм бота

💖 Нравится? Поделись с друзьями ссылкой

Добрый день, уважаемые читатели! С вами Алла Просюкова - финансовый эксперт журнала «ХитёрБобёр».

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

Мир не стоит на месте! И то, что ещё вчера казалось фантастичным, сегодня - обыденность. Мы не только стали активно пользоваться всем этим цифровым богатством, но и научились создавать несложных ботов своими руками.

Если вы всё ещё не попробовали себя в этом увлекательном и полезном деле, то моя новая статья придётся как нельзя кстати!

Ознакомившись с ней, вы :

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

Интересно? Тогда поехали!

1. Что такое боты в Telegram и что они могут делать

Предлагаю начать с определения, которое поможет сразу всё расставить по своим местам.

Бот (иногда его ещё называют чат-бот) - сокращенное название (от слова робот) специальных программ-помощников, выполняющих монотонные, рутинные, повторяющиеся задачи.

Функционал роботов разнообразен.

Они умеют:

  1. Проводить опросы.
  2. Доставлять информацию об обновлениях с сайта.
  3. Показывать новости по заданной пользователем тематике.
  4. Находить и скачивать любую информацию.
  5. Совершать рассылку.
  6. Управлять умным домом.
  7. Развлекать.
  8. Заниматься автопродажами.
  9. Обучать и т.п.

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

Пример

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

Оле не пришлось выходить из приложения, блуждать по интернету в поиске нужного варианта. Девушка воспользовалась @gifbot . Она направила в бот сообщение с указанием эмоции, которую должна выражать гифка. И вот через несколько секунд робот предложил ей на выбор несколько замечательных вариантов.

Telegram bot обладает неоспоримыми достоинствами:

  • круглосуточное функционирование;
  • быстрый ответ на запрос;
  • использование для работы сторонних серверов, что экономит мощности устройства его владельца;
  • безопасность (у робота отсутствует доступ к личной информации пользователя, он взаимодействует только с текстовыми сообщениями).

О том, читайте отдельную статью.

2. Как создать бота в Телеграм - пошаговая инструкция

Бот можно создать, зная язык программирования или абсолютно не владея им.

В первом случае программа пишется ручным способом программистом - как правило, на универсальном языке PHP. Во втором случае разработка ведётся пользователями, не обладающими профессиональными знаниями и навыками, с помощью специальных конструкторов, например, Manybot.

Моя пошаговая инструкция как раз для неспециалистов.

Шаг 1. В окно поиска вводим название бота

Заходим в Телеграм через приложение или веб-версию. Попав в мессенджер, вбиваем в поисковую строку слово Manybot. Из нескольких предложенных вариантов выбираем именно тот, который искали. На экране раскроется чат, внизу появится кнопка «Начать». Жмём её.

Шаг 2. Выбираем язык и нажимаем пункт “Добавить нового бота”

Шаг 3. Переходим на @BotFather и вводим команду newbot

Шаг 4. Вводим название аккаунта и техническое имя

После всех вышеописанных манипуляций придумываем имя для бота-новичка. Это может быть любое название, по вашему усмотрению. Если выбранное имя уже существует, на экране появится предупреждение. Подбирать придётся до тех пор, пока наименование не будет уникальным.

Допустим, мы создаём бота для подбора кулинарных рецептов из имеющихся у пользователя продуктов. Исходя из его предназначения, назовём новичка cook .

Используем подобранный ранее вариант имени, получаем ссылку cook_bot .

Шаг 5. Сохраняем API-токен и отправляем на @Manibot

BotFather выдаст API-токен в виде строчки с набором множества цифр и букв. Копируем её, после чего переходим обратно в @Manibot и отправляем скопированный токен в виде обычного сообщения.

Шаг 6. Вводим описание аккаунта

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

Пример

Вот какое описание я сделала для нашего кулинарного бота: «Подбор кулинарного рецепта по списку имеющихся у вас продуктов».

@Manibot позволяет пропустить шаг с описанием, отправив в сообщении команду /skip. Но я не рекомендую этого делать. Ведь описание - лицо бота, по которому его будут выбирать будущие подписчики.

Вот и всё! Ваш робот-помощник создан. Теперь его необходимо настроить. Отравляем сообщение «/commands», после чего откроется меню с вариантами настройки: «Создать команду» и «Настроить гл. меню».

Создать команду - прописать пользовательские команды, на которые робот будет реагировать. Например, для нашего cook создаем команду /rezept. Получив её, робот вышлет кулинарный рецепт под заданный продуктовый набор.

3. Обзор ТОП-3 конструкторов для создания ботов в Телеграмм

Ещё совсем недавно без программистов было невозможно не только сделать сайт или бота, но даже в стандартной установке/обновлении программ требовалась их помощь.

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

Это стало возможным c появлением онлайн-конструкторов. Я предлагаю вашему вниманию 3 сервиса для создания телеграмм-ботов.

Flow XO

Flow XO, пожалуй, самый серьёзный из всех представленных в обзоре сервисов для конструирования роботов. Он предназначен для создания и сопровождения умных программ для бизнес-процессов.

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

В арсенале конструктора имеются шаблоны готовых модулей.

Chatfuel

Это бесплатный бот-конструктор для Телеграмм и Фейсбук, простой в использовании, имеющий обширный функционал.

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

  1. National Geographic.
  2. TechCrunch.
  3. UBER.
  4. Forbs и т.д.

Востребованность Chatfuel подтверждается общим числом пользователей (более 15 млн.) и количеством созданных ботов (более 500 тыс.). Роботы, созданные на этой платформе, легко интегрируются в различные сервисы и сети: YouTube, Твиттер, Инстаграм и т.п.

Recast AI

И, наконец, последний конструктор из моего мини-обзора - Recast. AI. Разработчики позиционируют своё детище, как самый простой для понимания и обучения строитель ботов. На его начальное освоение требуется в среднем около 8 минут. Сервис работает на специально разработанной технологии распознавания естественного языка.

Конструктор имеет 2 тарифа: платный и бесплатный. Функционал обоих практически одинаков, основная разница лишь в том, что платный тариф предназначен для корпоративных клиентов.

Для наглядности основные характеристики сведены в сравнительную таблицу:

4. Полезные боты для бизнеса

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

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

Mirabellabot

Даже в самых маленьких фирмах чаще всего предусмотрена должность секретаря. Однако в век высоких технологий некоторый функционал нетрудно переложить на «плечи» mirabellabot - робота-секретарши.

Он без труда:

  • создаст список всех дел;
  • запомнит и сохранит необходимые ссылки;
  • напомнит о незаконченных делах/невыполненных задачах;
  • сохранит важные заметки.

Pravorubot

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

Выход из этой ситуации есть - телеграмм-бот Pravorubot. Здесь все желающие в течение 15 мин. получат ответы на свои юридические вопросы. Робот поможет найти юристов нужной специализации вблизи указанного пользователем местоположения.

При этом @Pravorubot неутомимо трудится круглосуточно, без праздников и выходных!

EGRUL_bot

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

Все юрлица и ИП должны проводить предварительную проверку своих будущих партнёров, в противном случае нарушителей ждут неприятности с налоговой вплоть до ликвидации фирмы.

Для этих целей будет весьма кстати EGRUL_bot. С его помощью вы быстро и легко запросите выписку из ЕГРЮЛ, узнаете данные об учредителях, а это как раз один из пунктов той самой обязательной проверки. Достаточно только сообщить ИНН или ОГРН проверяемого. Документ придёт в PDF-формате.

5. Можно ли заработать на ботах

Не только можно, но и нужно! В Телеграмм есть несколько способов для этого.

Вот только некоторые из них:

  1. Создание ботов под заказ.
  2. Участие в конкурсе для создателей программ-роботов от Павла Дурова.

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

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

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

Павел Дуров периодически проводит конкурс среди создателей ботов на получение грантов. Призовой фонд - 1 млн $ . Сумма каждого гранта не менее 25 тыс. дол . Сведения о событии размещаются в паблике мессенеджерв в ВКонтакте.

Основные требования к вновь создаваемым ботам:

  • быстродействие;
  • полезность;
  • функционирование на базе Телеграмм;
  • работа в inline-режиме.

Выбирайте наиболее подходящий для вас способ и начинайте зарабатывать!

6. Заключение

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

Вопрос к читателям:

Сподвигла ли вас полученная информация на создание своего телеграмм-бота?

Желаем вам успехов и процветания! Будем признательны за комментарии. Появились вопросы по теме? Задавайте, обязательно ответим!

Всем доброго дня. На связи снова Василий Блинов. Сегодня вы узнаете, как создать бота в Телеграмм. Я много писал про их полезные функции, теперь настал момент обзавестись собственным помощником.

Сейчас Телеграм очень востребован и его популярность растёт день ото дня. Не оставим мы без внимания и ботов для него.

Чем полезны?

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

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

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

Моя позволит познакомиться с ними поближе.

Способы создания

Написать код ручками

Для этого нужно знать языки программирования (Python, PHP или Java), а также есть ещё масса нюансов типа регистрации хостинга и прочего. Это может стать огромной проблемой для некоторых.

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

Воспользоваться специальным сервисом

Наш спаситель — Manybot.io.

Именно на нём я нашёл русский интерфейс, понятную инструкцию и нужный на первых этапах функционал. Роботы на этой платформе умеют:

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

Регистрация

Первым делом откроем @Manybot в мессенджере. Нажмём кнопку «Начать».

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

Кликаем «Добавить нового бота».

Следуем дальнейшим инструкциям. Нам нужно зарегистрироваться у @BotFather .

Введём команду /newbot.

Придумываем обычное и техническое имя с хвостиком bot . Самое важное — не забываем скопировать полученный ключ-токен.

Вернёмся к Manybot, покажем ему этот код, нажав «Я скопировал токен».

Придумаем описание.

Принимайте поздравления, регистрация завершена. Теперь вы полноправный владелец собственного робота Телеграм.

Настройка

Займёмся созданием меню и первых команд. Для этого нужно найти своего робота, для этого в поисковую строку вводим его имя. У меня это @iklife_bot.

Создаём простейшую команду

Весь принцип bota — это ответы на вопросы человека, поэтому нужно прописать команды и ответы на них.

Для этого вызовем меню настройки — /commands.

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

Дожидаемся сообщения об успешном создании команды.

Делаем меню

Гораздо удобнее, когда посетители могут быстро выбрать все команды прямо из меню. Для его создания опять вернёмся к /commands и далее «Настроить гл. меню».

Потом «Добавить пункт меню». Называем его, выбираем ранее созданную команду.

Пункт меню готов!

Проверяем, посмотрите, что получилось. Всё работает. Аналогично создаются и другие команды с пунктами меню.

Автопостинг

Главным достоинством @Manybot является мгновенная настройка автопостинга записей с сайта с RSS-лентой или из соц. сетей, или Ютуба прямо в чат. Таким образом, читатели всегда будут в курсе обновлений, не выходя из Telegram.

Давайте его запустим!

Вводим /autoposting.

Дожидаемся проверки и сообщения об успешном завершении.

Теперь вы увидите мои статьи прямо внутри @iklife_bot.

Заключение

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

Спасибо за внимание!

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

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

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

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

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

Так как для этого нужны знания PHP он нанял нескольких программистов. После того, как настройка бота была завершена весь процесс управления его функционалом производится с помощью специальных команд: /start – для запуска, /setdate – установка даты для публикации материала, /settime – установка времени.

Это позволило администратору данной площадки упростить процесс публикации контента.

Конечно же, нет никакой необходимости в том, чтобы писать бота с нуля. Перед тем, , вам нужно найти его. Для этого введите его логин в поиске мессенджера. Для примера возьмем аккаунт поисковика Яндекс @ya.

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

Для этого напишите в переписке /settings.

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

В меню появятся дополнительные функции, которые вы также можете наблюдать в поисковой системе Яндекс: Новости, Переводчик, Курсы валют и т.д.

Как настроить ботов Телеграм через профиль

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

В открывшемся меню выберите пункт «Показать профиль».

В окне информации нажмите «Настройки».

В случае с приложением для мобильных устройств выполните следующие действия:

  1. Откройте приложение Telegram.
  2. Зайдите в нужный вам аккаунт бота.
  3. В открывшемся окне чата нажмите на иконку из трех точек в правом верхнем углу.
  4. Выберите пункт «Настройки».

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

Настройка ботов с помощью BotFather

Вы можете создать нового бота и задать свои функции и команды. Для этого вам понадобится аккаунт @BotFather.

Найдите его в поиске приложения Телеграм и откройте.

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

После этого система оповестит об успешном завершении процесса установки имени.

Теперь нужно указать описание. Для этого введите /setdescription.

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

Создаем и настраиваем дополнительные функции боту

Теперь перейдем к установке аватарки для нашего акаунта. Для этого нужно ввести /setuserpic. После того, как команда введена – прикрепите фотографию.

Нажмите на иконку скрепки в левой части (в приложении на смартфонах иконка расположена справа) и выберите изображение с вашего компьютера или мобильного устройства.

На этом процесс установки аватарки завершен.

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

Чтобы начать этот процесс введите /setcommands в чате. Команды вводятся без знака «/». Вводите их в формате command1 – description.

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

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

У созданного вами аккаунта имеются три глобальные команды:

  1. /start – этот синтаксис используется для запуска.
  2. /help – синтаксис открывает окно помощи: информация об аккаунте, описание, инструкция.
  3. /settings – эта команда позволяет другим пользователям настраивать вашего бота под свои нужды.

Общие проблемы

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

Не срабатывают команды. Иногда появляется такая проблема, что на некоторых ботах не работают команды, которые отвечают за процесс настроек. Если это аккаунт, созданный не вами, а другими пользователями Telegram, то причинами этого могут стать:

  • вы неверно ввели команду;
  • разработчик удалил этот синтаксис или случился баг;

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

В последнее время Telegram у всех на слуху. Нужно отдать должное отделу маркетинга этого приложения, шумиху подняли на славу. Одной из основных "фишек" Telegram является его якобы защищённость - по словам Павла Дурова вся переписка между пользователями шифруется. Более того, ни одна спец.служба мира не будет иметь доступ к вашим сообщениям. Но в данной статье речь не об этом. Сегодня хотелось бы поговорить о не менее крутой фишке в Telegram, а именно о ботах. Помимо того, что в сети уже полно информации о различного рода Telegram ботах (github бот, например), мессенджер открыл своё API для разработчиков, и теперь каждый может создать своего собственного бота с блэкджеком и плюшками.

В статье я приведу пример написания онлайн бота с использованием Python и Django фреймворка. То есть мы "запилим" полноценное веб-приложение, которое будет крутиться на удалённом хосте и принимать команды от пользователей. Весь исходный текст доступен в моём github репозитории .

Документация, описывающая процесс взаимодействия с ботами Telegram находится . Чтобы не изобретать велосипед, я нашел неплохую Python библиотеку, реализующую все основные функции ботов - telepot . Как я уже упоминал ранее, для того, чтобы обслуживать пользователей нашего бота мы будет разрабатывать веб-приложение, используя Django фреймворк.

Как создать Telegram бота?

Для начала нам необходимо зарегистрировать в Telegram нашего будущего бота. Это делается следующим образом:

  • Необходимо установить приложение Telegram на телефон или компьютер. Скачать приложение можно
  • Добавляем к себе в контакт-лист бота с именем BotFather
  • Запускаем процедуру "общения" с ботом нажатием кнопки Start . Далее перед нами предстанет список команд точно как на скриншоте.
  • Для того, чтобы создать нового бота необходимо выполнить команду /newbot и следовать инструкциям. Обратите внимание, что username для бота должен всегда содержать в конце слово bot . Например, DjangoBot или Django_bot.

  • Для нашего бота я выбрал имя PythonPlanetBot, так как его основная функция заключается в парсинге RSS feed сайта Python Planet и выдача информации о последних постах пользователю:)

После создания бота, обратите внимание на строку с текстом:

Use this token to access the HTTP API:

За которой следует т.н. token по которому мы будем манипулировать нашим ботом. Помимо функции создания telegram бота, BotFather также имеет ряд других возможностей:

  • Присвоить боту описание
  • Установить аватар
  • Поменять token

Приступаем к кодированию

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

  • Использование вызова API метода getUpdates
  • Установка Webhook

Установка Webhook заключается в передаче боту специального URL адреса на который будет поступать POST запрос каждый раз, когда кто-то начнёт посылать сообщения боту. Именно этот вариант мы и будем использовать для взаимодействия между ботом и его пользователем. Для того, чтобы задать URL, необходимо использовать API метод setWebhook . Отмечу, что URL должен начинаться с https, то есть иметь защищённое SSL соединение с валидным сертификатом. Telegram разрешает использовать самоподписанный сертификат, правда для этого необходимо в методе setWebhook передавать также публичный ключ в PEM формате (ASCII base64). Либо же можно получить от Let"s Encrypt.

Подробнее о getUpdates и setWebhook можно почитать соответственно и .

Итак, вернёмся к python библиотеке для работы с Telegram - telepot . На текущий момент самой последней её версий является 6.7. Устанавливаем её в виртуальное окружение python virtualenv:

Pip install telepot

Самый простой вариант взаимодействия с Telegram ботом на Python выглядит следующим образом:

Import telepot token = "123456" TelegramBot = telepot.Bot(token) print TelegramBot.getMe()

Переменной token присваиваем значение токена, полученного при создании бота через BotFather. В итоге после выполнения этих команд мы получим:

{u"username": u"PythonPlanetBot", u"first_name": u"Python Planet Bot", u"id": 199266571}

Поздравляю! Мы вызывали самый простой API запрос getMe, который возвращает информацию о боте: username, id, first_name.

Добавим нашего бота к себе в контакт-лист и пошлём ему первую стандартную команду /start

Выполняем код:

TelegramBot.getUpdates() [{u"message": {u"date": 1459927254, u"text": u"/start", u"from": {u"username": u"adilkhash", u"first_name": u"Adil", u"id": 31337}, u"message_id": 1, u"chat": {u"username": u"adilkhash", u"first_name": u"Adil", u"type": u"private", u"id": 7350}}, u"update_id": 649179764}]

Процесс общения с telegram ботом происходит по HTTPS; для передачи данных используется JSON. Метод getUpdates возвращает список/массив из объектов типа Update . Внутри Update находится объект Message . Для стандартного взаимодействия с ботом нас фактически интересует именно объект Message, у которого мы считываем атрибут text, хранящий в себе текст, переданный боту и объект chat, в котором лежит информация о пользователе, инициировавшем общение с нашим Telegram ботом. Также имеется параметр update_id, который служит в качестве offset параметра при вызове метода getUpdates. То есть update_id+1 вернёт все сообщения, поступившие после последнего update_id, при этом все предыдущие сообщения будут удалены.

TelegramBot.getUpdates(649179764+1) [{u"message": {u"date": 1459928527, u"text": u"hello bro", u"from": {u"username": u"adilkhash", u"first_name": u"Adil", u"id": 31337}, u"message_id": 13, u"chat": {u"username": u"adilkhash", u"first_name": u"Adil", u"type": u"private", u"id": 7350}}, u"update_id": 649179765}]

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

Простая функция парсинга RSS фида Planet Python выглядит вот так.

Боты — специальные аккаунты в Telegram, созданные для того, чтобы автоматически обрабатывать и отправлять сообщения. Пользователи могут взаимодействовать с ботами при помощи сообщений, отправляемых через обычные или групповые чаты. Логика бота контролируется при помощи HTTPS запросов к нашему .

Общие сведения

1. Что могут делать роботы?

Вот несколько примеров использования ботов:

  • Интеграция с другими сервисами . Например, бот может отправлять комментарии или управлять «умным домом». Или, например, отправлять вам уведомления при совершении каком-то действия или события (Примеры: GitHub Bot , Image Bot ).
  • Утилиты и инструменты . Бот может отображать погоду, переводить тексты или предупреждать о предстоящих событиях по вашему запросу (Например: бот опросов ).
  • Одно- и многопользовательские игры . Бот может поиграть с вами в шашки или шахматы, проводить викторины и так далее. (Пример: Trivia bot ).
  • Социальные сервисы . Робот может находить вам собеседника, основываясь на ваших общих интересах и увлечениях. (Пример: HotOrBot ).
  • Все, что вам захочется . Бота можно запрограммировать для чего угодно. Разве что посуду они помыть не смогут.

2. Как работают боты?

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

Самое интересное в роботах это то, что для их создания вам не нужно изучать низкоуровневые методы работы с MTProto и шифрованием — общение с роботом организовано при помощи обычного HTTPS интерфейса с упрощёнными методами Telegram API. Мы назвали его .

3. Как создать робота?

Для этого есть... Робот. Просто напишите пользователю @BotFather и следуйте его инструкциям. Как только вы создали бота и получили свой ключ (токен) авторизации, переходите в раздел , чтобы начать настраивать вашего робота.

4. Чем бот отличается от обычного аккаунта?

Суперспособности

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

Встроенный режим

Пользователи могут общаться с вашим ботом напрямую из поля ввода сообщения — из любого чата или группы. Для этого нужно всего лишь набрать имя пользователя вашего бота и запрос для поиска.

Получив запрос, бот может возвратить какие-либо результаты. Как только пользователь нажмёт на один из них, он сразу же отправится в чат. Таким образом можно запрашивать контент от бота в чатах, группах или каналах.


Игры

С помощью ботов пользователи могут играть в HTML5-игры в группах или приватных чатах. Игровая платформа Telegram поможет составить таблицу рекордов и оповещать пользователей об изменении рейтинга.



Под капотом у игр — HTML5, поэтому вы можете создавать игры любой сложности. На данный момент командой Telegram созданы несколько демо-игр:

Клавиатуры

Одна из самых необычных возможностей Bot API — кастомизированные клавиатуры . При передаче сервером ответа есть возможность передать команду на отображение специальной клавиатуры с предустановленными вариантами ответа (см. ). Клиент Telegram, получив сообщение, отобразит пользователю вашу клавиатуру. Нажатие на клавишу сразу же отправит на сервер соответствующую команду. Таким образом можно значительно упростить взаимодействие робота с пользователем.

На данный момент для отображения на клавише могут использоваться эмодзи и текст. Вот несколько примеров таких клавиатур:


За более подробной информацией обращайтесь к описанию метода .

Команды

Команды представляют собой более гибкий способ общения с роботом. Рекомендуется следующий синтаксис:

/команда [необязательный] [аргумент]

Команда должна начинаться с символа косой черты «/» и не может быть длиннее 32 символов. Команды могут состоять из букв латинского алфавита, цифр и подчёркивания. Несколько примеров:

/get_messages_stats
/set_timer 10min Alarm!
/get_timezone London, UK

Сообщения, начинающиеся с косой черты, будут всегда доставляться боту (точно также, как и при ответе на его сообщения и на @упоминания бота в чате). Приложения Telegram будут:

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

/start@TriviaBot /start@ApocalypseBot

Это происходит автоматически, если вы выбираете команду из списка доступных.

Глобальные команды

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

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

Режим приватности

Ботов часто добавляют в группы, чтобы получать различную информацию — новости, уведомления и т.д. Однако, при добавлении бота вы наверняка спрашивали себя: «А что если этот маленький засранец пересылает всю групповую переписку куда-то „налево“?» Именно поэтому у роботов есть режимы приватности .

Робот с включенным режимом приватности не будет получать всех сообщений, а только сообщения, удовлетворяющие этим условиям:

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

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

Внешнее связывание

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

Если вы потеряли или утратили доступ к токену, отправьте команду /token , чтобы сгенерировать новый.

Настройки

  • /setname — Изменить имя робота.
  • /setdescription — Изменить описание робота, представляющее собой короткий текст с описанием бота. Пользователи увидят его в самом начале, под заголовком «Что умеет этот робот?».
  • /setabouttext — Изменить информацию о боте, ещё более короткий текст, отображающийся в профиле бота. Ещё, если кто-то поделится вашим ботом, то вместе со ссылкой на него отправится этот текст.
  • /setuserpic — Изменить аватарку бота. Картинки — всегда хорошо.
  • /setcommands — Изменить список команд бота. Каждая команда состоит из собственно командного слова, начинающегося с символа косой черты («/„) и короткого описания. Пользователи увидят список команд при вводе символа “/».
  • /setjoingroups — Определяет, можно ли добавлять вашего бота в группы.
  • /setprivacy — Определяет, все ли сообщения видит ваш бот в группах. В выключенном состоянии роботу будут отправляться все сообщения.
  • /deletebot — Удалить бота и его имя пользователя.
Пожалуйста, имейте в виду, что для применения настроек на сервере, возможно, потребуется некоторое время.
Рассказать друзьям