Что такое боты в телеграм: Боты в Телеграм – что это такое и как они работают

Содержание

Боты в Телеграм – что это такое и как они работают

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

Полное руководство по Telegram

Бот – что это такое и что он умеет

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

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

На сегодня роботы Телеграм могут:

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

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

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

Далее разберём, как они работают.

Принцип очень прост. Вы находите бота, пишете ему текстовое сообщение (команду) и через доли секунды получаете ответ.

Достоинства:

  • Круглосуточная помощь – по сути, их работу остановит только авария на сервере, что случается крайне редко.
  • Удобство использования – большинство команд находится в меню бота.
  • Ответы приходят за несколько секунд.
  • Для работы используются ресурсы сторонних серверов, так что мощности вашего устройства не задействованы.
  • Безопасность. Многие переживают за сохранность своих данных, так вот можете не беспокоиться. Боты никак не украдут ваши данные. Они их просто не видят. Всё, что им доступно, – это текстовые команды из чата.
  • Установка дополнительных программ не требуется.

Теперь о том, как найти бота в Телеграме.

Ищем своего бота

Поиск бота ничем не отличается от поиска каналов в Телеграмм. Помните, о них я писал немногим раньше. Основные варианты поиска:

  • Через поисковики найти подборки популярных ботов

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

  • По поиску внутри Телеграм

Для этого нужно знать точное имя и ввести его в строку поиска. Имя обязательно заканчивается на bot и начинается с собачки – @.

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

Как ими пользоваться

Давайте на живых примерах рассмотрим варианты использования.

Общая схема: найти бота – нажать start/начать – ввести команду – получить ответ.

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

Скриншоты будут из версии для ПК. В мобильной и онлайн-версиях всё то же самое.

Боты с готовым меню

В большинстве случаев бот имеет собственное меню. Вот пример Яндекс-бота.

Меню бота яндекс

Меню бота яндекс

Вот ещё вариант меню у бота популярного сайта AdMe.

Навигация бота в Телеграм

Навигация бота в Телеграм

Скрытое меню

У некоторых роботов меню скрыто. Чтобы его вызвать, необходимо нажать «/» и появится список команд.

Значок слэш является обязательным для ввода команд.

Смотрите пример.

Скрытое меню робота

Скрытое меню робота

Как работают роботы

Как работают роботы

Нужно знать команды

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

Универсальные команды

Их понимает большинство онлайн-помощников:

  • /start – начало,
  • /help – помощь,
  • /settings – настройки.

Иногда боты понимают команды на русском, можно просто догадаться по смыслу. Вот образец – знаменитый робот Антон подрабатывает ещё и в Гидрометцентре. Если его спросить «Погода Воронеж», он тут же сообщит прогноз.

Зачем нужен робот

Зачем нужен робот

Если бот молчит

Иногда можно найти бота, который не отвечает. Что ни спроси, он будет молчать, как партизан. В чём причина?

  1. Так как они находятся на стороннем ресурсе, значит основная причина в проблемах сервера. Может быть временный сбой или полный отказ сервера.
  2. Также может быть, что неопытный программист ошибся при написании кода.
  3. Третья причина – вы вводите команду, которую бот не понимает. В таком случае, Гугл вам в помощь.

Сам столкнулся с проблемой – не захотел работать популярный @nationalgeographic_bot, он должен показывать лучшие фотки знаменитого журнала. Но, как я ни старался, команду подобрать не смог. Может у вас получится? Сообщите, пожалуйста.

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

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

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

Боты в Телеграмме (Telegram): что такое, как пользоваться, как работают

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

Содержание

  1. Что это такое
  2. Виды ботов
  3. Как работает
  4. Как создать бота
  5. Топ 10 полезных Телеграм ботов

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

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

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

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

Именно поэтому, многие компании, развивающие бизнес через интернет, используют возможности ботов по нескольким причинам:

  1. Они позволяют задействовать очередной канал коммуникации с целевой аудиторией (в России Телеграмом пользуется около 10 миллионов человек)
  2. Они быстро выполняют однообразную работу, позволяя разгрузить наемных сотрудников, тем самым экономя деньги компании;

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

В Telegram используется один общий вид ботов, которых от обычных юзеров отличает только наличие приставки «bot» в имени. Сами же боты делятся на несколько направлений:

  • Чат-боты. Представляют из себя простейший чат, имитирующий общение на заданную пользователем тематику.
  • Боты-информаторы. Отдельный вид ботов, главная цель которых — информирование пользователя о тех или иных событиях (новости, мероприятия, публикации и т.п.).
  • Игровые боты. Боты, в которых можно поиграть в различные игры. По большей части, это текстовые версии разных игр времен Combats.ru
  • Боты-асистенты. Боты, разработанные различными онлайн-сервисами как дополнение к основной веб-версии.

На самом деле, четкого деления нет, т.к. некоторые боты содержат сразу несколько механик и успешно выполняют множество пользовательских задач. С их помощью можно переводить, обучаться, тестировать, искать информацию, играть в игры и даже пользоваться другими сервисами и взаимодействовать с вещами, имеющими выход в глобальную сеть (популярный нынче «интернет-вещей»). Все боты в Телеграме являются бесплатными, но в 2017

Документация Telegram: Боты

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

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

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

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

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

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

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

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

Примечание

Рекомендуем также ознакомиться с подробным описанием Bot API.

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

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

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

  • У роботов нет статусов «онлайн» и «был в сети», вместо этого отображается надпись «бот».
  • Для ботов выделено ограниченное место на серверах — все сообщения будут удалены по прошествии определённого срока после обработки.
  • Боты не могут сами начать общение с пользователем. Пользователь должен либо добавить робота в группу, либо первым начать с ним диалог. Для этого можно использовать ссылки вида t.me/<bot_username> или поиск по имени пользователя.
  • Имя пользователя у робота должно заканчиваться на «bot» (например, @controllerbot).
  • При добавлении в конференцию, по умолчанию робот не получает всех сообщений (см. режим приватности).
  • Роботы никогда не спят, не едят и не жалуются (если только вы не запрограммируете их на обратное).

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

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

Инлайн-режим

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

Подробнее о встроенном режиме в блоге »

Игры

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

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

Подробнее об играх в Telegram »

Клавиатуры

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

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

Команды

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

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

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

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

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

  • Предлагать список поддерживаемых команд с их описанием, когда пользователь введёт символ косой черты «/» (чтобы этот пункт работал, вам необходимо задать описание команд у @BotFather). Нажатие на описание приведёт к отправке этой команды.
  • Показывать кнопку (/) в поле ввода текста во всех чатах с ботами. Нажатие на эту кнопку отобразит список доступных команд.
  • Подсвечивать /команды в сообщениях. При нажатии на такую подсвеченную команду, она будет сразу же отправлена боту.

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

/start@TriviaBot
/start@ApocalypseBot

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

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

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

  • /start — начинает общение с пользователем (например, отправляет приветственное сообщение). В эту команду также можно передавать дополнительные аргументы (см. внешнее связывание).
  • /help — отображает сообщение с помощью по командам. Оно может представлять собой короткое сообщение о вашем боте и список доступных команд.
  • /settings — (по возможности) возвращает список возможных настроек и команды для их изменения.

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

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

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

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

  • Сообщения, начинающиеся с символа косой черты «/» (см. раздел Команды)
  • Сообщения, содержащие @упоминание бота
  • Ответы на сообщения бота
  • Служебные сообщения (о добавлении пользователя, смены изображения группы и т.д.)

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

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

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

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

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

У каждого робота есть ссылка, при помощи которой можно начать с ним диалог — https://t.me/<имя бота>. К этой ссылке можно добавить параметры *start или startgroup со значением длиной до 64 символов. Пример:

https://t.me/triviabot?startgroup=test

Допустимо использование символов A-Z, a-z, 0-9, _ и -. Мы рекомендуем использовать base64url для кодирования параметров.

Переход по ссылке с параметром start начнет чат с ботом, при этом в поле ввода текста будет отображаться кнопка СТАРТ. При переходе по ссылке с параметром startgroup пользователю будет предложено добавить бота в одну из доступных групп. Как только пользователь подтвердит своё действие (нажмёт на кнопку СТАРТ или выберет группу), бот получит сообщение следующего формата:

/start PAYLOAD

В PAYLOAD будет значение параметра start или startgroup, который был передан в ссылке.

Пример реализации внешнего связывания

Предположим, сайт example.com хочет отправлять пользователю уведомления с помощью Telegram-бота. Ниже приведено описание последовательности действий для реализации отправки уведомлений пользователю с ID 123.

  1. Создайте бота с любым именем, например, @ExampleComBot
  2. Настройте вебхук для входящих сообщений
  3. Сгенерируйте ключ достаточной длины, напр. $memcache_key = 'TESTKEY'
  4. Запишите значение 123 с ключом $memcache_key в Memcache на 3600 секунд (один час)
  5. Отправьте пользователю ссылку https://t.me/ExampleComBot?start=TESTKEY
  6. Настройте обработчик веб-хуков так, чтобы он запрашивал в Memcached значение входящего параметра каждый раз, когда приходит сообщение, начинающееся со /start. Если ключ существует, записываем chat_id, переданный в веб-хук, в telegram_chat_id для пользователя 123. Удаляем ключ из Memcache.
  7. Теперь, если мы хотим отправить сообщение пользователю 123, сначала проверяем telegram_chat_id. Если оно существует, используем метод sendMessage, чтобы отправить пользователю сообщение.

BotFather

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

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

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

Имя (name) будет отображаться в контактах и чатах.

Username — короткое имя на латинице, которое используется для упоминаний бота и в ссылках на профиль в telegram.me. Username должен состоять из букв латинского алфавита, подчёркиваний и цифр и быть длиной от 5 до 32 символов. Также имя пользователя обязательно должно заканчиваться на «bot», например: «tetris_bot» или «TetrisBot».

Ключ (токен) это набор символов вида 110201543:AAHdqTcvCh2vGWJxfSeofSAs0K5PALDsaw, который нужен, чтобы получать и отправлять сообщения с помощью Bot API.

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

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

Настройки

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

Совет

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

Боты Телеграм — Инструкция и описание телеграмм ботов

Пользуясь мессенджером Телеграмм, вы, наверняка, слышали о наличии так называемых «ботов» или «bots». Так, например, в онлайн веб-версии Telegram, который вы можете найти на сайте Webtelegram.net, даже есть отдельная вкладка, предназначенная для таких ботов. Итак, в данной статье и пойдет речь о ботах в телеграмме. Мы расскажем что подразумевается под этим термином, для чего они нужны, где и как их можно найти, а также о том, как ими пользоваться.
Что такое «Бот» в Телеграмм?

Слово «бот» является сокращенным вариантом слова «робот». Итак, под «ботом» (bot), в первую очередь, подразумевается определенная программа, которая выполняет различного рода действия в автоматическом режиме, либо по команде или заданному расписанию. Таким образом, «боты» были созданы для совершения однообразных, так сказать рутинных операций, которые имитируют работу реального пользователя, но уже с более высокой скоростью и точностью. Тем самым, боты помогают людям не только экономить свои силы и время, но выполняют все работу с более лучшей и быстрой реакцией. Такого рода боты на сегодняшний день уже широко применяются во многих сферах деятельности: рекламе, в компьютерных играх, интернет-аукционах, мессенджерах и во многих других сферах.

      Мессенджер Telegram не стал исключением. Здесь под термином боты «боты» понимается специально разрабатываемые в авторежиме аккаунты, написанные при помощи @manybot или программирования на языке Pythona, которые способны выполнять команды через получение или отправку команд текстовым способом. Боты в Телеграмм создаются разработчиками через интеграцию с API, которые выдаются на @botFather. При создании бота через @Manybot программная часть файлов хранится при этом на серверах мессенджера, тогда как при собственной разработке бота для файлов Вам необходимо иметь свой сервер — хостинг.

    Проще говоря, «боты» в Telegram online — это одна из разновидностей чат-ботов. Как следует, в названиях всех ботов должно присутствовать слово «bot». По сути дела, боты – это те же пользовательские аккаунты, но которыми вместо людей управляют программы.

Для чего нужны «боты» в Телеграмм?
 
     «Боты» можно назвать маленькими умными помощниками обычных пользователей онлайн Телеграмм. Боты в мессенджере предназначены для выполнения различных действий, к примеру они могут переводить и комментировать, обучать и тестировать, играть и развлекать, искать и находить, спрашивать и отвечать, взаимодействовать с датчиками и вещами, подключенными к интернету, и многое другое. Кроме того, ботов в Телеграмм можно «Добавить в группу» (Add To Group), в которой вы является непосредственным участником, либо «Поделиться» (Share) ими со своими друзьями со списка ваших контактов.

     Стоит отметить, что основное взаимодействие бота с пользователями осуществляется через систему вопрос-ответ, а также через поручения команд в созданном меню бота, к которому доступ получается после нажатия на кнопку «/Старт» (/start).

Как я могу найти и начать пользоваться «Ботами» В Телеграмм?

    Пользоваться ботами в Телеграм несложно, для этого не обязательно иметь особые навыки. Для этого достаточно выбрать необходимого вам бота из специального каталога в Телеграмм и перейти по ссылке, или также можно найти необходимого вам бота в строке поиска через меню мессенджера и начать взаимодействовать с ним при помощи нажатия кнопки /start. После нажатия кнопки /start, бот пришлет вам информацию о себе, инструкции по работе с ним, а также список команд или выведет доступные команды-кнопки на экран. Так, например, в Телеграмм вы можете найти бот под названием @cbr_bot — это робот, отправляющий свежие курсы валют, установленные Центробанком России, данный бот также умеет конвертировать рубли в иностранную валюту и наоборот. Также вы можете найти бот @ytranslatebot, который может перевести ваши сообщения на любой необходимый вам язык.

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

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

Содержание статьи

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

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

Сначала разберемся, что такое telegram bot.

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

Боты в Телеграмм: что это такое и как ими пользоваться

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

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

Как отличить бота в мессенджере

Виртуального помощника не трудно отличить по названию. В имени аккаунта обязательно присутствует «bot». Но они могут быть и у реального человека, поэтому есть и другие признаки, позволяющие определить робота.

  1. Если при открытии чата отсутствует поле для сообщения, значит это не человек. У такого помощника вместо данного поля будет высвечиваться «Запустить».
  2. Можно посмотреть, когда пользователь был сегодня или вчера в сети. Если такая информация присутствует, то вы ведете переговоры с реальным человеком.
  3. Можно распознать по иконке робота.

Как пользоваться ботом

Теперь узнаем, как пользоваться ботами в телеграм. Все довольно просто: заходим на сервис и жмем на клавишу запуска. Затем, необходимо определиться с командами, которые должен выполнять робот. Для этого в строке сообщений введите такой значок — /, выберите из списка нужную подсказку и кликните по ней.

Боты в Телеграмм: что это такое и как ими пользоваться

Как найти нужного бота

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

  1. Ввести в поисковую строку telegram название.
  2. Воспользоваться каталогами.

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

Заметим, что сервисы в мессенджере постоянно обновляются и каталог пополняется новыми интернет-помощниками. Так что же это такое bot?  Это разработанные в автоматическом режиме аккаунты, создаваемые при использовании виртуальных помощников.

Если сказать просто, то это разновидности чат-botов, где вместо пользователя аккаунтом управляет робот.

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

  • чаты;
  • информаторы;
  • игровые программы;
  • ассистенты.

Как работает бот

Работой управляет разработанный сервис. Схема взаимодействия следующая:

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

Боты в Телеграмм: что это такое и как ими пользоваться

Что такое бот в telegram и что они умеют

Как мы уже сказали, botы – это сервисы, умеющие:

  • скачивать информацию;
  • искать в сети файлы;
  • выводить сообщения-напоминалки;
  • отвечать на сообщения;
  • выводить на экран актуальные данные и т.д.

Бот что это такое и что он умеет

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

Как они работают

Виртуальные роботы-помощники работают через сервисы, созданные разработчиками в мессенджере.

Для чего они нужны

Зачем нужны боты в telegram?

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

Для чего используются боты в телеграм

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

Боты в Телеграмм: что это такое и как ими пользоваться

Как пользоваться ботами в telegram поиск и настройка

На вопрос, как пользоваться ботами в telegram, ответим, что все очень просто:

  1. В мессенджере ищем подходящую программу.
  2. Запускаем ее.
  3. Задаем команды.

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

Для чего нужны боты

Онлайн-помощники нужны для решения поставленных задач и проведения заданных действий.

Как работает бот в телеграм

Работой управляет специальная программа. Схема взаимодействия следующая:

  1. Сервис получает задание и отправляет запрос на сервер.
  2. Программа обрабатывает задачу и предоставляет ответ.
  3. Помощник отсылает информацию пользователю.

Возможности для пользователя

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

Боты в Телеграмм: что это такое и как ими пользоваться

Перечислим преимущества использования программ:

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

Использование ботов

В мессенджере стало доступно найти bot-помощника для решения любой задачи. Их использование стало для большинства людей единственной возможностью решения задачи.

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

какие боты есть и что они делают




Что такое бот в Телеграм: определение, цели, функционал






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

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

Что такое Бот в Телеграм?

Бот в Телеграм: что это такое и как он работает

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

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

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

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

В основном они пишутся на языках программирования: phyton, php, js. Либо создаются при помощи конструкторов.

Конструкторы можно поделить на:

  • Внутренние;
  • Сторонний софт.

Первые – находятся внутри самого мессенджера, и для их использования не требуется дополнительного софта.

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

Цели и функционал ботов

Цели и функционал робота или бота в Телеграм

Давайте для начала мы поговорим о целях.

Главная цель – облегчить работу с мессенджером Telegram. Иными словами, вы создаете себе помощника, который будет выполнять все те задачи, которые вы в него заложили.

Например, ваша группа с тематикой финансов. В ней обсуждаются те или иные новости, возможные будущие изменения на рынке валют и многое другое. Очень удобным инструментом в данном случае был бы бот, который умеет отправлять текущие курсы валют, установленные Центробанком России. И такой бот есть. Его название – @cbr_bot.

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

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

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

  • Писать и публиковать новости;
  • Переводить;
  • Спрашивать и отвечать;
  • Искать;
  • Обучать;
  • Тестировать;
  • Играть и развлекать;
  • Взаимодействовать с чем-либо, подключенным к интернету (например, скачивать фото из Instagram).

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

Функционал ботов очень широк. В него можно запрограммировать все, на что хватит фантазии и навыков.

Какие бывают боты Телеграм?

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

Боты в Телеграм бывают разные. Всех их можно условно поделить на четыре категории:

  1. Чат-боты.
    Их предназначение довольно простое – общение. Они служат для имитирования диалога. Тематику, фразы и все остальное вы можете задать самостоятельно. Если бот настроен достаточно качественно, то его сложно отличить от настоящего человека и у ваших подписчиков будет создаваться впечатление, будто они общаются с кем-то живым.
  2. Боты-информаторы.
    Они служат для информирования аудитории. Они могут отвечать на какой-либо запрос пользователя, публиковать новости, напоминать о тех или иных мероприятиях и многое другое. Например, тот бот, о котором мы говорили выше (отправляющий курс валют), относится к данной категории.
  3. Игровые боты.
    Их задача – развлекать людей. Каждый желающий может с помощью бота поиграть в ту игру, которая в нем запрограммирована.
  4. Боты-ассистенты.
    Роботы, призванные помогать выполнять те или иные задачи.

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

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

@GoogleNews_bot

GoogleNews_bot - бот Телеграм и его задачи

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

В общем, он содержит в себе все, что необходимо для автопостинга.

@JournalistBot

@JournalistBot - бот для постинга Телеграм

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

Также здесь есть возможность заранее заготовить текст, фото, видео, а затем транслировать это.

@GameMatrisBot

@GameMatrisBot - игровой бот Телеграм

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

  • Шахматы;
  • Нарды;
  • Минный тральщик;
  • XsandOs

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

@LivegramBot

@LivegramBot - бот для общения мессенджера

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

Он поддерживает два языка: русский и английский.

@egrul_bot

@egrul_bot - бот для ведения бизнеса в Телеграм

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

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

@olxnotifybot

@olxnotifybot - бот для поиска объявлений с доски olx

Одна из крупнейших досок объявлений в мире OLX создала своего бота в мессенджере Telegram. С его помощью вы сможете быстро найти интересующий вас товар. Он просто будет оповещать вас о новых объявлениях (параметры вы задаете сами).

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

@SecretgramBot

@SecretgramBot - бот для оставления анонимных комментариев.

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

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

@rulek_bot

@rulek_bot - игровой бот для коммерческих игр

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

Список игр следующий:

  • 777;
  • Война казино;
  • Ленивый покер;
  • Сравни 7;
  • Болотное царство;
  • Зомби бега.

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

@bot_vprogramme_rf_bot

@bot_vprogramme_rf_bot - бизнес бот для создания каталогов и магазинов

Еще один конструктор ботов. Он полезен для тех, кто занимается бизнесом.

С его помощью вы сможете создать бизнес-бота для сферы услуг:

  • Интернет-магазины;
  • Каталоги товаров;
  • Электронные торговые площадки;
  • Тендерные и аукционные системы;
  • Мобильные системы учета;
  • Автоматический прием заявок на работу и т.д.

@AliExpresserBot

@AliExpresserBot - бот для выгодных покупок с алиэкспресс

Данный бот позволит вам совершать покупки в интернет-магазине AliExpress с выгодой. Вам будет возвращаться до 8% с ваших покупок на счет.

Чем больше друзей вы пригласите, тем больший кэшбэк вы получите (максимум 4 друга – 8%).

Итог

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

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

Оцените текст:

[Всего: 8   Средний:  5/5]

Автор публикации


Комментарии: 95Публикации: 268Регистрация: 15-05-2014

Зачем компании Telegram-бот и как с ним работать — Разработка на vc.ru

Дмитрий Анисимов, основатель проектов Painty и Planty о создании бота и о том, какие процессы в компании он может упростить

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

Помнить расписание…

Наверное, в большинстве компаний есть сотрудники, которые часто бывают вне офиса, работа которых связана с большим количеством внешних встреч, фрилансеры, которых привлекают на проектную работу, или те, у кого свободный график. У нас, например, это фотографы, ассистенты-логисты и ведущие. Так же могут работать курьеры, водители-экспедиторы, страховые агенты, риэлторы, ремонтные бригады, визажисты, декораторы или даже врачи в частной клинике. Их график нужно координировать. Эту задачу может решить Telegram-бот. Возможно, вы сейчас думаете, зачем мне робот, если у меня есть классный администратор? Сначала мы думали так же, но оказалось, что для классного администратора находится много других задач, когда он не занят постоянной рассылкой. Когда проект стартовал в Питере, мы проводили 20 вечеринок в месяц. Сейчас мы проводим 180 в четырех городах, и все их координируют те же менеджеры, что и вначале.

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

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

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

встроенных ботов

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

Чтобы включить эту опцию, отправьте команду / setinline в @BotFather и укажите текст-заполнитель, который пользователь увидит в поле ввода после ввода имени вашего бота.

См. Соответствующие методы и объекты в Руководстве по API для ботов.

Встроенные результаты

Встроенные боты поддерживают всех типов контента , доступных в Telegram (всего 20). Они могут отправлять стикеры, видео, музыку, локации, документы и многое другое.

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

Как только пользователь нажимает на элемент, он немедленно отправляется получателю, а поле ввода очищается.

Переключение режимов inline / PM

Некоторым встроенным ботам может быть полезен процесс начальной настройки, например подключение их к учетной записи на внешней службе (например, YouTube). Мы добавили простой способ переключения между приватным чатом с ботом и любым чатом, в котором пользователь хочет поделиться встроенными результатами.

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

Примеры ботов
@youtube — показывает кнопку «Войти на YouTube», а затем предлагает персонализированные результаты.

Руководство: переход на PM

Результаты на основе местоположения

Встроенные боты могут запрашивать данные о местоположении у своих пользователей. Используйте команду / setinlinegeo с @BotFather, чтобы включить это. Ваш бот будет запрашивать у пользователя разрешение на доступ к их местоположению всякий раз, когда он отправляет встроенный запрос.

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

Вирусное распространение

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

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

Сбор отзывов

Чтобы узнать, какие из предоставленных результатов ваши пользователи отправляют своим партнерам по чату, отправьте @Botfather команду / setinlinefeedback .Если этот параметр включен, вы будете получать обновления результатов, выбранных вашими пользователями.

Обратите внимание, что это может создать проблемы с загрузкой популярных ботов — вы можете получить больше результатов, чем фактические запросы из-за кеширования (см. Параметр cache_time в answerInlineQuery). В таких случаях мы рекомендуем настроить вероятность получения 1/10, 1/100 или 1/1000 результатов.

Примеры встроенных ботов

Вот несколько примеров встроенных ботов, на случай, если вам интересно увидеть один в действии.Попробуйте любой из этих вариантов:
@gif — поиск GIF
@vid — поиск видео
@pic — поиск изображений Яндекс
@bing — поиск изображений Bing
@wiki — поиск в Википедии
@imdb — поиск IMDB
@bold — выделите жирным, курсивный или фиксированный системный текст

NEW
@youtube — Подключите свою учетную запись для получения персонализированных результатов
@music — Поиск и отправка классической музыки
@foursquare — Найдите и отправьте адреса мест проведения
@sticker — Найдите и отправьте стикеры на основе эмодзи

,

API платежей для ботов

Вы можете принимать платежи от пользователей Telegram через ботов Telegram.

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

Если вы новичок в использовании ботов Telegram и хотите узнать, как создать и настроить бота, обратитесь к разделу Introduction to Bots и FAQ по ботам .

Введение платежей

Telegram-боты могут принимать оплату товаров и услуг от пользователей, начиная с Bot API v.3.0. Пользователям потребуется Telegram версии 4.0 или выше для оплаты ваших товаров и услуг.

Как это работает?

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

Как только они введут всю необходимую информацию, она пересылается торговому боту. Бот может предложить несколько вариантов доставки физических товаров в зависимости от адреса. Когда все будет готово, пользователи могут ввести данные своей кредитной карты или выбрать одну из сохраненных карт и оплатить продукт. Telegram также поддерживает Apple Pay и Android Pay.После завершения транзакции торговый бот отправляет квитанцию ​​ , которая содержит платежные реквизиты, а также информацию о доставке и доставке.

Как вы обрабатываете платежи?

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

Приходят другие провайдеры.

Как мне стать поставщиком платежных услуг?

Если вы работаете в компании, которая предоставляет услуги, аналогичные автономным учетным записям в Stripe Connect, сообщите нам об этом через @BotSupport (пожалуйста, включите в свое сообщение хэштег #paymentsprovider ).

Сколько вы заряжаете?

Telegram не взимает с комиссию за использование Payments API.Обратите внимание, что у большинства поставщиков платежей будут свои комиссии. Например, Stripe в США взимает 2,9% + 30 центов за успешное списание средств с карты (подробнее о ценах см. На веб-сайте Stripe).

Что может продавать мой бот?

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

Специальное примечание: Из-за ограничений Apple разработчикам ботов в настоящее время не разрешается принимать платежи за цифровые товары и виртуальные услуги от пользователей iOS .

Как разрешаются споры?

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

Поскольку Telegram не обрабатывает платежи, мы не храним конфиденциальные данные и не можем получить к ним доступ. Из-за такой структуры Telegram не может обрабатывать жалобы или кэшбэки — ответственность за любые спорные платежи несут разработчики ботов, провайдеры платежей и банки, участвовавшие в обмене.

См. Также: Политика конфиденциальности Telegram

Платежный API

Теперь давайте рассмотрим платежи через Telegram Bot API более подробно.Очевидно, что для приема платежей вам понадобится Telegram-бот. Поговорите с BotFather, чтобы создать бота, если у вас его еще нет.

Подключение платежей

Теперь у вас есть торговый бот, который хочет предлагать товары или услуги пользователям Telegram. В этом документе назовем его @merchantbot . Первая остановка — выбрать и подключить поставщика платежных услуг. На данный момент вы можете использовать Stripe для платежей ботам. В ближайшие месяцы мы подключим больше провайдеров, поэтому следите за объявлениями на канале @BotNews.

Получение токена

Используйте команду / mybots в чате с BotFather и выберите @merchantbot , который будет предлагать товары или услуги. Перейдите в Настройки бота> Платежи. Выберите провайдера, и вы будете перенаправлены к соответствующему боту. Введите необходимые данные, чтобы поставщик платежей успешно подключился, вернитесь в чат с Botfather. В сообщении будут показаны доступные поставщики. У каждого будет имя, токен и дата подключения провайдера.Вы будете использовать токен при работе с Bot API.

Тестовые платежи: провайдер Stripe TEST MODE

Пока вы все еще разрабатываете и тестируете платежи для своего бота, используйте провайдер Stripe TEST MODE. В этом режиме вы можете производить платежи без фактического выставления счетов за какие-либо счета. Настоящие карты нельзя использовать в тестовом режиме, но вы можете использовать тестовые карты, например 4242 4242 4242 4242 (полный список здесь). Вы можете переключаться между тестовым режимом и режимом реального времени столько раз, сколько захотите, но, пожалуйста, ознакомьтесь с контрольным списком в реальном времени перед тем, как начать работу.

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

Пошаговый процесс

1. Создать счет-фактуру

Пользователь обращается к @merchantbot и просит что-то купить. Бот формирует инвойс с описанием товара или услуги, суммой к оплате, а также запрашиваемой информацией о доставке.

Используйте для этого метод sendInvoice. Параметр provider_token — это то место, куда вы помещаете значение токена , которое вы получили ранее через Botfather. Один торговый бот может использовать несколько разных токенов для разных пользователей или разных товаров и услуг.

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

Счет в чате

2.Информация о доставке и другие данные (необязательный шаг)

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

Информация о доставке

3. Предлагайте варианты доставки на основе адреса доставки (необязательный шаг)

Если был запрошен адрес доставки и вы включили параметр is_f flexible , API бота отправит боту обновление с полем shipping_query .Бот должен ответить с помощью answerShippingQuery либо списком возможных вариантов доставки и соответствующими ценами доставки, либо ошибкой (например, если доставка по указанному адресу невозможна).

4. Выберите вариант доставки (необязательный шаг)

Пользователь выбирает вариант доставки из списка (общая сумма к оплате может измениться на этом этапе) и переходит к оформлению заказа.

Выберите вариант доставки

5. Предварительная оплата

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

Бот может вернуть ошибку, если он не может обработать заказ по какой-либо причине. Мы настоятельно рекомендуем указать причину невыполнения заказа в удобочитаемой форме (например, «Извините, у нас все кончились резиновые утки! Может, вам нужен стальной медведь?»).Telegram покажет пользователю эту причину.

6. Касса

В случае, если бот подтверждает заказ, Telegram запрашивает у платежной системы завершение транзакции. Если платежная информация была введена правильно и платеж прошел, API отправит от пользователя квитанцию ​​типа success_payment . Как только ваш бот получит это сообщение, он должен приступить к доставке товаров или услуг, приобретенных пользователем.

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

Квитанция

Вирусный рост: глубокие ссылки

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

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

Готовимся к работе

После того, как вы все проверили и подтвердили, что ваша система платежей работает, вы готовы перейти в РЕЖИМ ЖИВОГО.Для этого перейдите в BotFather> / mybots> выберите @merchantbot > Настройки бота / Платежи и включите Stripe LIVE MODE. Вы получите токен со строкой : LIVE: посередине, например 123: ЖИВОЙ: XXXX . Не передавайте этот токен третьим лицам!

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

Текущий контрольный список
  • Мы настоятельно рекомендуем включить двухэтапную аутентификацию для учетной записи Telegram, которая управляет вашим ботом.
  • Вы, как владелец бота, несете полную ответственность в случае возникновения конфликтов или споров. Вы должны быть готовы правильно обрабатывать споры и возвратные платежи (в случае Stripe см. Здесь и здесь).
  • Чтобы предотвратить недопонимание и возможные юридические проблемы, убедитесь, что ваш бот может отвечать на команду / terms (или предлагает аналогичный простой способ доступа к вашим Условиям использования). Ваши Условия и положения должны быть написаны ясно и легко для понимания ваших пользователей.Прежде чем совершить покупку, пользователи должны подтвердить, что они прочитали и согласны с вашими условиями.
  • Ваш бот должен оказывать поддержку своим клиентам, либо отвечая на команду / support, либо с помощью других четко обозначенных средств. У пользователей должен быть четкий способ связи с вами по поводу своих покупок, а вы должны своевременно обрабатывать их запросы на поддержку. Вы должны уведомить своих пользователей, что служба поддержки Telegram или поддержка ботов не сможет помочь им с покупками, сделанными через вашего бота.
  • Убедитесь, что оборудование и программное обеспечение вашего сервера стабильны. Используйте резервные копии, чтобы не потерять данные о платежах ваших пользователей.
  • Убедитесь, что вы заполнили текущий контрольный список для выбранного вами платежного провайдера , а также для этого.

Поддерживаемые валюты

Платежи

Telegram в настоящее время поддерживают перечисленные ниже валюты (вот версия JSON на случай, если она вам понадобится).

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

Минимальная и максимальная суммы для каждой валюты примерно соответствуют лимиту в долларов США 1–10000 . Сумма должна быть выражена 8 или менее цифрами, поэтому максимальное значение будет соответственно ниже для некоторых более дешевых валют, таких как сербский динар. Обратите внимание, что для каждой валюты, кроме доллара США, эти лимиты зависят от обменных курсов и могут меняться со временем (планируйте это заранее, когда вы вводите лимиты в своем коде).

швейцарских франков

чешских крон

чешских крон

датских крон

кун

шек.

индийских рупий

исландских крон

тенге

тенге

MYR

норвежских крон

злотых

зл.

руб.

руб.

шведских крон

грн.

долларов США

Код Название Мин. Сумма Максимальное количество
AED Дирхам ОАЭ AED 3.67 36 729,56 AED
AFN Афганский афгани AFN76.85 AFN768 502,47
ВСЕ Албанский лек 104,99 ВСЕ 1.049.998,30 ВСЕ
драм Армянский драм 485.23 драм 4,852,300,60 драм
ARS Аргентинское песо ARS 72,94 АРС 729.449,04
AUD Австралийский доллар AU $ 1,39 13 973,31 австралийских долларов
AZN Азербайджанский манат 1,70 AZN 17011,28 AZN
БАМ Конвертируемая марка Боснии и Герцеговины 1,66 БАМ 16.649,12 БАМ
BDT Бангладешские така БДТ 84.86 BDT 848 666.70
BGN Болгарский лев 1,66 BGN 16 630,30 BGN
BND Брунейский доллар BND1,37 BND13.740,80
БОБ Боливийский Боливиано БОБ 6,90 БОБ 69.043,39
BRL Бразильский реал 5,41 реалов 54,175,04 реалов
CAD Канадский доллар CA $ 1.33 13 353,15 долл. США
CHF Швейцарский франк 0,91 9’151,50 CHF
CLP Чилийское песо CLP 801 CLP 8.013.017
юаней Китайский юань CN ¥ 6.96 CN ¥ 69 615,01
КС Колумбийское песо КС 3,770,61 COP 37.706.100,00
CRC Костариканский колон CRC589,58 CRC5.895.882,90
Чешская крона 22,30 чешских крон 223010,98
DKK Датская крона 6,33 DKK 63372,20
DOP Доминиканское песо DOP58.65 DOP586 504,41
DZD Алжирский динар ДЗД 128.60 DZD 1 286 060,89
EGP Египетский фунт EGP 15,98 EGP 159 828,00
EUR Евро 0,85 € 8 511,35 €
GBP Британский фунт стерлингов £ 0,76 £ 7 645,75
GEL Грузинский лари 3,09 лари 30 902,20 лари
GTQ Гватемальский кетсаль GTQ7.69 GTQ 76 991,83
HKD Гонконгский доллар 7,75 гонконгских долларов 77 502,59 гонконгских долларов
HNL Гондурасская лемпира HNL 24,89 HNL 248 973,48
HRK Хорватская куна 6,36 кун 63,665,73
HUF Венгерский форинт 293,27 HUF 2 932 780,02 HUF
IDR Индонезийская рупия IDR14.768,50 147.685.000,00 рупий
Новый израильский шекель ₪ 3,41 ,10 34,107.80
Индийская рупия 74,90 749 071,49
ISK Исландская крона 137 ISK 1,371,397
JMD Ямайский доллар JMD 148.29 1 482 951 JMD.30
JPY Японская иена ¥ 105 1 058 774
КЕС Кенийский шиллинг КЭС108.12 1 081 200,79 КЭС
сом Киргизский сом 77-42 сом 774 202-01 сом
KRW Южнокорейский вон 1,186 11 867 201
казахстанских тенге 419-44 тенге 4 194 428-50
LBP Ливанский фунт LBP 1 511.37 LBP 15 113 776,95
LKR шри-ланкийская рупия 184,69 LKR 1 846 980,20 LKR
MAD Марокканский дирхам MAD 9,26 92 650,05 MAD
MDL Молдавский лей 16,54 лей 165 483,83 лей
MNT Монгольский Tögrög MNT2 847,05 MNT28 470 517,77
MUR Маврикийская рупия MUR39.74 397 496,59 MUR
MVR Мальдивская руфия 15,40 рупий 154 022,55 рупий
MXN Мексиканское песо MX $ 22,46 MX $ 224 606,00
Малайзийский ринггит 4,22 MYR 42 249,94 ринггита
MZN Мозамбикский метикал МЗН71.05 MZN710 549.52
NGN Нигерийская Найра NGN 378,49 3,784,975,47
НИО Никарагуанская Кордова НИО 34,53 НИО 345 397,44
NOK Норвежская крона 9,03 норвежских крон 90 318,20
NPR Непальская рупия NPR119.71 NPR1,197,122,80
NZD Новозеландский доллар NZ $ 1.51 15 181,35 новозеландских долларов
PAB Панамский бальбоа PAB 0,99 PAB 9,998,85
РУЧКА Перуанский новый соль РУЧКА 3.55 PEN 35 509,81
PHP Филиппинское песо 49,08 филиппинских песо 490 804,99 филиппинских песо
PKR Пакистанская рупия PKR 167.90 1 679 003 рупий.76
польских злотых 3,74 зл 37 430,50
PYG Парагвайский гуарани PYG 6.926 PYG 69.263.869
QAR Катарский Риал QAR 3,64 36 410,28 QAR
RON Румынский лей 4,11 RON 41,142,03 RON
RSD Сербский динар 100,08 RSD 1.000.849,92 RSD
Российский рубль 73,46 руб.734 626,02
SAR Саудовский Риал SAR 3,75 37 502,24 рияла
SEK шведская крона 8,74 SEK 87,444,90
SGD Сингапурский доллар SGD1.37 13 734,15 сингапурских долларов
THB Тайский бат ฿ 31.12 311 299,91
TJS Таджикский сомони 10; 31 сомони 103 115; 20 сомони
TRY Турецкая лира 7,24 TRY 72.440,96 TRY
TTD Доллар Тринидада и Тобаго TTD6.76 TTD 67 622.90
TWD Новый тайваньский доллар NT $ 29,38 293 894 тайваньских доллара.98
TZS Танзанийский шиллинг ТЗС2 324,75 TZS23 247 540,07
Украинская гривна 27,59грн 275 923,30грн
UGX Угандийский шиллинг UGX3 674 UGX 36,746,159
Доллар США $ 1,00 10 000,00 долл. США
УЮ Уругвайское песо УЮ 42,73 УЮ 427.308,52
UZS узбекских сомов 10 200,00 сум 102 000 000,86 сум
VND Вьетнамский Đồng 23,177 ₫ 231.775.000 ₫
YER Йеменский риал YER 250,34 YER 2 503 497,20
ZAR Южноафриканский рэнд ZAR 17,68 ZAR 176 885,50

.

Журнал изменений Bot API

Bot API — это интерфейс на основе HTTP, созданный для разработчиков, стремящихся создавать ботов для Telegram.
Чтобы узнать, как создать и настроить бота, ознакомьтесь с нашим Введение в ботов »

На этой странице вы найдете все изменения в нашем Bot API .

Последние изменения

Подпишитесь на @BotNews, чтобы первым узнавать о последних обновлениях и присоединяться к обсуждениям в @BotTalk

4 июня 2020

API ботов 4.9

  • Добавлено новое поле via_bot в объект сообщения. Теперь вы можете узнать, какой бот использовался для отправки сообщения.
  • Поддерживаются эскизы видео для встроенной анимации GIF и MPEG4.
  • Поддерживается новая анимация баскетбола для случайных кубиков. Выбирайте между различными анимациями (игра в кости, дартс, баскетбол), задав параметр emoji в методе sendDice.

24 апреля 2020

API ботов 4.8

  • Поддерживаемые объяснения викторин 2.0. Добавьте пояснения, указав параметры объяснение и объяснение_parse_mode в методе sendPoll.
  • Добавлены поля объяснение и объяснение_entities к объекту опроса.
  • Поддерживаются опросы по времени, которые автоматически закрываются в определенную дату и время. Настройте, указав параметр open_period или close_date в методе sendPoll.
  • Добавлены поля open_period и close_date в объект Poll.
  • Поддерживается новая анимация дартса для мини-игры в кости. Выберите между анимацией игральных костей по умолчанию и анимацией дартса, указав параметр emoji в методе sendDice.
  • В объект Dice добавлено поле emoji .

30 марта 2020

Бот API 4.7

  • Добавлен метод sendDice для отправки сообщения о кубиках, которое будет иметь случайное значение от 1 до 6.(Да, мы знаем о «правильном» в единственном числе die . Но это неудобно, и мы решили помочь ему изменить. По одной кости за раз!)
  • Добавлен кубик поля в объект сообщения.
  • Добавлен метод getMyCommands для получения текущего списка команд бота.
  • Добавлен метод setMyCommands для изменения списка команд бота через Bot API вместо @BotFather.
  • Добавлена ​​возможность создавать наборы анимированных стикеров путем указания параметра tgs_sticker вместо png_sticker в методе createNewStickerSet.
  • Добавлена ​​возможность добавлять анимированные стикеры в наборы, созданные ботом, указав параметр tgs_sticker вместо png_sticker в методе addStickerToSet.
  • Добавлено поле thumb в объект StickerSet.
  • Добавлена ​​возможность изменять эскизы наборов стикеров, созданных ботом с помощью метода setStickerSetThumb.

23 января 2020

Бот API 4.6

  • Поддерживаемые опросы 2.0.
  • Добавлена ​​возможность отправлять неанонимные, множественные ответы и опросы в стиле викторины: добавлены параметры is_anonymous , type , allowed_multiple_answers , corrective_option_id , is_closed options для метода sendPoll.
  • Добавлен объект KeyboardButtonPollType и поле request_poll к объекту KeyboardButton.
  • Добавлены обновления об изменении ответов пользователей в неанонимных опросах, представленных объектом PollAnswer и полем poll_answer в объекте Update.
  • В объект опроса добавлены поля total_voter_count , is_anonymous , type , allowed_multiple_answers , corrective_option_id .
  • Боты теперь могут отправлять опросы в приватные чаты.
  • Добавлена ​​дополнительная информация о боте в ответ на запрос getMe: добавлены поля can_join_groups , can_read_all_group_messages и supports_inline_queries в объект User.
  • Добавлено необязательное поле language в объект MessageEntity.

31 декабря 2019 г.

Бот API 4.5

  • Добавлена ​​поддержка двух новых типов MessageEntity: подчеркивание, и зачеркивание, .
  • Добавлена ​​поддержка вложенных объектов MessageEntity. Сущности теперь могут содержать другие сущности. Если у двух сущностей есть общие символы, то один из них полностью содержится внутри другого.
  • Добавлена ​​поддержка вложенных сущностей и новых тегов / (для подчеркнутого текста) и / / (для зачеркнутого текста) в режиме синтаксического анализа HTML.
  • Добавлен новый режим синтаксического анализа, MarkdownV2, который поддерживает вложенные сущности и две новые сущности __ (для подчеркнутого текста) и ~ (для зачеркнутого текста). Режим синтаксического анализа Markdown остается неизменным для обратной совместимости.
  • Добавлено поле file_unique_id в объекты Animation, Audio, Document, PassportFile, PhotoSize, Sticker, Video, VideoNote, Voice, File, а поля small_file_unique_id и big_file_unique_id в объект ChatPhoto.Новые поля содержат уникальный идентификатор файла, который должен быть одинаковым с течением времени и для разных ботов, но не может использоваться для загрузки или повторного использования файла.
  • В объект ChatMember добавлено поле custom_title .
  • Добавлен новый метод setChatAdministratorCustomTitle для управления настраиваемыми титулами администраторов, продвигаемых ботом.
  • В объект чата добавлено поле slow_mode_delay .

29 июля, 2019

API ботов 4.4

  • Добавлена ​​поддержка анимированных стикеров . Новое поле is_animated в объектах Sticker и StickerSet, анимированные стикеры теперь можно использовать в sendSticker и InlineQueryResultCachedSticker.
  • Добавлена ​​поддержка разрешений по умолчанию в группах. Новый объект ChatPermissions, содержащий действия, которые участник может выполнять в чате. Новое поле разрешений в объекте Chat; новый метод setChatPermissions.
  • Поле all_members_are_administrators было удалено из документации для объекта Chat.Поле по-прежнему возвращается в объекте для обратной совместимости, но новые боты должны использовать вместо него поле разрешений .
  • Добавлена ​​поддержка дополнительных разрешений для членов группы и супергруппы: добавлено новое поле can_send_polls в объект ChatMember, добавлено can_change_info , can_invite_users , can_pin_messages в объект ChatMember для ограниченных пользователей (ранее было доступно только для администраторов).
  • Метод restrictChatMember теперь принимает новые разрешения пользователя в одном аргументе типа ChatPermissions.Старый способ передачи параметров еще некоторое время будет работать для обеспечения обратной совместимости.
  • Добавлено описание поддержка базовых групп (ранее была доступна в супергруппах и чатах каналов). Вы можете передать chat_id группы в setChatDescription и получить описание группы в объекте Chat в ответ на метод getChat.
  • Добавлена ​​поддержка seek_link для базовых групп (ранее была доступна в супергруппах и чатах каналов). Вы можете передать chat_id группы в exportChatInviteLink и получить ссылку для приглашения группы в объекте Chat в ответ на метод getChat.
  • Идентификаторы файлов из объекта ChatPhoto теперь недействительны и больше не могут использоваться при изменении фотографии.
  • Все запросов веб-перехватчиков от Bot API теперь поступают из подсетей 149.154.160.0/20 и 91.108.4.0/22 ​​. Большинству пользователей не нужно ничего делать, чтобы продолжать получать веб-перехватчики. Если вы управляете входящим доступом с помощью брандмауэра, вам может потребоваться обновить конфигурацию. Вы всегда можете найти здесь список реальных IP-адресов серверов, с которых отправлялись веб-перехватчики: https: // core.telegram.org/bots/webhooks.
  • Начиная со следующего обновления Bot API ( версия 4.5 ), вложенные объекты MessageEntity будут разрешены в текстах сообщений и заголовках. Убедитесь, что ваш код может правильно обрабатывать такие объекты.

31 мая 2019 г.

Бот API 4.3

  • Добавлена ​​поддержка Seamless Telegram Login на внешних сайтах.
  • Добавлен новый объект LoginUrl и новое поле login_url к объекту InlineKeyboardButton, который позволяет автоматически авторизовать пользователей перед тем, как они перейдут на URL, указанный ботом.Пользователям будет предложено подтвердить авторизацию в их приложении Telegram (требуется версия 5.7 или выше) при нажатии кнопки:

Также в этом обновлении:

  • Добавлено поле reply_markup к объекту сообщения, содержащему встроенную клавиатуру, прикрепленную к сообщению.
  • Если сообщение со встроенной клавиатурой пересылается, пересылаемое сообщение теперь будет иметь встроенную клавиатуру, если клавиатура содержала только кнопки url и login_url или если сообщение было отправлено через бота, а клавиатура содержала только url , login_url , switch_inline_query или switch_inline_query_current_chat кнопок.В последнем случае кнопки switch_inline_query_current_chat заменяются на кнопки switch_inline_query .
  • Боты теперь получают обновление edited_message , даже если изменилось только Message.reply_markup .
  • Боты, у которых есть can_edit_messages прямо в канале, теперь могут использовать метод editMessageReplyMarkup для сообщений, написанных другими администраторами, без ограничения в 48 часов.
  • Не забывайте, что начиная с июля 2019 года , запросов веб-перехватчиков из Bot API будут поступать из подсетей 149.154.160.0 / 20 и 91.108.4.0/22 ​​. Большинству пользователей не нужно ничего делать, чтобы продолжать получать веб-перехватчики. Если вы управляете входящим доступом с помощью брандмауэра, вам может потребоваться обновить конфигурацию. Вы всегда можете найти здесь список реальных IP-адресов серверов, используемых для отправки веб-перехватчиков: https://core.telegram.org/bots/webhooks.

14 апреля 2019

Бот API 4.2

  • Добавлена ​​поддержка собственных опросов: добавлен объект Poll, методы sendPoll и stopPoll и поле poll в объектах Message и Update.
  • Метод deleteMessage теперь можно использовать для удаления сообщений, отправленных пользователем боту в приватных чатах в течение 48 часов.
  • Добавлена ​​поддержка закрепленных сообщений в базовых группах в дополнение к супергруппам и чатам каналов: вы можете передать chat_id группы в pinChatMessage и открепитьChatMessage, а также получить закрепленное групповое сообщение в объекте Chat.
  • В объект ChatMember добавлено поле is_member , которое можно использовать для определения, является ли пользователь с ограниченным доступом участником чата.
  • Добавлено поле forward_sender_name в объект сообщения, содержащее имя отправителя, который решил скрыть свою учетную запись.
  • Начиная с июля 2019 года, запросы веб-перехватчиков от Bot API будут поступать из подсетей 149.154.160.0/20 и 91.108.4.0/22 ​​. Большинству пользователей не нужно ничего делать, чтобы продолжать получать веб-перехватчики. Если вы управляете входящим доступом с помощью брандмауэра, вам может потребоваться обновить конфигурацию. Вы всегда можете найти здесь список реальных IP-адресов серверов, с которых отправлялись веб-перехватчики: https: // core.telegram.org/bots/webhooks.
  • Эскизы документов теперь должны вписываться в квадрат 320×320 вместо 90×90.

27 августа 2018

Бот API 4.1

26 июля 2018

Бот API 4.0 .

  • Добавлена ​​поддержка Telegram Passport . Подробности см. В официальном объявлении в блоге и в руководстве.
  • Добавлена ​​поддержка для редактирования медиа-контента сообщений : добавлен метод editMessageMedia и новые типы InputMediaAnimation, InputMediaAudio и InputMediaDocument.
  • Добавлено поле thumb к объекту Audio, чтобы содержать эскиз обложки альбома, которому принадлежит музыкальный файл.
  • Добавлена ​​поддержка для прикрепления пользовательских эскизов к загруженным файлам. Для анимаций, аудио, видео и видеозаметок, размер которых меньше 10 МБ, миниатюры создаются автоматически.
  • tg: // URL-адреса теперь могут использоваться во встроенных кнопках URL-адресов клавиатуры и text_link объектах сообщений.
  • Добавлен метод sendAnimation, который можно использовать вместо sendDocument для отправки анимаций, указав их продолжительность, ширину и высоту.
  • Добавлена ​​анимация поля к объекту сообщения. Для обратной совместимости, когда это поле установлено, также будет установлено поле документа .
  • Добавлено два новых типа MessageEntity: cashtag и phone_number .
  • Добавлена ​​поддержка площадок Foursquare: добавлено новое поле foursquare_type в объекты Venue, InlineQueryResultVenue и InputVenueMessageContent, а параметр foursquare_type — в метод sendVenue.
  • Теперь вы можете создавать встроенные упоминания пользователей, которые нажимали кнопки обратного вызова вашего бота.
  • Теперь вы можете использовать заголовок ответа Retry-After , чтобы настроить задержку, после которой Bot API будет повторять запрос после неудачного ответа от веб-перехватчика.
  • Если веб-перехватчик возвращает ошибку HTTP 410 Gone для всех запросов более 23 часов подряд, он может быть автоматически удален.
  • Добавлена ​​поддержка vCard при совместном использовании контактов: добавлено поле vcard к объектам Contact, InlineQueryResultContact, InputContactMessageContent и методу sendContact.

13 февраля 2018

Бот API 3.6 .

  • Поддерживается форматирование текста в заголовках мультимедиа. Укажите желаемый parse_mode (Markdown или HTML), когда вы указываете заголовок.
  • В супергруппах, если бот получает сообщение, которое является ответом, он также получит сообщение, на которое это сообщение отвечает, даже если исходное сообщение недоступно из-за настроек конфиденциальности бота. (Другими словами, ответ на любое сообщение в супергруппе сообщением, в котором упоминается бот или содержит команду для него, действует как пересылка исходного сообщения боту).
  • В сообщение добавлено новое поле connected_website . Бот получит сообщение с этим полем в приватном чате, когда пользователь войдет в систему на веб-сайте, подключенном к боту, с помощью виджета входа и позволит отправлять сообщения от вашего бота.
  • Добавлен новый параметр supports_streaming в метод sendVideo и поле с тем же именем в объект InputMediaVideo.

17 ноября 2017

Бот API 3.5 .

11 октября 2017 г.

Bot API 3.4 .

23 августа 2017

Bot API 3.3 .

  • Боты теперь могут упоминать пользователей с помощью встроенных упоминаний без использования имен пользователей.
  • getChat теперь также возвращает закрепленные сообщения в супергруппах, если они есть. Добавлено новое поле pinned_message в объект чата.
  • Добавлены новые поля author_signature и forward_signature в объект Message.
  • Добавлено новое поле is_bot в объект «Пользователь».

21 июля 2017 г.

Бот API 3.2 . Научите своего бота обращаться со стикерами и наборами стикеров.

30 июня 2017 г.

Бот API 3.1 . Создайте собственную роботизированную полицию для супергрупп с помощью этих новых методов для ботов-администраторов:

  • Добавлены новые методы restrictChatMember и promotionChatMember для управления пользователями и администраторами, добавлен новый параметр until_date в kickChatMember для временных банов.
  • Добавлены новые методы exportChatInviteLink, setChatPhoto, deleteChatPhoto, setChatTitle, setChatDescription, pinChatMessage и unpinChatMessage для управления группами и каналами.
  • Добавлены новые поля фото , описание и invit_link в объект чата.
  • Добавлены новые поля до_даты , can_be_edited , can_change_info , can_post_messages , can_edit_messages , can_delete_messages , can_invite_users , can_restrict_messages , can_restrict_messages , can_restrictions_messages can_send_media_messages , can_send_other_messages и can_add_web_page_previews в объект ChatMember.

18 мая 2017

Представляем Bot API 3.0 .

НОВАЯ платежная платформа

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

НОВЫЕ видеосообщения

  • Начиная с Telegram v.4.0, пользователи могут отправлять короткие округленные видеосообщения, используя интерфейс, аналогичный интерфейсу голосовых заметок.
  • Добавлен метод sendVideoNote, новое поле video_note в Message, поля record_video_note или upload_video_note в sendChatAction.

NEW Многоязычные боты

  • Объект «Пользователь» теперь может иметь поле language_code , которое содержит языковой тег IETF языка пользователя.
  • Благодаря этому ваш бот теперь может предлагать локализованные ответы пользователям, говорящим на разных языках.

Больше возможностей для ботов-администраторов

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

Незначительные изменения

  • Заменено поле new_chat_member в сообщении на new_chat_members (старое поле еще некоторое время будет доступно для целей совместимости).
  • Встроенные клавиатуры с switch_inline_query и switch_inline_query_current_chat больше нельзя отправлять в каналы, потому что они там бесполезны.
  • Новые поля gif_duration в InlineQueryResultGif и mpeg4_duration в InlineQueryResultMpeg4Gif.

4 декабря 2016 г.

Представляем Bot API 2.3.1 , отличное небольшое обновление, которое даст вам больше контроля над тем, как ваш бот получает обновления.

  • Используйте новое поле max_connections в setWebhook, чтобы оптимизировать нагрузку на сервер вашего бота
  • Используйте allowed_updates в setWebhook и getUpdates для выборочной подписки на обновления определенного типа. Помимо прочего, это позволяет вам перестать получать обновления о новых сообщениях в каналах, где ваш бот является администратором.
  • deleteWebhook переехал из setWebhook, чтобы получить для себя целый отдельный метод.

21 ноября 2016

Бот API 2.3

  • Модифицированный режим конфиденциальности бота для единообразия.
  • Теперь ваш бот может получать обновлений о сообщениях в каналах . В Обновить добавлены новые поля channel_post и edited_channel_post .

  • Теперь вы можете обновить высокие баллы до более низкого значения, используя новый параметр force в setGameScore.Удобно для наказания читеров или исправления ошибок в таблице рекордов вашей игры.

  • Начиная с сегодняшнего дня сообщения с высокими оценками по умолчанию будут обновляться с новыми рекордами. Используйте disable_edit_message в setGameScore, если вы этого не хотите.
  • Параметр edit_message из setGameScore больше не используется. Для обратной совместимости это будет некоторое время учитываться, если только disable_edit_message не передано явно.
  • В сообщение добавлено новое поле forward_from_message_id .
  • Добавлен новый параметр cache_time в answerCallbackQuery. Со временем будет работать в приложениях Telegram — где-то после версии 3.14, может быть, 3.15.
  • Переименовано hide_keyboard в remove_keyboard в ReplyKeyboardRemove для ясности. hide_keyboard еще некоторое время будет работать в целях обратной совместимости.

3 октября 2016 г.

API ботов 2.2. Представляем новую игровую платформу! См. Это введение для краткого обзора.
Если вы не разработчик, вам может понравиться , этот удобный пост в блоге больше.

Прочие изменения

  • Новое поле all_members_are_administrators в объекте Chat.
  • Определенные ответы сервера теперь могут содержать новое поле параметров с расширенной информацией об ошибках, которые произошли при обработке ваших запросов.

25 мая 2016

22 мая 2016 г.

  • Бот API 2.1. Добавлены дополнительные инструменты для ботов-администраторов групп. Теперь ваш бот может получить список администраторов и количество участников в группе, проверить текущий статус пользователя (администратор, создатель, покинул группу, исключен из группы) и покинуть группу.
  • Добавлены новые методы: getChat, leaveChat, getChatAdministrators, getChatMember, getChatMembersCount.
  • Добавлена ​​поддержка отредактированных сообщений и новых упоминаний из Telegram v.3.9. Новые поля: edited_message в обновлении, edit_date в сообщении, пользователь в MessageEntity.Новое значение text_mention для поля типа в MessageEntity.

12 мая 2016

6 мая 2016 г.

  • Добавлено поле emoji в объект Sticker. Теперь ваш бот может узнать смайлик, которому соответствует наклейка.
  • Добавлено поле forward_from_chat в объект Message для сообщений, пересылаемых с каналов.

9 апреля 2016 г.

Представляем Bot API 2.0 . Посетите эту страницу, чтобы ознакомиться с этим крупным обновлением.

Встроенные боты

  • Добавлена ​​поддержка всех типов контента, доступных в Telegram. 19 типов объектов InlineQueryResult теперь поддерживаются.
  • Встроенные боты теперь могут заменять любого контента текстом. Добавлено 4 типа объектов InputMessageContent.
  • Ваш встроенный бот также может запрашивать у пользователей разрешение на использование их местоположения. Добавлена ​​новая команда Botfather / setinlinegeo , добавлено поле location к объекту InlineQuery, добавлены поля location и inline_message_id в объект ChosenInlineResult.
  • Добавлен простой способ для переключать между встроенным режимом и приватным чатом с ботом — полезно для настройки, установления внешних подключений и обучения пользователей тому, как использовать вашего бота в встроенном режиме. В метод answerInlineQuery добавлены параметры switch_pm_text и switch_pm_parameter .

Разное

20 февраля 2016

  • Добавлен параметр disable_notification ко всем методам отправки сообщений или любого рода.
  • Удалена обратная совместимость из метода sendAudio. Голосовые сообщения теперь нужно отправлять с помощью метода sendVoice. Больше нет необходимости указывать непустой заголовок или исполнителя при отправке аудио по file_id .

20 января 2016

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

14 января 2016

  • Теперь вы можете собирать отзывы о том, какие результаты, предоставленные вашим встроенным ботом, выбирают пользователи. Добавлена ​​команда setinlinefeedback для Botfather, новый тип ChosenInlineResult, новое поле selected_inline_result в объект Update.

4 января 2016

Ноябрь 2015

  • Добавлена ​​поддержка супергрупп. Поле Type в объекте Chat теперь может содержать «супергруппу».
  • В объект сообщения добавлены новые необязательные поля: supergroup_chat_created , migrate_to_chat_id , migrate_from_chat_id и channel_chat_created .

8 октября 2015 г.

  • Добавлена ​​начальная поддержка канала для ботов (на данный момент клиенты Telegram не поддерживают это, ждите обновлений):
  • Поле Chat в сообщении теперь относится к новому типу Chat.
  • Теперь вы можете передавать имя пользователя канала (в формате @channelusername ) вместо chat_id во всех методах (и вместо from_chat_id в forwardMessage).Чтобы это работало, бот должен быть администратором канала (и это именно то, что клиенты Telegram пока не поддерживают — добавление ботов в качестве администраторов скоро появится).

18 сентября 2015 г.

  • Боты теперь могут скачивать файлы и медиафайлы, отправленные пользователями.
  • Добавлены getFile и File.

7 сентября 2015 г.

  • Теперь вы можете передавать параметры с помощью application / json (обратите внимание, что это не работает для загрузки файлов: используйте multipart / form-data для загрузки файлов).
  • Добавлена ​​очень простая поддержка уценки. В sendMessage добавлено новое поле parse_mode . На данный момент сообщения с уценкой будут корректно отображаться только в Telegram для Android . Другие официальные приложения скоро появятся.

29 августа 2015

  • Добавлена ​​поддержка самозаверяющих сертификатов: загрузите свой сертификат с помощью параметра certificate в методе setWebhook.
  • Теперь вы можете делать новые запросы при ответе на обновления веб-перехватчика.

15 августа 2015

  • Добавлен новый тип Voice и новый метод sendVoice для отправки голосовых сообщений.
  • Ранее Audio и sendAudio теперь следует использовать для отправки музыкальных файлов. Клиенты Telegram будут отображать такие файлы во встроенном в приложение музыкальном плеере. Если вы использовали sendAudio для вашего бота для отправки голосовых сообщений, используйте вместо него sendVoice .
  • Добавлены необязательные поля performer , title в объект Audio и в метод sendAudio .
  • Добавлено необязательное поле voice в объект Message .

июль 2015

  • Поле thumb теперь является необязательным для объектов Video, Sticker и Document
  • API теперь поддерживает подписи к видео и фотографиям. Поле caption было удалено из объекта Video и добавлено к объекту Message.
  • caption и duration необязательных полей были добавлены в метод sendVideo.
  • Исправлена ​​опечатка: user_id в объекте Contact теперь правильно помечен как Integer, а не String

24 июня 2015 г.

Официальный запуск бот-платформы.

Назад к руководству по API ботов »

,

Прекрасное руководство Марвина по всем вещам Webhook

В настоящее время мы поддерживаем два способа обработки обновлений ботов: getUpdates и setWebhook . getUpdates — тянущий механизм, setwebhook — толкающий. Хотя концепция веб-перехватчика довольно проста, настройка отдельных компонентов оказалась сложной для многих. Это руководство предоставляет дополнительную информацию для тех из вас, кто достаточно смел, чтобы отважиться погрузиться в искусство вебхука.

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

Это:

  1. Избегает того, что ваш бот часто запрашивает обновления.
2. Избегает необходимости в каком-либо механизме опроса в вашем коде.  

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

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

Чтобы мы могли это сделать, есть несколько основных требований:

Укороченная версия

Вам понадобится сервер:

  • Поддерживает IPv4, IPv6 в настоящее время не поддерживается для веб-перехватчиков.
  • Принимает входящие POST-сообщения из подсетей 149.154.160.0/20 и 91.108.4.0/22 ​​ на порт 443, 80, 88 или 8443.
  • Умеет обрабатывать TLS1.2 (+) HTTPS-трафик.
  • Предоставляет поддерживаемый, проверенный или самоподписанный сертификат без подстановочных знаков.
  • Использует CN или SAN, соответствующий домену, который вы указали при настройке.
  • Предоставляет все промежуточные сертификаты для завершения цепочки проверки.

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

Более длинная версия

  • Доменное имя

    Для настройки веб-перехватчика нужен URL-адрес, на который мы будем отправлять сообщения.Для этого вам понадобится сервер с доменным именем. Если у вас его нет, вам нужно сначала получить его. Telegram в настоящее время не предлагает услуги хостинга или доменного имени. В Интернете довольно много провайдеров VPS / веб-хостинга, не стесняйтесь выбирать одного по своему вкусу.
    Если вы используете самозаверяющий сертификат, вы можете использовать IP в качестве CN вместо имени домена.
    Как мне получить сервер с доменным именем?

  • Открытый порт

    Веб-перехватчику нужен открытый порт на вашем сервере.В настоящее время мы поддерживаем следующие порты: 443, 80, 88 и 8443 . Другие порты не поддерживаются и работать не будут. Убедитесь, что ваш бот работает на одном из поддерживаемых портов и доступен по общедоступному адресу.

      Если вы хотите ограничить доступ только к Telegram, разрешите трафик с 149.154.167.197-233 (начиная с июля 2019 используйте: 149.154.160.0/20 и 91.108.4.0/22).
    Если в будущем что-то перестанет работать, проверьте этот документ еще раз, как
    диапазон может расширяться или изменяться. 

    Как проверить наличие открытых портов или ограничить доступ к моему боту?

  • Всегда SSL / TLS

    Веб-перехватчик требует шифрования SSL / TLS, независимо от того, какой порт используется. Невозможно использовать простой текстовый HTTP-перехватчик. Вы тоже не должны хотеть этого ради своего бота и пользователей.
    SSL / TLS, почему я должен обрабатывать это для веб-перехватчика?

  • Не все SSL / TLS равны

    Мы поддерживаем любую версию SSL / TLS TLS1.2 и выше для вашего веб-перехватчика. Это означает, что SSLV2 / 3 / TLS1.0 / TSL1.1 НЕ поддерживаются из-за проблем безопасности, связанных с этими старыми версиями.
    Как проверить, что я использую правильную версию?

  • SSL нужен сертификат

    Общее имя (CN) вашего сертификата (самоподписанного или проверенного) должно совпадать с доменным именем, на котором размещен ваш бот. Вы также можете использовать альтернативное имя субъекта (SAN), которое соответствует домену вашего веб-перехватчика.Поддерживается маршрутизация с указанием имени сервера (SNI). Если вы используете самозаверяющий сертификат, вы можете использовать IP-адрес в качестве CN вместо имени домена.
    Сертификат, где его получить и как?

  • Подтверждено или самоподписано

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

  • Поддерживаемые сертификаты

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

  • Недоверенный корень

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

  • Промежуточные сертификаты

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

  • Дополнительная информация

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

  • Тестирование бота

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

  • Не паникуйте.

    Если к настоящему моменту вы ищете свои рыболовные снасти, потому что мы упомянули порты и крючки, или вы собираетесь узнать в Google, что это за URL-адрес приманки и TLS, это руководство может не полностью для вас. Скорее всего, вы все еще являетесь блестящим программистом ботов, не волнуйтесь.Возможно, вся эта штука с веб-перехватчиком нова для вас, не все потеряно. Если у вас сейчас рабочая ситуация с getUpdates, неплохо было бы снова взять это руководство в дождливое воскресенье днем ​​и не торопиться, чтобы почитать некоторые темы в Интернете. В конце концов, это руководство может содержать лишь ограниченное количество информации.

Подробная версия

Как мне получить сервер с доменным именем?

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

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

Если вы здесь застряли, сделайте выбор:

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

  • Воспользуйтесь размещенной службой и позвольте группе профессионалов позаботиться о таких вещах, как регистрация домена, настройка DNS, веб-сервера, его безопасность и т. Д.

  Если вы собираетесь использовать услуги хостинга, обязательно ищите провайдера, который
не только поддерживает потребности вашего кода, например: поддержка вашей версии PHP,
но тот, который также обрабатывает SSL и позволяет создавать / развертывать сертификаты. 
  • Сойди с ума, нырни в интернет и начни читать. Как только вы будете уверены, что у вас есть все основные теории, найдите себе хороший хостинг VPS или разверните свой собственный компьютер дома и возвращайтесь к нам здесь.
Как проверить наличие открытых портов или ограничить доступ к моему боту?

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

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

  • Убедитесь, что ваш бот-процесс действительно настроен на прослушивание порта, который вы используете.
    netstat –ln | grep portnumber
    Показывает, действительно ли ваш бот прослушивает входящие запросы на ожидаемом вами порту.
    sudo lsof -i | grep process name
    Это простой способ проверить, действительно ли он прослушивается процессом, который использует ваш бот.
  • Убедитесь, что он правильно слушает.
    Ваш бот должен прослушивать адрес, который вы открыли извне (ваш общедоступный IP-адрес) , он также может прослушивать все адреса (*: или 0.0.0.0) .
    netstat и lsof -команд, упомянутые выше, помогают проверить это. Если ничего не появляется, пора проверить вашу конфигурацию и исправить ее. Установите правильный IP-адрес, убедитесь, что он прослушивает поддерживаемый порт, и запускайте! Просто используйте веб-браузер, чтобы проверить, доступны ли вы.Проблема может быть в конфигурации вашего бота, конфигурации виртуального хоста вашего веб-сервера или конфигурации привязки серверов.
  • Если вы по-прежнему не можете дозвониться до своего адреса, проверьте брандмауэр.
    sudo iptables –L
    ИЛИ
    sudo ufw status verbose (Ubuntu)
    Дает вам некоторое представление о текущих настройках межсетевого экрана.

  • Если похоже, что вы блокируете входящий трафик, давайте это исправим.
    sudo iptables –A INPUT –p tcp –m tcp –dport portnumber -j ACCEPT
    OR
    sudo ufw allow portnumber / tcp
    Разрешает входящий трафик на всех интерфейсах на указанный порт TCP.
    sudo iptables –A INPUT –i interfacename –p tcp –m tcp –dport portnumber -j ACCEPT
    OR
    sudo ufw allow in on interfacename to any port portnumber proto tcp
    Разрешает входящий трафик на определенный интерфейс и конкретный порт отовсюду.
    sudo ifconfig
    Помогает найти интерфейс с общедоступным адресом, который вы собираетесь использовать.

  Если вы используете iptables, обязательно СОХРАНИТЕ после изменения конфигурации.
В системе на основе Debian хорошим вариантом будет пакет iptables-persistent.
RHEL / CentOS предлагает сервис iptables save -command.
Также помогает быстрый поиск в Интернете по запросу "YOUROPERATINGSYSTEM save iptables".  
  • Если вам просто нужны советы по ограничению входящего трафика:
    sudo iptables –A INPUT –i interfacename –p tcp –m iprange –src-range 149.154.167.197-149.154.167.233 –dport portnumber -j ACCEPT
    OR
    sudo ufw разрешить по имени интерфейса на любой порт номер порта proto tcp из 149.154.167.192/26
    Разрешает входящий трафик на определенный интерфейс и конкретный порт из определенного диапазона адресов. (ufw в примере использует маску подсети в диапазоне от 192 до 255)

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

SSL / TLS, что это такое и почему я должен обрабатывать это для веб-перехватчика?

Вы уже знакомы с ним в той или иной форме. Каждый раз, когда вы видите этот (красиво зеленый) замок на панели браузера, вы знаете, что с достаточной уверенностью можно предположить, что вы попали на сайт, который действительно хотели посетить. Если вы видите зеленый замок, это значит, что SSL / TLS работает. Если вы хотите узнать больше о том, как работает SSL / TLS, лучше поискать в Интернете.

Основное различие между getUpdates и веб-перехватчиком заключается в способе соединения.getUpdates означает, что вы подключитесь к нашему серверу, веб-перехватчик означает, что вместо этого мы подключимся к вашему серверу. Подключение к вашему серверу должно быть безопасным, мы должны знать наверняка, что говорим именно с вами. Это означает, что вам придется заниматься всем этим шифрованием на стороне сервера, фактически представляя нам зеленый замок. Если вы используете веб-сервер для отправки сообщений, вам необходимо поддерживать обработку SSL / TLS на выбранном вами порту / виртуальном хосте. Поиск в Интернете по запросу «YOURWEBSERVER enable HTTPS» поможет вам.

Не используете обычный веб-сервер? Взгляните на нашу страницу с примерами, большинство примеров включают код для обработки SSL / TLS в настройке веб-перехватчика.

Как проверить, что я использую правильную версию?

Вы только что прочитали все, что связано с SSL / TLS, поняли, что это не так уж и плохо в настройке, и мы добавляем еще несколько требований. Вот несколько советов, как проверить, действительно ли вы поддерживаете TLS1.2.

  • Существует несколько онлайн-сервисов, позволяющих проверить установку сертификата,
    Они предоставляют обзор поддерживаемых версий TLS / комплектов шифров и другие подробности.Найдите в Интернете Symantec crypto report или Qualys ssl . Оба предоставляют инструменты для проверки вашей настройки.

  • Локальную проверку также можно выполнить несколькими способами, вот три варианта:

    • Просто:
      Используете Chrome в качестве браузера? Откройте URL-адрес своего бота и проверьте данные сертификата. Если вы поддерживаете TLS, Chrome сообщает об этом на вкладке обзора безопасности. Другие браузеры, вероятно, могут предоставить вам аналогичную базовую информацию.

    • Использование curl:
      curl --tlsv1.2 -v -k https: // yourbotdomain: yourbotport /
      Вы можете добавить --tlsv1.2 , чтобы заставить curl использовать TLS1.2 при попытке подключения. -k не является обязательным и используется для проверки самоподписанного сертификата. yourbotdomain — это общедоступное имя хоста, на котором работает ваш веб-перехватчик. Для локального тестирования вы также можете использовать IP. yourbotport — это порт, который вы используете.

    • Использование OpenSSL
      openssl s_client -tls1_2 -connect yourbotdomain: yourbotport -servername yourbotdomain
      Вы можете добавить -tls1_2 , чтобы заставить OpenSSL использовать TLS1.2 при попытке подключения. yourbotdomain — это общедоступное имя хоста, на котором работает ваш веб-перехватчик. Для локального тестирования вы также можете использовать IP. yourbotport — это порт, который вы используете. Обратите внимание, что https: // не используется для OpenSSL. -servername не является обязательным и включается здесь для некоторых общих хостеров, которые используют SNI для маршрутизации трафика в правильный домен. При использовании SNI вы заметите, что ваш сервер, похоже, возвращает сертификат для домена, отличного от вашего.Добавление -servername yourbotdomain гарантирует, что согласование SNI будет выполнено и будет возвращен правильный сертификат.

  • Некоторые дополнительные указатели конфигурации

    • Принудительное использование TLS на виртуальном хосте на Apache:
      SSLProtocol -all + TLSv1.2
    • Принудительное использование TLS на виртуальном хосте на Nginx:
      ssl_protocols TLSv1.2;
    • Принудительно использовать TLS для виртуальной машины Java через свойства системы:
      -Dhttps.протоколы = TLSv1.2 -Djdk.tls.client.protocols = TLSv1.2
    • Включение отладки ssl для вашей JVM:
      -Djavax.net.debug = ssl, handshake, record
  • Другие инструменты, которые могут помочь в устранении неполадок:

    • Wireshark : отличный захват пакетов
    • Tcpdump : одинаково хорошо и не требует графического интерфейса.
    • Charles : прокси для веб-отладки
    • Fiddler : прокси для веб-отладки
Сертификат, где и как его получить?

Вам нужен сертификат, выберите из этих типов;

  • Подтвержденный, поддерживаемый сертификат
  • Самоподписанный сертификат

  • Подтвержденный, поддерживаемый сертификат

    Использование подтвержденного сертификата означает, что у вас уже есть или вы получите сертификат, подтвержденный доверенным центром сертификации (CA).Есть много способов получить проверенный сертификат, платный или бесплатный. Двумя популярными примерами бесплатных поставщиков являются StartSSL и Let’s Encrypt . Можете выбрать другой. Просто сначала убедитесь, что поставщик, скорее всего, получит поддержку.
    Проверьте этот список перед выбором центра сертификации.
    После того, как вы выбрали центр сертификации и подтвердили с ним свою личность, вы можете создать свой сертификат. Это часто начинается с создания CSR (запроса на подпись сертификата). Создание CSR выполняется либо через ваш хост-компьютер, либо онлайн с помощью инструментов, предоставляемых центром сертификации.

  • Вот пример (вывод в формате PEM).

    • Использование OpenSSL:
      openssl req -newkey rsa: 2048 -keyout yourprivatekey.key -out yoursigningrequest.csr
  ----
Создание 2048-битного закрытого ключа RSA для записи нового закрытого ключа в yourprivatekey.key
Введите парольную фразу PEM: введите здесь пароль для вашего ключа
Проверка - введите парольную фразу PEM: подтвердите введенный пароль
-----
Вас сейчас попросят ввести информацию, которая будет включена
в ваш запрос на сертификат.То, что вы собираетесь ввести, называется отличительным именем или DN.
Поля довольно много, но можно оставить пустыми
Для некоторых полей будет значение по умолчанию, если вы введете '.',
поле останется пустым .-----
Название страны (двухбуквенный код) [Австралия]:
Название штата или провинции (полное название) [Some-State]:
Название населенного пункта (например, город) []:
Название организации (например, компания) [Internet Widgits Pty Ltd]:
Название организационной единицы (например, раздел) []:
Общее имя (например, полное доменное имя сервера или ВАШЕ имя) []: yourbotdomainname
Адрес электронной почты []:
Пожалуйста, введите следующие "дополнительные" атрибуты
для отправки с запросом на сертификат
Пароль вызова []:
Необязательное название компании []:
---  
  • Другой пример:

    • Использование Java keytool:
      keytool -genkey -alias yourbotdomainname -keyalg RSA -keystore yourkeystore.jks -размер ключа 2048
  ---
Введите пароль хранилища ключей:
Повторно введите новый пароль:
Ваше имя и фамилия? [Неизвестно]: yourbotdomainname
Как называется ваше организационное подразделение? [Unknown]:
Как называется ваша организация? [Unknown]:
Как называется ваш город или населенный пункт? [Unknown]:
Как называется ваш штат или провинция? [Unknown]:
Какой двухбуквенный код страны у этого устройства? [Unknown]:
Правильно ли CN = test.telegram.org, OU = Unknown, O = Unknown, L = Unknown, ST = Unknown, C = Unknown?
[нет да
Введите ключевой пароль для вашего бот-домена
(ВОЗВРАТ, если такой же, как пароль хранилища ключей):
---  

Это создает начальное хранилище ключей, из которого затем можно создать CSR следующим образом:

keytool -certreq -alias yourbotdomainname -keystore yourkeystore.jks -файл yourbotdomainname.csr

  ---
Введите пароль хранилища ключей:
---  

Для проверки вашего сертификата общее имя (CN) должно соответствовать вашему домену веб-перехватчика. Например, если вы используете https://www.example.com/example.php в качестве адреса веб-перехватчика, CN сертификата должен быть www.example.com.
Итак, вам нужно точное совпадение полного доменного имени, которое вы устанавливаете для веб-перехватчика

Существует исключение, если вы используете SAN (альтернативное имя субъекта), адрес веб-перехватчика может совпадать либо с CN вашего сертификата, либо с ИЛИ с одним из SAN, указанным в сертификате.В большинстве случаев вы будете использовать CN.

Создайте CSR и передайте содержимое файла в CA. Большинство CA достаточно любезны, чтобы дать вам пример команды формата ввода, который они ожидают.

cat yoursigningrequest.csr или cat yourbotdomainname.csr
Позволяет вам взглянуть на только что сгенерированный CSR:

Это не кажется информативным, но мы можем сделать вывод, что файл имеет формат PEM (в кодировке ASCII base64) и содержит запрос на подпись сертификата.К счастью, можно посмотреть на удобочитаемое содержимое CSR. Используйте следующие команды, чтобы дважды проверить правильность установки всех полей.

Подтвердите свой CSR и предоставьте его в центр сертификации, чтобы получить сертификат. В качестве примера мы будем использовать StartSSL. StartSSL позволяет вам установить до 5 имен (SAN). Их промежуточный сертификат также необходим для работы веб-перехватчика, что составляет хороший полный пример.

Перейдите к мастеру сертификатов, введите требуемые имена хостов для вашего сертификата SSL (это CN, который вы также установили в CSR и необязательном SAN).

В приведенном выше примере мы выбрали для установки CN (test.telegram.org) , но также и SAN (sanexample.telegram.org) . Указанный CN должен совпадать с CN, используемым для генерации CSR.
Установите свой CN (и дополнительный SAN) и скопируйте содержимое файла yoursigningrequest.csr.

Вставьте содержимое, отправьте и все готово.

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

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

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

  • Самоподписанный сертификат

    Использование самозаверяющего сертификата означает отказ от цепочки доверия, поддерживаемой ЦС.Вместо этого вы СА. Чтобы это работало, требуется небольшая разница в настройке. Поскольку у Telegram не будет цепочки доверия для проверки вашего сертификата, вы должны использовать сгенерированный общедоступный сертификат в качестве входного файла при настройке веб-перехватчика. Имейте в виду, что файл сертификата должен быть загружен как данные multipart / form в формате в кодировке PEM (ASCII BASE64).

  • Сначала сгенерируем сертификаты:

    • Использование OpenSSL:
      openssl req -newkey rsa: 2048 -sha256 -nodes -keyout ВАШ ЧАСТНЫЙ.key -x509 -days 365 -out YOURPUBLIC.pem -subj "/ C = US / ST = New York / L = Brooklyn / O = Example Brooklyn Company / CN = YOURDOMAIN.EXAMPLE"
      У вас будет 2 файла , закрытый ключ и файл открытого сертификата. Используйте YOURPUBLIC.PEM в качестве входного файла для настройки веб-перехватчика.

    • Использование Java keytool:
      keytool -genkey -keyalg RSA -alias YOURDOMAIN.EXAMPLE -keystore YOURJKS.jks -storepass YOURPASSWORD -validity 360 -keysize 2048

        Как ваше имя и фамилия?
      [тест.telegram.org]:
      Как называется ваше организационное подразделение?
      [Unknown]:
      Как называется ваша организация?
      [Unknown]:
      Как называется ваш город или населенный пункт?
      [Unknown]:
      Как называется ваш штат или провинция?
      [Unknown]:
      Какой двухбуквенный код страны у этого устройства?
      [Unknown]:
      Правильно ли CN = test.telegram.org, OU = Unknown, O = Unknown, L = Unknown, ST = Unknown, C = Unknown?
      [нет]: да  

      После этого вам понадобятся еще 2 команды для экспорта файла общедоступного сертификата из созданного хранилища (вы будете использовать хранилище для вашей JVM и PEM для настройки веб-перехватчика).

    • Преобразование JKS в pkcs12 (промежуточный шаг для преобразования в PEM):
      keytool -importkeystore -srckeystore YOURJKS.jks -destkeystore YOURPKCS.p12 -srcstoretype jks -deststoretype pkcs12

    • Конвертировать PKCS12 в PEM (требуется OpenSSL)
      openssl pkcs12 -in YOURPKCS.p12 -out YOURPEM.pem -nokeys

    • Использование Windows:
      Создание самозаверяющего сертификата с помощью собственных утилит Windows также возможно, хотя двоичные файлы OpenSSL для Windows доступны в Интернете.
      certreq -new TEMPLATE.txt RequestFileOut создает CSR.

    • ШАБЛОН.txt, пример файла:

        [NewRequest]
      ; В этом разделе должно быть установлено хотя бы одно значение
      Subject = "CN = DOMAIN.EXAMPLE"
      KeyLength = 2048
      KeyAlgorithm = RSA
      HashAlgorithm = sha256
      ; MachineKeySet = true
      RequestType = Cert
      UseExistingKeySet = false; генерирует новый закрытый ключ (для экспорта)
      Exportable = true; делает закрытый ключ экспортируемым с помощью PFX  

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

  • Окна продолжение:

    • Вы можете посмотреть сертификаты в своем магазине с помощью:
      certutil -store -user my

    • Чтобы экспортировать установленный сертификат в формате DER (промежуточный шаг для преобразования в PEM):
      certutil -user -store -split my SERIALNUMBER YOURDER.der

    • Теперь вы можете преобразовать сертификат в PEM:
      certutil -encode YOURDER.der YOURPEM.pem
      Помните, что в качестве входных данных для параметра самозаверяющего сертификата веб-перехватчика требуется только общедоступный сертификат.
      certmgr.msc также можно использовать как графический интерфейс для экспорта общедоступной части самозаверяющего сертификата в PEM.

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

Как установить веб-перехватчик для любого типа?

Метод setWebhook необходим для обоих типов.Для подтвержденного сертификата с доверенным корневым ЦС достаточно использовать метод setWebhook только с параметром URL.

  • Пример curl для подтвержденного сертификата:
    curl -F "url = https: // / " https://api.telegram.org/bot/setWebhook

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

  • Пример curl для самоподписанного сертификата:
    curl -F "url = https: // / "-F" certificate = @ .pem "https://api.telegram.org/bot/setWebhook

-F означает, что мы используем multipart / form-data -type для предоставления сертификата, тип параметра сертификата — inputFile. Убедитесь, что вы используете правильный тип.

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

  • Пример curl для очистки предыдущего веб-перехватчика:
    curl -F "url =" https://api.telegram.org/bot/setWebhook

Имейте в виду, что параметр URL начинается с https: // при настройке веб-перехватчика. По умолчанию это означает, что мы стучимся к вам через порт 443. Если вы хотите использовать другой порт (80,88 или 8443), вам необходимо указать порт в параметре URL.

  • Пример:
    url = https: // : 88 /
Установка проверенного веб-перехватчика с ненадежным корнем

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

  • Пример curl для предоставления ненадежного корневого сертификата:
    curl -F "url = https: // " -F "certificate = @ .pem" https: //api.telegram. org / bot / setWebhook
    Прежде чем вы сможете это сделать, вам понадобится корневой сертификат центра сертификации вашего сертификата. Большинство центров сертификации предоставляют свои корневые сертификаты в нескольких различных форматах (PEM / DER и т. Д.). Посетите веб-сайт вашего центра сертификации и загрузите корневой сертификат, указанный для вашего подтвержденного сертификата.

Эти команды можно использовать для быстрого преобразования корневого сертификата в формате DER в PEM:

  • Использование OpenSSL:
    openssl x509 -inform der -in root.cer -out root.pem

  • Использование Java keytool:
    keytool -import -alias Root -keystore YOURKEYSTORE.JKS -trustcacerts -file ROOTCERT.CER
    Сначала в хранилище ключей необходимо импортировать корневой сертификат:
    keytool -exportcert -alias Root -file -rfc -keystore YOURKEYSTORE.JKS

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

Поставка промежуточного сертификата

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

Если ваш веб-перехватчик не работает, и вам интересно, завершена ли цепочка:

Вот пример полной цепочки, обратите внимание, что в этом случае было предоставлено 2 промежуточных сертификата.

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

  • Apache:
    Добавьте промежуточный сертификат в конец файла, настроенного в директиве SSLCertificateFile конфигурации вашего виртуального хоста. Если вы используете более старую версию, чем Apache 2.4.8, вы можете использовать вместо нее директиву SSLCertificateChainFile .

  • Nginx:
    Добавьте промежуточный сертификат в конец файла, настроенного в директиве ssl_certificate_key конфигурации вашего виртуального хоста.

  • Быстрая команда, чтобы сделать это правильно:
    cat your_domain_name.pem intermediate.pem >> bundle.pem
    Убедитесь, что порядок правильный, иначе ожидайте неудачи.

  • Java keytool:
    keytool -import -trustcacerts -alias промежуточный -файл промежуточный.pem -keystore YOURKEYSTORE.jks

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

Тестирование бота с обновлениями

,

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *