бронирование мест;
финансовые переводы;
информационная поддержка;
тайм-менеджмент (чат-бот может добавить событие в календарь, создать оповещения о событиях);
голосование в самых разных нишах.
Это самые очевидные сценарии использования чат-бота в Telegram. Однако разработчик может настроить бот для решения практически любой задачи.
Создал ТЕЛЕГРАМ БОТ для ЗАРАБОТКА 2022/ Как Заработать Деньги в Интернете Без Вложений с Телефона?
Как написать текст для чат-бота, который сработает лучше менеджера по продажам
3 главных особенности чат-бота Telegram
начать диалог может только пользователь, но не сам чат-бот;
отсутствуют статусы, как у обычных аккаунтов;
название аккаунта всегда содержит слово bot;
6 полезных фишек чат-бота
доступен 24/7;
для создания чат-бота не нужен новый номер телефона;
все сообщения, создаваемые ботами, могут удаляться.
может переадресовывать на другие каналы коммуникации.
может отрабатывать возражения клиента.
нет ограничений по сложности коммуникаций, запрограммировать можно даже сложные сценарии общения.
Продвинем ваш бизнес
В Google и «Яндексе», соцсетях, рассылках, на видеоплатформах, у блогеров
Как сделать чат-бота в Telegram: пошаговая инструкция
Создаются и управляются боты с помощью другого бота – BotFather. К нему мы еще вернемся.
А пока, чтобы создать чат-бота, выполните следующие действия:
установите на компьютер десктоп-версию Telegram и запустите ее (создавать чат-ботов удобнее с компьютера); откройте Controller Bot;
нажмите START внизу экрана:
Используйте команду добавления нового канала:
Получите подробную инструкцию, как подключить нового бота:
Следуя инструкции, отправьтесь в BotFather и нажмите START внизу экрана:
Выберите команду /newbot:
Укажите полное имя бота. Это может быть название бренда / компании или произвольное имя:
Получите уникальный токен и скопируйте его.
Токен – уникальный ключ, который используется для доступа к Bot API. Токен имеет следующий вид: 110201543:ААHdqTcvCН1vGWJxfSеоfSAs0K5PALDsaw.
После создания бота на экране появится токен – ваш уникальный ключ, который используется для доступа к Bot API. Скопируйте его.
В случае потери или удаления диалога не нужно паниковать: снова отправьте команду /token в диалог, и новый вариант кода будет сразу же создан.
Вернитесь в ControllerBot и отправьте ему сгенерированный ранее токен:
Осталось выполнить два действия: добавить созданного бота в администраторы канала и переслать любое сообщение из созданного канала в ControllerBot:
Для этого создайте новый публичный канал через левое меню, нажав кнопку New Chanel:
Чтобы добавить созданного бота в администраторы канала, нужно выбрать его в чатах и нажать кнопку Manage Channel:
. и назначить администратора:
После выполнения двух требований ControllerBot мы успешно подключили канал. Осталось указать город для уточнения часового пояса:
Подтверждаем, нажав «Верно»:
В самом низу нажимаем кнопку «Создать новый пост»:
Бот предложит настроить форматирование. В 95 % случаев подойдет Markdown (прим. ред.– облегчённый язык разметки):
Теперь создаем первый пост. Можно написать в нем любой текст, чтобы проверить, как это работает:
ControllerBot возвратит отправленную запись и предложит задействовать дополнительные инструменты:
Чтобы добавить в пост картинку, воспользуйтесь кнопкой «Прикрепить медиафайл».
Можно добавить в пост до шести смайлов, которые пользователи будут использовать в качестве реакций:
Если нужно привязать к кнопке ссылку, воспользуйтесь этой функцией:
Внимание: при добавлении URL-кнопки строго соблюдайте предложенный ботом синтаксис. Ему нужно отправить список всех URL-кнопок в одном сообщении.
После подготовки поста его нужно «отправить в мир». Для этого нажмите «Далее»:
. и выберите предпочтительный сценарий публикации:
Чат-боты для бизнеса: сценарии использования, сервисы, а также удачные и не очень кейсы компаний
Синтаксис. Команды. Настройки
Обязательно изучите справочник Bot API. Там вы найдете наиболее полную информацию по запросам, типам и методам используемого HTTP-интерфейса.
Главные команды запомнить несложно:
/start– приветственное сообщений, которое отправляется пользователю при первом взаимодействии с ботом;
/help– служебное сообщение, содержащее советы по использованию бота (список команд, краткое описание бота или алгоритм действий);
/settings– сообщение с настройками + возможности их изменения.
Если при создании бота вам не хватает стандартных функций, вы можете задействовать дополнительные команды длиной до 32 символов.
Соблюдайте синтаксис: /команда [необязательный] [аргумент]. Например, так мы получаем статистику по боту: /get_messages_stats
Ваша заявка принята.
Мы свяжемся с вами в ближайшее время.
Обратите внимание:список команд будет появляться сразу после ввода символа «/». Не забудьте активировать описание команд в «отце ботов».
О некоторых важных параметрах BotFather мы уже говорили. В первую очередь, это:
Name– значение выводится только в чатах и контактах пользователя.
Username– не длиннее 32 символов. Может включать латиницу, цифры и символ «_».
Бонус: самые важные команды для чат-бота
Эти команды помогут создать функционального и полезного для бизнеса чат-бота в Telegram:
Вы можете управлять ботом, просто отправляя ему следующие команды:
/newbot– создать нового бота
/mybots– редактировать своих ботов [бета]
Редактировать ботов
/setname– изменить имя бота
/setdescription– изменить описание бота
/setabouttext– изменить информацию о боте
/setuserpic– изменить фото профиля бота
/setcommands– изменить список команд
/deletebot– удалить бота
Настройки бота
/token– создать токен авторизации
/revoke– отозвать токен доступа к боту
/setinline– переключить встроенный режим
/setinlinegeo— включить встроенные запросы местоположения
/setinlinefeedback– изменить встроенную обратную связь
/setjoingroups– можно ли добавить вашего бота в группы?
/setprivacy– переключить режим конфиденциальности
Игры
/mygames– редактировать свои игры
/newgame– создать новую игру
/listgames– получить список ваших игр
/editgame – редактировать игру
/deletegame – удалить существующую игру
Дополнительных возможностей у бота в Telegram достаточно. Разбирать их все детально не имеет смысла, так как активно используется лишь небольшая часть.
8 мифов об автоворонках и чат-ботах в мессенджерах
Источник: texterra.ru
Всё, о чём должен знать разработчик Телеграм-ботов
Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй «как я создал такого-то бота» и туториалов вроде «как создать бота, который будет говорить hello world». При этом многие неочевидные моменты просто нигде не описаны.
Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?
Подробный гайд о том, как работать с ботами — под катом.
Статья обновлена в январе 2022
Обновлена информация об id пользователей и чатов: теперь их нельзя хранить в 32-битном типе чисел.
Добавлен раздел о сообщениях от лица групп и каналов
Обновлена информация о различных меню команд для отдельных чатов и пользователей.
Добавлена информация о спойлерах в разметке сообщений.
Добавлен раздел об обновлениях Bot API.
Начало работы
Telegram API vs Telegram Bot API
Рассказываю по порядку.
Телеграм использует собственный протокол шифрования MTProto. MTProto API (он же Telegram API) — это API, через который ваше приложение Телеграм связывается с сервером. Telegram API полностью открыт, так что любой разработчик может написать свой клиент мессенджера.
Для написания ботов был создан Telegram Bot API — надстройка над Telegram API. Перевод с официального сайта:
Чтобы использовать Bot API, вам не нужно ничего знать о том, как работает протокол шифрования MTProto — наш вспомогательный сервер будет сам обрабатывать все шифрование и связь с Telegram API. Вы соединяетесь с сервером через простой HTTPS-интерфейс, который предоставляет простую версию Telegram API.
Среди упрощений Bot API: работа через вебхуки, упрощенная разметка сообщений и прочее.
Почему-то мало кто знает о том, что боты могут работать напрямую через Telegram API. Более того, таким образом можно даже обойти некоторые ограничения, которые даёт Bot API.
Вся информация ниже будет по умолчанию относиться и к Bot API, и к Telegram API. О различиях я буду упоминать. От некоторых ограничений Bot API можно избавиться с помощью локального сервера, об этом в конце статьи.
На чём пишут Телеграм-ботов
Бот должен уметь отправлять запросы Телеграм-серверу и получать от него апдейты (updates, обновления).
Как получать апдейты в Bot API
Получать апдейты можно одним из двух способов:
Поллинг — просто регулярно отправлять запрос к серверу Телеграма для получения обновлений,
Вебхук — сделать так, чтобы Телеграм сам отправлял запросы по нужному URL.
Конечно, удобнее использовать библиотеки, чем делать http-запросы «руками».
Если вы попробуете загуглить, как написать Телеграм-бота на Python, вам предложат воспользоваться библиотеками python-telegram-bot и telebot. Но не стоит.
Ну, если вы только хотите познакомиться с разработкой ботов и написать своего hello-world-бота, то можете, конечно использовать и их. Но эти библиотеки могут далеко не всё. Среди разработчиков ботов лучшей библиотекой для ботов на Python считается aiogram. Она асинхронная, использует декораторы и содержит удобные инструменты для разработки. Ещё был хороший Rocketgram, но он давно не обновлялся.
Также ботов часто пишут на JavaScript, для этого обычно используется Telegraf. Библиотеки есть и для многих других языков, но используют их реже.
Если же вы хотите использовать Telegram API, то можете воспользоваться Python’овскими Telethon и Pyrogram.
Пример кода бота
Если вы хотите получить какое-то представление о том, как вообще выглядит код бота, вот вам пример использования на aiogram с его странички на GitHub:
import asyncio from aiogram import Bot, Dispatcher, types async def start_handler(event: types.Message): await event.answer( f»Hello, ?!», parse_mode=types.ParseMode.HTML, ) async def main(): bot = Bot(token=BOT-TOKEN) try: disp = Dispatcher(bot=bot) disp.register_message_handler(start_handler, commands=) await disp.start_polling() finally: await bot.close() asyncio.run(main())
Этот бот будет отвечать на команды /start и и /restart.
Создание бота
Единственная информация о Телеграм-ботах, которой в интернете полным-полно: как создать бота. Это делается через специального бота BotFather. Когда вы создадите бота, BotFather даст вам его токен. Токен выглядит примерно так: 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw . Именно с помощью токена вы сможете управлять ботом.
Один пользователь может создать до 20 ботов.
В BotFather удобно управлять ботами своими командой /mybots .
Юзернеймы
При создании бота нужно выбрать юзернейм. После этого поменять его будет очень сложно.
Как поменять юзернейм бота
Для этого бот должен (внезапно) быть рабочим, а также поддерживать английский язык.
Принято использовать такой формат обращения в поддержку:
Если вы везунчик 9999 lvl — вам ответят.
Очень многие юзернеймы уже заняты. Свободных коротких юзернеймов осталось очень мало. И что самое грустное: почти все эти боты мертвы. Просто не отвечают на сообщения. Наверное, это просто разные любопытные люди хотят сделать бота, создают его, а потом забивают.
У меня самого есть несколько лежащих ботов. Так что, думаю, лимит в 20 ботов на одного владельца вполне оправдан 🙂
Оформление бота
Открыв бота, пользователи могут увидеть его профиль.
Оформление бота настраивается в BotFather: меню /mybots → Edit Bot . Там можно изменить:
Имя бота.
Описание (Description) — это текст, который пользователи будут видеть в начале диалога с ботом под заголовком «Что может делать этот бот?»
Информация (About) — это текст, который будет виден в профиле бота.
Аватарка. Аватарки ботов, в отличие от аватарок пользователей и чатов, не могут быть анимированными. Только картинки.
Команды — тут имеются ввиду подсказки команд в боте. Подробнее о командах ниже.
Inline Placeholder — об инлайн-режиме см. ниже.
Стандартный совет: Потратьте свое время и заполните описание и информацию бота, чтобы пользователям было понятнее и проще его использовать. Можете оставить там свои контакты. И поставьте аватарку, чтобы бота было проще отличать от других чатов в списке.
Сообщения и чаты
Запуск бота пользователем
Когда пользователь впервые открывает бота, он видит кнопку «Запустить» или «Начать» (зависит от платформы пользователя), на английском — «Start». Нажимая на эту кнопку, он отправляет команду /start .
Таким образом, первое сообщение от пользователя — это всегда /start (либо /start с параметрами, об этом ниже в разделе «Диплинки»).
. если пользователь использует официальный клиент
На стороне сервера это не проверяется, поэтому теоретически пользователь может отправить боту любое сообщение через Telegram API.
Сообщения
Понятно, что главная функция бота — отправлять и получать сообщения.
И то, и другое можно делать со всеми видами сообщений (фото и видео, файлы, опросы, голосовые сообщения и т. д.).
В Телеграме можно делиться файлами до 2 ГБ, но в Bot API более жесткие лимиты: боты могут скачивать файлы до 20 МБ и отправлять файлы до 50 МБ.
Работа с файлами в Bot API
Если бот уже загрузил файл на сервер Телеграма, то он может использовать file_id, чтобы отправлять этот файл.
Загружать файл на сервер можно в том числе и по URL файла.
Куда может писать бот
Бот может писать в личку только тем пользователям, которые его запустили.Пользователь может заблокировать бота, и тогда бот снова не сможет ему писать.
Боты не могут писать другим ботам.
Бота можно добавить в группу (если в BotFather включена соответствующая настройка). По умолчанию он видит не все сообщения (об этом ниже, в разделе «Видимость сообщений в группах»).
В группе боту можно дать права администратора, чтобы он мог выполнять действия админов.
В одной группе может быть до 20 ботов. В публичные группы (группы с юзернеймом) ботов могут добавлять только админы.
Также бота можно добавить в канал, причем только как администратора. Самый частый способ использования ботов в каналах — добавление кнопок под постами («лайки», ссылки и прочее).
Как боты добавляют кнопки
У админа канала может быть специальное право: «Редактирование чужих публикаций». С помощью него боты редактируют посты, добавляя к ним кнопки.
Подробнее о кнопках тоже ниже.
Супергруппы
На самом деле многие группы в Телеграме являются супергруппами.
Почему так? Раньше было четкое разделение на группы и супергруппы. По задумке, супергруппы — это группы для сообществ. Супергруппы могут иметь больше участников, публичные ссылки и другие плюшки.
Со временем, видимо, решили, что это неудобная концепция. Теперь обычная группа становится супергруппой, когда у группы меняются какие-нибудь настройки (подробнее тут). Вот такой костыль.
В этой статье под группами я подразумеваю и супергруппы, и обычные группы.
Супергруппу нельзя обратно превратить в группу. С точки зрения API супергруппа устроена так же, как и канал. Важное отличие супергрупп от обычных групп состоит в нумерации сообщений: о нём чуть ниже.
id пользователей и чатов
У каждого пользователя, бота, группы, канала в Телеграме есть собственный id. Различать чаты в коде бота следует именно по id, потому что он никогда не меняется.
В токене бота первая часть — это его id. Например, токен 110201874:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw принадлежит боту с id 110201874 .
В Bot API перед id супергрупп и каналов пишется -100. Так, id 1356415630 превращается в -1001356415630 .
Не следует хранить id пользователей и чатов в 32-битном типе числа: теперь id могут превышать 2 31 -1.
id сообщений
Каждое сообщение в Телеграме имеет свой id. Это относится и к системным сообщениям (пользователь зашел в группу, изменилось название группы и т. д.)
Через Telegram API боты могут получать по запросу сообщения в любом чате по их id.
id сообщений в супергруппах и каналах уникальны для чата: первое сообщение в чате имеет номер 1, второе имеет номер 2 и так далее.
id сообщений в личных сообщениях и обычных группах работают по другому. Там, можно сказать, нумерация сквозная: id сообщения уникально для каждого отправившего его пользователя. Так, первое сообщение от пользователя во всех личках и группах имеет номер 1, второе сообщение от того же пользователя имеет номер 2 и так далее.
Видимость сообщений в группах
Обычно бот должен реагировать именно на команды. Телеграм не уведомляет бота об остальных сообщениях, и это гарантирует приватность переписки.
Но если боту нужно видеть все сообщения в группе (например, если это чат-бот или антиспам-бот), для него можно отключить Privacy mode.
Privacy mode — настройка в BotFather, которая по умолчанию включена. В таком режиме бот в группах видит только такие сообщения:
Сообщения с упоминанием бота,
Ответы на сообщение бота, ответы на ответы и так далее,
Системные сообщения,
Команды — о них в следующем пункте.
А если Privacy mode выключен, то бот видит все сообщения в группе.
Если бот — админ в группе, то он в любом случае видит все сообщения.
Бот, работающий через Bot API, в любом случае не будет видеть сообщения от других ботов.
Я включил Privacy mode, а он не работает
Нужно удалить бота из группы и добавить заново.
Исправленный баг с видимостью сообщений
Недавно был найден баг: боты не могли видеть некоторые сообщения от юзеров, если сообщения выглядят как команды с юзернеймом пользователя на конце.
Это могло нарушить работу антиспам- и других ботов.
Сейчас баг уже исправлен.
Сообщения от лица групп и каналов
В группах могут быть не только сообщения от пользователей, но и:
Сообщения в группе из привязанного канала (с точки зрения API это пересланные сообщения)
Сообщения от лица группы от анонимных администраторов той же группы
Сообщения от лица публичных каналов от любых пользователей
Учитывайте это при разработке ботов для групп.
Команды
Часто используемый способ «общения» пользователей с ботом — команды. Команды начинаются на «/» и состоят из латинских букв (можно использовать цифры и нижние подчеркивания).
Команды подсвечиваются как ссылки: нажатие отправляет команду в чат.
В BotFather можно указать подсказки команд для бота. Он будут отображаться при вводе «/» и команд. Если есть подсказки, рядом с кнопкой «Отправить» появляется кнопка для открытия меню команд.
Если в подсказках команд есть /help , в профиле бота появляется кнопка «Помощь с ботом». Нажатие на кнопку отправляет эту команду.
Если в подсказках команд есть /settings , в профиле бота появляется кнопка «Настройки бота». Нажатие на кнопку отправляет эту команду.
С 2021 года боты могут показывать разные меню команд для разных пользователей и групп, а также меню команд может зависеть от языка пользователя и того, является ли участник группы админом.
Разметка сообщений
Как вы, наверное, знаете, сообщения в Телеграме могут содержать не только обычный текст, но и жирный, курсив и др. В Bot API разметку сообщений можно делать в HTML и Markdown.
Разметка в Telegram API
В Telegram API для разметки надо вместе с сообщением передавать entities (MessageEntityBold, MessageEntityItalic и так далее). Хорошие библиотеки сами превращают HTML/Markdown в текст и entities.
Способы выделения текста:
Жирный текст
Курсив
Подчёркнутый текст
Зачёркнутый текст
Моноширинный текст («в строке» и «блоком»)
Ссылка (встроенная в текст)
Спойлер — текст, который показывается только после нажатия на плашку
Упоминание пользователя — текст, похожий на ссылку, клик по которому открывает профиль пользователя. Если упомянуть в группе её участника, он получит уведомление.
Чтобы вставить в сообщение упоминание пользователя, в Bot API нужно встроить ссылку на tg://user?id=123456789.
Кнопки
Инлайн-кнопки
Бот может оставлять кнопки под своими сообщениями.
Кнопки под сообщениями (они же inline keyboards / inline buttons) в основном бывают трёх видов:
URL button — кнопка с ссылкой.
Callback button. При нажатии на такую кнопку боту придёт апдейт. С созданием кнопки можно указать параметр, который будет указан в этом апдейте (до 64 байтов). Обычно после нажатий на такие кнопки боты изменяют исходное сообщение или показывают notification или alert.
Switch to inline button. Кнопка для переключения в инлайн-режим (об инлайн-режиме см. ниже). Кнопка может открывать инлайн в том же чате или открывать меню для выбора чата. Можно указать в кнопке запрос, который появится рядом с никнеймом бота при нажатии на кнопку.
Клавиатурные кнопки
Есть другой тип кнопок: keyboard buttons. Они отображаются вместо клавиатуры как подсказки. При нажатии на такую кнопку пользователь просто отправит этот текст.
При этом в личных чатах с помощью кнопки можно:
Запросить номер телефона пользователя,
Запросить геолокацию пользователя,
Открыть у пользователя меню создания опроса.
Есть опция resize_keyboard, которая отвечает за то, изменять ли высоту этой «клавиатуры из кнопок». По умолчанию она, почему-то, выключена, и тогда высота клавиатуры стандартная большая. Получаются кнопки как на этой картинке:
Чтобы показать клавиатурные кнопки, бот должен отправить сообщение. Можно отправить клавиатуру, которая свернётся (но не пропадёт) после нажатия на кнопку.
По умолчанию, если показать кнопки в группе, они будут видны всем пользователям. Вместо этого можно отобразить кнопки одновременно для этих пользователей:
Для пользователей, юзернеймы которых были в тексте сообщения,
Если это ответ на другое сообщение: для пользователя, который его отправил.
Ещё о кнопках
Оба типа кнопок могут составлять несколько рядов, в каждом из которых по несколько кнопок. Ограничения: в ряду может быть до 8 кнопок, а всего с сообщением до 100 кнопок.
При отправке сообщения можно выбрать одно (но не больше) из следующих действий:
Добавить к сообщению инлайн-кнопки,
Показать клавиатурные кнопки,
Убрать все клавиатурные кнопки,
Force reply: автоматически заставить пользователя ответить на сообщение. Так произойдёт то же самое, что и при нажатии пользователем кнопки «Ответить». Это нужно для того, чтобы бот мог общаться с пользователями в группах, не нарушая Privacy mode.
Таким образом, нельзя показать оба типа кнопок одновременно.
Взаимодействие с ботом
Ссылки на бота
Также существует прямая ссылка: tg://resolve?domain=examplebot
Подробнее о ссылках tg://
Такие ссылки могут не только заменять ссылки t.me, но и задавать свои действия. Например, tg://settings открывает настройки.
Ссылка на добавление в группу
По ссылке t.me/examplebot?startgroup=true у пользователя откроется меню: выбор группы для добавления бота.
Прямая ссылка: tg://resolve?domain=examplebotЗапустить», даже если пользователь уже запускал бота.
Пользователь нажимает на кнопку и видит сообщение /start (всё как обычно).
Боту вместо этого приходит сообщение /start
Так бот может отреагировать на запуск не как на обычный «/start», а другим способом.
Часто диплинки используются для реферальных программ (в качестве параметра можно передавать id пользователя, который поделился ссылкой). Есть и другие применения.
Прямая ссылка: tg://resolve?domain=examplebotSearch. «
В группе можно запретить использовать инлайн всем или некоторым участникам. В официальных приложениях Телеграм это ограничение объединено с ограничением на отправку стикеров и GIF.
Результаты инлайн-режима
Результаты можно отображать двумя способами:
Сеткой. Удобно для выдачи картинок.
Вертикальным списком. Удобно для выдачи текста.
Можно совмещать два типа, но корректно отображается это только на Telegram Desktop.
Приватность и геопозиция в инлайне
Когда пользователь вызывает инлайн-режим, бот не может получить никакую информацию о контексте, кроме информации о пользователе. Таким образом, бот не может узнать ни чат, в котором вызвали инлайн, ни сообщение, на которое пользователь отвечает.
Но зато если включить в BotFather настройку «Inline Location Data», то бот сможет видеть геопозицию пользователей, когда они используют инлайн (на мобильных устройствах). Перед этим у пользователей показывается предупреждение.
Inline feedback
Inline feedback — это апдейты о выбранных инлайн-результатах. Включаются через BotFather.
Предполагается использование inline feedback для сбора статистики, но не всегда он используется так. Inline feedback позволяет «подгружать» не все результаты сразу, а только выбранный. Например, если бот используется для поиска музыки, то он может загружать не все песни сразу, а только одну.
Важный момент: если вы получили апдейт об отправке инлайн-сообщения, то вы можете его редактировать, только если к нему прикреплены инлайн-кнопки. (Если кнопок нет, то в апдейте не указывается id инлайн-сообщения, по которому происходит редактирование).
Создание наборов стикеров
Платежи через ботов
Телеграм предоставляет ботам возможность принимать платежи от пользователей. Это делается через провайдеров ЮMoney, Сбербанк, Stripe и ещё 7.
Эта возможность используются редко, потому что для использования провайдеров нужно юридическое лицо.
UPD 04.2021.В новом обновлении появилось больше возможностей платежей для разработчиков. Теперь боты могут отправлять платежи не только в лс, но и в группы и в каналы. Это позволяет сделать из канала «витрину», на которой можно сразу купить товар. Вы можете посмотреть, как это выглядит, в официальном демо-канале.
HTML-игры в ботах
Telegram Login Widget
Вы можете добавить на свой сайт авторизацию через Телеграм. Процесс авторизации будет проходить так:
Пользователь должен будет ввести свой номер телефона.
Бот Telegram попросит подтвердить вход.
Пользователь авторизуется и нажимает на «Принять» на сайте.
Telegram Login Widget не связан с Login URL button (см. раздел про кнопки выше), а является его альтернативой.
Разработка ботов
Какие апдейты можно получать
Бот не может получить старые сообщения из чата. Бот не может получить список всех своих пользователей. Все, что может получать бот — это информацию об обновлениях. В этом заключается главная сложность разработки ботов.
Вы можете получать информацию о новых сообщениях в боте и других событиях, но только один раз. Вам придётся самим хранить список чатов, старых сообщений (если это зачем-то нужно) и так далее. Если вы случайно сотрёте/потеряете эту информацию, вы её больше никак не получите.
В Telegram API бот может чуточку больше: он может получать сообщения по id, получать список участников группы и прочее.
Получение апдейтов: Bot API vs Telegram API
Если вы получили апдейт в Bot API, то второй раз вы его уже не получите.
В Telegram API это не так: пользователь может пользоваться мессенджером через несколько клиентов, каждый из которых должен получать апдейты.
Если запустить для одного бота несколько программ на Telegram API, то каждая из них будет получать все апдейты.
Ограничения Bot API не позволяют сделать то же самое.
Обновления API
Telegram API и Telegram Bot API обновляются с появлением новых фич в Телеграме. Все обновления Bot API описаны на отдельной странице в документации и в официальном канале BotNews.
Лимиты
Конечно, на запросы к серверу существуют лимиты. В Bots FAQ на сайте Telegram названы следующие:
Не больше одного сообщения в секунду в один чат,
Не больше 30 сообщений в секунду вообще,
Не больше 20 сообщений в минуту в одну группу.
Эти лимиты не строгие, а примерные. Лимиты могут быть увеличены для больших ботов через поддержку.
Другие известные ограничения в Telegram собраны на limits.tginfo.me — см. раздел про ботов.
Рассылка по пользователям
Ниже в Bots FAQ сказано, что Bot API не позволяет рассылать сообщения всем юзерам одновременно и что в будущем, может быть, они что-то для этого сделают. И написано это уже несколько лет.
Они советуют растянуть рассылку на длительное время (8-12 часов) и замечают, что API не позволит отправлять сообщения более чем 30 пользователям в секунду.
Смена владельца бота
Осенью 2020 года появилась возможность передавать ботов другому человеку. Это можно сделать в настройках бота в BotFather. Для этого на вашем аккаунте должна быть включена двухфакторная авторизация — не менее, чем за 7 дней до передачи. Передать бота можно только пользователю, который что-либо ему писал.
Локальный сервер Bot API
Также осенью 2020 года исходники Bot API выложили на GitHub. Теперь вы можете поднять собственный сервер Bot API. На GitHub перечислены следующие преимущества:
Скачивание файлов с сервера без ограничения (ограничение на отправку файлов пользователями в Телеграме — 2 ГБ),
Загрузка файлов на сервер до 2000 МБ,
Загрузка файлов на сервер с помощью локального пути и URI файла,
Использование HTTP URL для вебхука,
Использование любого локального IP-адреса для вебхука,
Использование любого порта для вебхука,
Возможность увеличить максимальное число соединений до 100000,
Получение локального пути файла вместо загрузки файла с сервера.
Юзерботы
В начале статьи я рассказывал о том, что такое Telegram API и Telegram Bot API.
Telegram API используется не только для ботов — тогда в чём проблема управлять аккаунтами пользователей, как ботами? Люди это делают. Кто-то автоматически ставит текущее время себе на аватарку, кто-то скриптом реагирует на свои сообщения как на команды, кто-то сохраняет сообщения из публичных групп и каналов. Всё это называют юзерботами.
Юзерботов следует использовать аккуратно: за большую подозрительную активность аккаунт могут ограничить или забанить.
Заключение
Я постарался собрать в одном месте и структурировать информацию о всех возможностях Телеграм-ботов. Большое спасибо vanutp, NToneE и Grinrill за помощь с фактами. Если мы что-то забыли — пишите, исправлю.
Вообще интерфейс бота (то есть интерфейс чата) имеет много ограничений. Но плохо ли это? Действительно удобнее использовать инструмент, когда это часть привычной среды. Я часто прямо в переписке нахожу нужную картинку или информацию с помощью инлайн-ботов. Как заядлый пользователь Телеграма, я люблю использовать ботов. И создаю ботов.
И вы создавайте.
Источник: habr.com
Как сделать чат-бот в Телеграм
В 2021 году Telegram увеличил аудиторию на 25% и достиг 500 миллионов активных пользователей в месяц. Многие бренды, большие и малые, уже давно оценили потенциал площадки и используют мессенджер для работы с клиентами, увеличивая прибыль и лояльность аудитории.
Для улучшения коммуникации с пользователями и автоматизации общения, в Telegram предусмотрена возможность подключения ботов, которые обладают самым разным функционалом и отвечают запросам пользователей. Для создания хорошего бота требуются познания в программировании, что отталкивает многих от этого инструмента. Проблему решают сервисы-конструкторы, которые позволяют самостоятельно создать бота для своего канала с помощью готовых форм в удобном интерфейсе. В этом материале расскажем о том, как добавить бота в телеграм, как его создать при помощи конструкторов, а также поговорим о существующих сервисах по созданию ботов. Начнем!
Что такое боты в Телеграм
Боты в Telegram являются особым видом аккаунтов, которые получают сообщения от пользователей, и, с помощью заранее созданных скриптов, отвечают на запросы аудитории. У ботов отсутствует статус активности, а имя всегда оканчивается словом «bot». Ботам можно прописать любую функцию, которую выполняет в мессенджере человек, и он всегда будет готов помочь вашим пользователям или сотрудникам. Делятся боты на четыре направления по целевому назначению:
Чат-боты:имитируют текстовое общение на заданную пользователем тему;
Информационные боты:рассказывают пользователям о новостях, мероприятиях, акциях и прочих событиях вашего канала или бренда;
Игровые боты:позволяют пользователям запускать текстовые или HTML-5 игры в чатах и приватных сообщениях. Можно создать таблицы рекордов для создания соревновательного эффекта между пользователями;
Ассистенты:взаимодействуют с онлайн-сервисами как дополнение к веб-версии или приложению;
Дополнительные возможности ботов
Режим инлайн:позволяет вызывать бота из поля для сообщения с помощью имени пользователя-бота и запроса для поиска. В ответ вернутся найденные варианты результатов. Пользователь выбирает один из них, и выбранный результат публикуется в чате;
Клавиатуры:создание специальных кнопок, которые дадут пользователю заранее заготовленные варианты запросов или команд. Нажатие на клавишу отправит соответствующую команду на сервер. Таким образом, пользователю дается привычный интерфейс для работы с ботом. Telegram поддерживает до 100 клавиш;
Команды:создание текстовых команд, которые запускают события на сервере и позволяют гибко настраивать возможности;
Приватность:настройка видимости сообщений в группе, если есть необходимость дополнительно защитить информацию;
Внешнее связывание:каждый бот имеет ссылку, перейдя по которой, пользователь начнет диалог. Если добавить к ней параметры *start или startgroup с максимальной длиной в 64 символа, то можно заставить бота сразу выдать необходимую пользователю информацию, передать авторизационный токен пользователя, связанный с внешним сервисом, или использовать его как-то иначе по вашему усмотрению;
Чат-бот Telegram для бизнеса
Бизнес любого уровня может перенести часть задач на телеграм-ботов: осуществлять техническую поддержку, делать продажи, искать сотрудников и многое другое. Телеграм отличается тем, что ботов можно настроить практически под любые задачи. Рассмотрим на примерах:
Инфобизнес:продажи основных продуктов и трипваеров, презентация, работа с возражениями, консультации и записи на встречи, пересылка лид-магнита;
Event:описание и презентация мероприятий, сегментация аудитории по городам, сбор данных об аудитории, регистрация на участие в мероприятиях. Информационные и рекламные рассылки. Отправка дополнительных материалов и записей с конференций;
Служба поддержки:обработка сообщений первой линии поддержки, ответы на часто задаваемые вопросы, распределение вопросов по сложности и приоритету. Чем лучше продумана логика бота, тем больше вы разгружаете сотрудников своей службы поддержки;
Продажи:описание продукта с его преимуществами и УТП, описание компании, информация по доставке, проведение продажи и оплаты, ответы на часто задаваемые вопросы и связь с оператором. Каждому клиенту можно присвоить особый тег для того, чтобы в дальнейшем предлагать ему новые товары или проводить повторные продажи;
Клиники:описание клиники и информация о специалистах, ответы на самые частые вопросы, информация по расписанию работы конкретного специалиста и запись на прием, изменение даты и времени ранее назначенного приема, переход на консультацию с оператором;
Сайты новостей:рассылка новостей, включая разделения на тематики и настройку частоты рассылки, информация для рекламодателей и партнеров, предложение новостей, которые по мнению пользователей еще не опубликованы, но подходят по тематике;
HR:ознакомить кандидата с историей компании и портфолио, задать простые вопросы для отсеивания, предложить выполнить тестовые задания и объяснить условия их выполнения;
Кафе и рестораны:отправить акции и сезонные предложения, показать меню и сделать заказ, забронировать посещение, оставить отзыв или предложение.
Как создать и настроить чат-бота в Телеграм — инструкция
Разберемся, как создать бота в телеграм и добавить его на свой канал.
Шаг 1. Создание бота
Шаг 2. Подключение бота на примере SendPulse
Как настроить чат-бот в Telegram? Рассмотрим на примере конструктора SendPulse.
Данный сервис позволяет опробовать функционал бесплатно. Для этого достаточно зарегистрироваться на ресурсе и подключить необходимый канал – в данном случае Telegram.
Вам понадобится Токен Доступа, который вы получите на Шаге 1. Если подключение успешно завершилось, то по умолчанию бот научится писать автоматический «Стандартный ответ» на любое сообщение.
Изначально в SendPulse работает 3 предустановленных триггера для событий, которые запускают свои цепочки сообщений:
«Приветственная серия»:событие, которое наступает после того, как человек подписывается на бота. Тут вы можете оставить описание того, как отписаться от бота или снизить частоту оповещений. Перед этим можно рассказать о вашей компании или об информации, которую бот будет присылать пользователю, и чем она полезна;
«Стандартный автоответ»:событие запускается, если введенный пользователем текст не соответствует существующим командам бота. Поскольку предусмотреть все варианты нельзя, да и человек может допустить ошибку, то лучше информировать пользователя об этом. По умолчанию ссылаться на то, что оператор скоро ответит;
«Отписка от бота»:сообщение после отписки уведомляет об успешности события и рассказывает, как подписаться снова. Вы можете постараться вернуть клиента или хотя бы получить отзыв о причинах отписки. Можно рассказать как получить более тематические посты или снизить частоту оповещений;
Чтобы редактировать тексты сообщений или названия этих цепочек сообщений, достаточно нажать на название в левой боковой панели, а затем на кнопку «Редактировать цепочку». Перед вами откроется окно редактирования цепочек триггеров. Нажмите на блок, и вы увидите окно для внесения изменений.
Создание триггеров вручную существенно расширяет функционал ботов.
Изначально бот имеет всего три триггера, которых часто не хватает для полноценной работы. Для создания новых, достаточно нажать на соответствующую кнопку. Триггеры делятся на три типа:
Тип триггера «После подписки»:через заданное при создании триггера время, активируется цепочка событий которую вы прикрепите, или одна из стандартных;
Тип триггера «Команда»:позволяет реагировать на слова или фразы от клиента. Если команды будут не совпадать, то пользователь получит уточнение. Для защиты от спама, можно заставить бота игнорировать часто повторяющиеся сообщения;
Тип триггера «Событие А360»: позволяет отправить пользователю сообщение с подтверждением заказа или другими данными. Делается это при помощи отправки по определенному URL данных для бота. Вместе с этим сообщением можно прикрепить любую цепочку сообщений для дополнительной продажи или информировании;
Настройка цепочки автоответов в редакторе
Все существующие цепочки хранятся в разделе «Сохраненные цепочки». В этом же разделе можно создать новую цепочку сообщений или отредактировать уже имеющиеся.
При создании цепочки используется визуальный редактор, который позволяет создавать вариативные последовательности действий. Начинается всё со стартового блока, где можно объяснить пользователю, что именно он получит. Например, информацию о курсе или заполнение анкеты, обновленное меню и прочее. Это можно сделать с помощью «Сообщения» с пометкой Start.
Кроме сообщения, вы можете добавить картинку, аудио или видео, кнопки, с которыми может взаимодействовать человек для перехода к следующим действиям в цепочке, или даже отдельно сохраненные цепочки, если ваше стартовое сообщение является главным меню бота. Для настройки нажмите на стартовое сообщение. Если хотите дополнить информацию в блоке через некоторое время, то можно добавить таймер и после него вставлять дополнительные информационные блоки. Максимальная длительность таймера: 5 секунд.
В сообщениях можно использовать сохраненные или полученные данные пользователя с помощью кнопки «<>». Некоторые могут быть взяты из его профиля, например, Фамилия и имя указанные в Телеграм. Другие придется у него запрашивать, если в этом есть необходимость или подгружать из вашей CRM если в ней есть такие данные.
Чтобы получить данные от пользователя, активируйте ползунок «Ждать ответ подписчика». В ответе можно получить:
Строку.
Число.
Дату.
Email.
Номер телефона.
Ссылку.
Регулярное выражение.
Геолокацию.
Ответы сохраняются в специально созданные переменные. Новые переменные создаются тут же. Чтобы исключить ошибки, используются быстрые ответы. Они появляются при неправильном вводе данных, среди которых пользователь выбирает подходящий. Таким образом, можно проводить опросы.
Для ввода данных требуется добавить время ожидания от 1 минуты до 24 часов.
Если вам нужно создать интерактивное меню, то добавляйте кнопки с помощью соответствующей кнопки под блоком редактирования сообщения. С помощью кнопок можно продолжить цепочку и перевести человека к:
Другому сообщению или готовой цепочке.Таким образом, вы можете дать новую информацию, собрать необходимые данные, показать картинку и т.п.;
Дать ссылку на необходимый ресурсили ваши социальные сети;
Принять оплату за товар через доступные в конструкторе сервисы платежей. Не забывайте, что за свою работу многие из них потребуют комиссию.
Когда вы создадите кнопки с атрибутом «Продолжить цепочку», то увидите в блоке визуальное отображение кнопки с синим кругом. Необходимо создать следующий блок, чтобы связать его с кнопкой. Для этого перенесите иконку «Сообщение» в рабочую область. Оно настраивается так же, как и стартовое сообщение. Остается только заполнить информацию.
Чтобы связать блоки, зажмите левую кнопку мыши на синем круге интересующей вас кнопки и свяжите ее с левым синим кругом необходимого блока. В нашем случае, блока сообщения.
Дополнительные блоки для построения цепочки
SendPulse позволяет использовать более сложные блоки для работы с клиентами, сайтами и API.
«Пауза» позволит сделать задержку между отправками сообщений от нескольких минут до одного дня. Таким образом, переход между сообщениями будет менее резким, особенно если вы не добавляете кнопок, а например, присылаете ссылку на новый вебинар раз в сутки после подписки.
«Цепочка» позволяет направить пользователя на любую другую уже готовую цепочку.
«Фильтр» дает работать с различными условиями и данными пользователя. Проверяя соответствие критериям, можно направлять человека в разные цепочки сообщений, чтобы сформулировать предложение наиболее интересно в зависимости от информации о человеке.
Блок «Действие» содержит 7 функций:
Открыть чат:оповещает администратора о необходимости ответить и повышает приоритет этого чата в сервисе SendPulse. Это может быть очень полезно для решения сложных вопросов. Есть возможность отключить автоответы бота на час, чтобы они не мешали общению;
Отписать от бота:отключает пользователя от рассылок;
Добавить тег:теги помогают сегментировать аудиторию при рассылках и выдавать разные цепочки для разных групп пользователей. Таким образом, можно выдавать клиентам разную информацию в зависимости от их нахождения в воронке или при наличии особого статуса;
Удалить тег:аналог прошлой функции с обратным результатом;
Установить переменную:в зависимости от прохождения цепочек, пользователь может оказаться в разных ветках вашей цепочки, и вы можете менять переменные, связанные с ним;
Отправить вебхук: отправляет POST-запрос на ваш URL адрес. Так вы сможете добавить данные о том, что клиент дошел до какой-то ветки CRM и возможно необходимо с ним связаться. Например, для уточнения деталей доставки или особенностей заказа;
Блок «Запроса API» позволяет создавать POST и GET запросы и передавать туда значения переменных этого подписчика. Запрос можно сразу же проверить и настроить соответствия ответа для разных переменных, если вы получаете данные.
Например, если этот пользователь пришел с вашего сайта или приложения, и вы хотите сразу дать боту данные о человеке и пустить его по определенной цепочке сообщений.
Примеры чат-ботов в Telegram
Рассмотрим несколько примеров готовых чат-ботов.
Чат-бот для ведущего мероприятий Ильи Сорокина, созданный в сервисе Chatforma.
Чат-бот от Aviaslaes. Мониторинг цен на перелеты.
Новостной чат бот с подписками на новостные порталы, а также соцсеть ВКонтакте.
ТОП 5 сервисов для создания чат ботов
Мы рассмотрели процесс создания ботов и их настройку, а теперь предлагаем пробежаться по пяти самым известным сервисам для создания чат-ботов:
Manybot
Manybot поддерживает создание простых ботов и многоуровневых меню, интерактивные функции и автопостинг с RSS, YouTube, Twitter. Можно создавать ботов на 6 языках. Формы для оформления заказов и обратной связи.
Тарифы:Бесплатно, но с рекламой.
Функционал:доступ для нескольких администраторов, создание меню, собственных команд, рассылка новостей, поддержка нескольких языков.
Плюсы:Бесплатный сервис, не требующий знаний с уроками на ютуб.
Минусы:Без визуального редактора сложно работать. Сервера могут тормозить и задерживать ответы. Сервис работает медленно, а функционал давно не обновляется.
SendPulse
Главная страница SendPulse
Конструктор чат-ботов телеграм SendPulse позволяет гибко настроить логику работы бота и сегментировать аудиторию для рассылок. Подходит практически для любых задач и социальных сетей.
720 руб /мес до 1000 подписчиков;
1190 руб /мес до 2000 подписчиков;
2790 руб /мес до 5000 подписчиков;
4900 руб /мес до 10000 подписчиков;
6400 руб /мес до 15000 подписчиков;
7700 руб /мес до 20000 подписчиков;
9900 руб /мес до 30000 подписчиков;
11990 руб /мес до 40000 подписчиков;
13990 руб /мес до 50000 подписчиков;
Свыше 50000 подписчиков цена обсуждается индивидуально.
Подписка на год дает скидку в 20%.
Пробная версия: 7 дней или бесплатная версия до 1000 подписчиков с ограничениями в функционале.
Функционал: Визуальный редактор. POST и GET запросы к API. Прием оплаты через сервисы приема платежей. Сегментация аудитории и удобная работа с чатами живым человеком. Автопостинг и массовые рассылки.
Можно создавать множество ботов с единой подпиской.
Бесплатный функционал позволяет создать сильного бота;
Понятный визуальный редактор;
Быстрые ответы от сервера;
Быстрая служба поддержки;
Мало встроенных способов оплаты, которые потребуют дополнительной комиссии. Довольно высокая стоимость. При бесплатном использовании также будет включена реклама.
Botobot
Сервис по созданию онлайн-магазина на базе Телеграм ботов. Загрузка товаров через эксель и создание каталога для пользователей.
640 руб /мес за 200 товаров в каталоге и возможность приема платежей;
1720 руб /мес за 5000 товаров в каталоге, функцию поиска и доступ к API;
5760 руб /мес с безлимитом на товары;
Годовая подписка дает скидку в 25%.
Пробная версия: версия на 20 товаров и частичным ограничением функционала.
Загрузка товаров и создание каталога;
Статистика активности пользователей;
Англоязычная версия для бота;
Настройка API;
Виджет магазина для сайта;
Плюсы: простая настройка работы магазина.
Подходит только для онлайн-магазина;
Внешний вид практически не изменить;
Сделать многоуровневое меню не получится;
Bottap
Конструктор позволяет создавать ботов для диалога на большинстве социальных площадок с возможностью подключения онлайн-платежей.
Бесплатная версия: с ограничениями в функционале и рекламой;
Бизнес-бот: 590 руб/мес;
Энтерпрайз-бот: 990 руб/мес.
Пробная версия: 7 дней тарифа бизнес-бот.
Статистика активности;
Массовая рассылка;
Сегментация аудитории;
Онлайн-платежи;
Email-сообщения через бота;
Кроссплатформенность.
Плюсы: Удобный интерфейс настройки для создания простых ботов.
Минусы: Малое количество шаблонов диалога.
Chatforma
Конструктор для создания ботов высокой сложности с обучающими материалами по работе с сервисом.
1000 руб/мес за одного бота до 100к пользователей.При превышении лимита пользователей 10к руб/мес;
10000 руб/мес за одного бота до 100к пользователей.При превышении лимита пользователей 10к руб/мес.
Пробная версия: 15 дней на 300 пользователей
Сбор данных о клиентах;
Прием заказов, регистрации, опросы;
Рассылки и авторассылки;
Сегментация аудитории;
Подключение оператора прямо в боте;
Более 1000 готовых шаблонов.
Плюсы: можно создать бота любой сложности.
Минусы: сложный в освоении конструктор с высокой ценой.
Желаем высокого профита!
FAQ
Чем боты отличаются от обычного аккаунта?
У роботов нет статуса активности, их имена заканчиваются словом «bot». Боты не могут написать пользователям первыми, а все сообщения ботов по прошествии времени удаляются. В конференции боты по умолчанию не видят всех сообщений, пока в режиме приватности не настроено иное.
Что делать, если бот не работает?
Проверьте правильность ввода токена, настройки логики работы аккаунта в конструкторе или обратитесь в техническую поддержку сервиса.
Источник: trafficcardinal.com
24 июня разработчики Telegram открыли платформу для создания ботов. Новость кого-то обошла стороной Хабр, однако многие уже начали разрабатывать викторины. При этом мало где указаны хоть какие-то примеры работающих ботов.
Прежде всего, бот для Telegram — это по-прежнему приложение, запущенное на вашей стороне и осуществляющее запросы к Telegram Bot API. Причем API довольное простое — бот обращается на определенный URL с параметрами, а Telegram отвечает JSON объектом.
Рассмотрим API на примере создания тривиального бота:
1. пользователя (вызов курьера, доставка еды);
бронирование мест;
финансовые переводы;
информационная поддержка;
тайм-менеджмент (чат-бот может добавить событие в календарь, создать оповещения о событиях);
голосование в самых разных нишах.
Это самые очевидные сценарии использования чат-бота в Telegram. Однако разработчик может настроить бот для решения практически любой задачи.
Создал ТЕЛЕГРАМ БОТ для ЗАРАБОТКА 2022/ Как Заработать Деньги в Интернете Без Вложений с Телефона?
Как написать текст для чат-бота, который сработает лучше менеджера по продажам
3 главных особенности чат-бота Telegram
начать диалог может только пользователь, но не сам чат-бот;
отсутствуют статусы, как у обычных аккаунтов;
название аккаунта всегда содержит слово bot;
6 полезных фишек чат-бота
доступен 24/7;
для создания чат-бота не нужен новый номер телефона;
все сообщения, создаваемые ботами, могут удаляться.
может переадресовывать на другие каналы коммуникации.
может отрабатывать возражения клиента.
нет ограничений по сложности коммуникаций, запрограммировать можно даже сложные сценарии общения.
Продвинем ваш бизнес
В Google и «Яндексе», соцсетях, рассылках, на видеоплатформах, у блогеров
Как сделать чат-бота в Telegram: пошаговая инструкция
Создаются и управляются боты с помощью другого бота – BotFather. К нему мы еще вернемся.
А пока, чтобы создать чат-бота, выполните следующие действия:
установите на компьютер десктоп-версию Telegram и запустите ее (создавать чат-ботов удобнее с компьютера); откройте Controller Bot;
нажмите START внизу экрана:
Используйте команду добавления нового канала:
Получите подробную инструкцию, как подключить нового бота:
Следуя инструкции, отправьтесь в BotFather и нажмите START внизу экрана:
Выберите команду /newbot:
Укажите полное имя бота. Это может быть название бренда / компании или произвольное имя:
Получите уникальный токен и скопируйте его.
Токен – уникальный ключ, который используется для доступа к Bot API. Токен имеет следующий вид: 110201543:ААHdqTcvCН1vGWJxfSеоfSAs0K5PALDsaw.
После создания бота на экране появится токен – ваш уникальный ключ, который используется для доступа к Bot API. Скопируйте его.
В случае потери или удаления диалога не нужно паниковать: снова отправьте команду /token в диалог, и новый вариант кода будет сразу же создан.
Вернитесь в ControllerBot и отправьте ему сгенерированный ранее токен:
Осталось выполнить два действия: добавить созданного бота в администраторы канала и переслать любое сообщение из созданного канала в ControllerBot:
Для этого создайте новый публичный канал через левое меню, нажав кнопку New Chanel:
Чтобы добавить созданного бота в администраторы канала, нужно выбрать его в чатах и нажать кнопку Manage Channel:
. и назначить администратора:
После выполнения двух требований ControllerBot мы успешно подключили канал. Осталось указать город для уточнения часового пояса:
Подтверждаем, нажав «Верно»:
В самом низу нажимаем кнопку «Создать новый пост»:
Бот предложит настроить форматирование. В 95 % случаев подойдет Markdown (прим. ред.– облегчённый язык разметки):
Теперь создаем первый пост. Можно написать в нем любой текст, чтобы проверить, как это работает:
ControllerBot возвратит отправленную запись и предложит задействовать дополнительные инструменты:
Чтобы добавить в пост картинку, воспользуйтесь кнопкой «Прикрепить медиафайл».
Можно добавить в пост до шести смайлов, которые пользователи будут использовать в качестве реакций:
Если нужно привязать к кнопке ссылку, воспользуйтесь этой функцией:
Внимание: при добавлении URL-кнопки строго соблюдайте предложенный ботом синтаксис. Ему нужно отправить список всех URL-кнопок в одном сообщении.
После подготовки поста его нужно «отправить в мир». Для этого нажмите «Далее»:
. и выберите предпочтительный сценарий публикации:
Чат-боты для бизнеса: сценарии использования, сервисы, а также удачные и не очень кейсы компаний
Синтаксис. Команды. Настройки
Обязательно изучите справочник Bot API. Там вы найдете наиболее полную информацию по запросам, типам и методам используемого HTTP-интерфейса.
Главные команды запомнить несложно:
/start– приветственное сообщений, которое отправляется пользователю при первом взаимодействии с ботом;
/help– служебное сообщение, содержащее советы по использованию бота (список команд, краткое описание бота или алгоритм действий);
/settings– сообщение с настройками + возможности их изменения.
Если при создании бота вам не хватает стандартных функций, вы можете задействовать дополнительные команды длиной до 32 символов.
Соблюдайте синтаксис: /команда [необязательный] [аргумент]. Например, так мы получаем статистику по боту: /get_messages_stats
Ваша заявка принята. Мы свяжемся с вами в ближайшее время.
Обратите внимание:список команд будет появляться сразу после ввода символа «/». Не забудьте активировать описание команд в «отце ботов».
О некоторых важных параметрах BotFather мы уже говорили. В первую очередь, это:
Name– значение выводится только в чатах и контактах пользователя.
Username– не длиннее 32 символов. Может включать латиницу, цифры и символ «_».
Бонус: самые важные команды для чат-бота
Эти команды помогут создать функционального и полезного для бизнеса чат-бота в Telegram:
Вы можете управлять ботом, просто отправляя ему следующие команды:
/setinlinefeedback– изменить встроенную обратную связь
/setjoingroups– можно ли добавить вашего бота в группы?
/setprivacy– переключить режим конфиденциальности
Игры
/mygames– редактировать свои игры
/newgame– создать новую игру
/listgames– получить список ваших игр
/editgame – редактировать игру
/deletegame – удалить существующую игру
Дополнительных возможностей у бота в Telegram достаточно. Разбирать их все детально не имеет смысла, так как активно используется лишь небольшая часть.
8 мифов об автоворонках и чат-ботах в мессенджерах
Источник: texterra.ru
Всё, о чём должен знать разработчик Телеграм-ботов
Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй «как я создал такого-то бота» и туториалов вроде «как создать бота, который будет говорить hello world». При этом многие неочевидные моменты просто нигде не описаны.
Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?
Подробный гайд о том, как работать с ботами — под катом.
Статья обновлена в январе 2022
Обновлена информация об id пользователей и чатов: теперь их нельзя хранить в 32-битном типе чисел.
Добавлен раздел о сообщениях от лица групп и каналов
Обновлена информация о различных меню команд для отдельных чатов и пользователей.
Добавлена информация о спойлерах в разметке сообщений.
Добавлен раздел об обновлениях Bot API.
Начало работы
Telegram API vs Telegram Bot API
Рассказываю по порядку.
Телеграм использует собственный протокол шифрования MTProto. MTProto API (он же Telegram API) — это API, через который ваше приложение Телеграм связывается с сервером. Telegram API полностью открыт, так что любой разработчик может написать свой клиент мессенджера.
Для написания ботов был создан Telegram Bot API — надстройка над Telegram API. Перевод с официального сайта:
Чтобы использовать Bot API, вам не нужно ничего знать о том, как работает протокол шифрования MTProto — наш вспомогательный сервер будет сам обрабатывать все шифрование и связь с Telegram API. Вы соединяетесь с сервером через простой HTTPS-интерфейс, который предоставляет простую версию Telegram API.
Среди упрощений Bot API: работа через вебхуки, упрощенная разметка сообщений и прочее.
Почему-то мало кто знает о том, что боты могут работать напрямую через Telegram API. Более того, таким образом можно даже обойти некоторые ограничения, которые даёт Bot API.
Вся информация ниже будет по умолчанию относиться и к Bot API, и к Telegram API. О различиях я буду упоминать. От некоторых ограничений Bot API можно избавиться с помощью локального сервера, об этом в конце статьи.
На чём пишут Телеграм-ботов
Бот должен уметь отправлять запросы Телеграм-серверу и получать от него апдейты (updates, обновления).
Как получать апдейты в Bot API
Получать апдейты можно одним из двух способов:
Поллинг — просто регулярно отправлять запрос к серверу Телеграма для получения обновлений,
Вебхук — сделать так, чтобы Телеграм сам отправлял запросы по нужному URL.
Конечно, удобнее использовать библиотеки, чем делать http-запросы «руками».
Если вы попробуете загуглить, как написать Телеграм-бота на Python, вам предложат воспользоваться библиотеками python-telegram-bot и telebot. Но не стоит.
Ну, если вы только хотите познакомиться с разработкой ботов и написать своего hello-world-бота, то можете, конечно использовать и их. Но эти библиотеки могут далеко не всё. Среди разработчиков ботов лучшей библиотекой для ботов на Python считается aiogram. Она асинхронная, использует декораторы и содержит удобные инструменты для разработки. Ещё был хороший Rocketgram, но он давно не обновлялся.
Также ботов часто пишут на JavaScript, для этого обычно используется Telegraf. Библиотеки есть и для многих других языков, но используют их реже.
Если же вы хотите использовать Telegram API, то можете воспользоваться Python’овскими Telethon и Pyrogram.
Пример кода бота
Если вы хотите получить какое-то представление о том, как вообще выглядит код бота, вот вам пример использования на aiogram с его странички на GitHub:
Этот бот будет отвечать на команды /start и и /restart.
Создание бота
Единственная информация о Телеграм-ботах, которой в интернете полным-полно: как создать бота. Это делается через специального бота BotFather. Когда вы создадите бота, BotFather даст вам его токен. Токен выглядит примерно так: 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw . Именно с помощью токена вы сможете управлять ботом.
Один пользователь может создать до 20 ботов.
В BotFather удобно управлять ботами своими командой /mybots .
Юзернеймы
При создании бота нужно выбрать юзернейм. После этого поменять его будет очень сложно.
Как поменять юзернейм бота
Для этого бот должен (внезапно) быть рабочим, а также поддерживать английский язык.
Принято использовать такой формат обращения в поддержку:
Если вы везунчик 9999 lvl — вам ответят.
Очень многие юзернеймы уже заняты. Свободных коротких юзернеймов осталось очень мало. И что самое грустное: почти все эти боты мертвы. Просто не отвечают на сообщения. Наверное, это просто разные любопытные люди хотят сделать бота, создают его, а потом забивают.
У меня самого есть несколько лежащих ботов. Так что, думаю, лимит в 20 ботов на одного владельца вполне оправдан 🙂
Оформление бота
Открыв бота, пользователи могут увидеть его профиль.
Оформление бота настраивается в BotFather: меню /mybots → Edit Bot . Там можно изменить:
Имя бота.
Описание (Description) — это текст, который пользователи будут видеть в начале диалога с ботом под заголовком «Что может делать этот бот?»
Информация (About) — это текст, который будет виден в профиле бота.
Аватарка. Аватарки ботов, в отличие от аватарок пользователей и чатов, не могут быть анимированными. Только картинки.
Команды — тут имеются ввиду подсказки команд в боте. Подробнее о командах ниже.
Inline Placeholder — об инлайн-режиме см. ниже.
Стандартный совет: Потратьте свое время и заполните описание и информацию бота, чтобы пользователям было понятнее и проще его использовать. Можете оставить там свои контакты. И поставьте аватарку, чтобы бота было проще отличать от других чатов в списке.
Сообщения и чаты
Запуск бота пользователем
Когда пользователь впервые открывает бота, он видит кнопку «Запустить» или «Начать» (зависит от платформы пользователя), на английском — «Start». Нажимая на эту кнопку, он отправляет команду /start .
Таким образом, первое сообщение от пользователя — это всегда /start (либо /start с параметрами, об этом ниже в разделе «Диплинки»).
. если пользователь использует официальный клиент
На стороне сервера это не проверяется, поэтому теоретически пользователь может отправить боту любое сообщение через Telegram API.
Сообщения
Понятно, что главная функция бота — отправлять и получать сообщения.
И то, и другое можно делать со всеми видами сообщений (фото и видео, файлы, опросы, голосовые сообщения и т. д.).
В Телеграме можно делиться файлами до 2 ГБ, но в Bot API более жесткие лимиты: боты могут скачивать файлы до 20 МБ и отправлять файлы до 50 МБ.
Работа с файлами в Bot API
Если бот уже загрузил файл на сервер Телеграма, то он может использовать file_id, чтобы отправлять этот файл.
Загружать файл на сервер можно в том числе и по URL файла.
Куда может писать бот
Бот может писать в личку только тем пользователям, которые его запустили.Пользователь может заблокировать бота, и тогда бот снова не сможет ему писать.
Боты не могут писать другим ботам.
Бота можно добавить в группу (если в BotFather включена соответствующая настройка). По умолчанию он видит не все сообщения (об этом ниже, в разделе «Видимость сообщений в группах»).
В группе боту можно дать права администратора, чтобы он мог выполнять действия админов.
В одной группе может быть до 20 ботов. В публичные группы (группы с юзернеймом) ботов могут добавлять только админы.
Также бота можно добавить в канал, причем только как администратора. Самый частый способ использования ботов в каналах — добавление кнопок под постами («лайки», ссылки и прочее).
Как боты добавляют кнопки
У админа канала может быть специальное право: «Редактирование чужих публикаций». С помощью него боты редактируют посты, добавляя к ним кнопки.
Подробнее о кнопках тоже ниже.
Супергруппы
На самом деле многие группы в Телеграме являются супергруппами.
Почему так? Раньше было четкое разделение на группы и супергруппы. По задумке, супергруппы — это группы для сообществ. Супергруппы могут иметь больше участников, публичные ссылки и другие плюшки.
Со временем, видимо, решили, что это неудобная концепция. Теперь обычная группа становится супергруппой, когда у группы меняются какие-нибудь настройки (подробнее тут). Вот такой костыль.
В этой статье под группами я подразумеваю и супергруппы, и обычные группы.
Супергруппу нельзя обратно превратить в группу. С точки зрения API супергруппа устроена так же, как и канал. Важное отличие супергрупп от обычных групп состоит в нумерации сообщений: о нём чуть ниже.
id пользователей и чатов
У каждого пользователя, бота, группы, канала в Телеграме есть собственный id. Различать чаты в коде бота следует именно по id, потому что он никогда не меняется.
В токене бота первая часть — это его id. Например, токен 110201874:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw принадлежит боту с id 110201874 .
В Bot API перед id супергрупп и каналов пишется -100. Так, id 1356415630 превращается в -1001356415630 .
Не следует хранить id пользователей и чатов в 32-битном типе числа: теперь id могут превышать 2 31 -1.
id сообщений
Каждое сообщение в Телеграме имеет свой id. Это относится и к системным сообщениям (пользователь зашел в группу, изменилось название группы и т. д.)
Через Telegram API боты могут получать по запросу сообщения в любом чате по их id.
id сообщений в супергруппах и каналах уникальны для чата: первое сообщение в чате имеет номер 1, второе имеет номер 2 и так далее.
id сообщений в личных сообщениях и обычных группах работают по другому. Там, можно сказать, нумерация сквозная: id сообщения уникально для каждого отправившего его пользователя. Так, первое сообщение от пользователя во всех личках и группах имеет номер 1, второе сообщение от того же пользователя имеет номер 2 и так далее.
Видимость сообщений в группах
Обычно бот должен реагировать именно на команды. Телеграм не уведомляет бота об остальных сообщениях, и это гарантирует приватность переписки.
Но если боту нужно видеть все сообщения в группе (например, если это чат-бот или антиспам-бот), для него можно отключить Privacy mode.
Privacy mode — настройка в BotFather, которая по умолчанию включена. В таком режиме бот в группах видит только такие сообщения:
Сообщения с упоминанием бота,
Ответы на сообщение бота, ответы на ответы и так далее,
Системные сообщения,
Команды — о них в следующем пункте.
А если Privacy mode выключен, то бот видит все сообщения в группе.
Если бот — админ в группе, то он в любом случае видит все сообщения.
Бот, работающий через Bot API, в любом случае не будет видеть сообщения от других ботов.
Я включил Privacy mode, а он не работает
Нужно удалить бота из группы и добавить заново.
Исправленный баг с видимостью сообщений
Недавно был найден баг: боты не могли видеть некоторые сообщения от юзеров, если сообщения выглядят как команды с юзернеймом пользователя на конце.
Это могло нарушить работу антиспам- и других ботов.
Сейчас баг уже исправлен.
Сообщения от лица групп и каналов
В группах могут быть не только сообщения от пользователей, но и:
Сообщения в группе из привязанного канала (с точки зрения API это пересланные сообщения)
Сообщения от лица группы от анонимных администраторов той же группы
Сообщения от лица публичных каналов от любых пользователей
Учитывайте это при разработке ботов для групп.
Команды
Часто используемый способ «общения» пользователей с ботом — команды. Команды начинаются на «/» и состоят из латинских букв (можно использовать цифры и нижние подчеркивания).
Команды подсвечиваются как ссылки: нажатие отправляет команду в чат.
В BotFather можно указать подсказки команд для бота. Он будут отображаться при вводе «/» и команд. Если есть подсказки, рядом с кнопкой «Отправить» появляется кнопка для открытия меню команд.
Если в подсказках команд есть /help , в профиле бота появляется кнопка «Помощь с ботом». Нажатие на кнопку отправляет эту команду.
Если в подсказках команд есть /settings , в профиле бота появляется кнопка «Настройки бота». Нажатие на кнопку отправляет эту команду.
С 2021 года боты могут показывать разные меню команд для разных пользователей и групп, а также меню команд может зависеть от языка пользователя и того, является ли участник группы админом.
Разметка сообщений
Как вы, наверное, знаете, сообщения в Телеграме могут содержать не только обычный текст, но и жирный, курсив и др. В Bot API разметку сообщений можно делать в HTML и Markdown.
Разметка в Telegram API
В Telegram API для разметки надо вместе с сообщением передавать entities (MessageEntityBold, MessageEntityItalic и так далее). Хорошие библиотеки сами превращают HTML/Markdown в текст и entities.
Способы выделения текста:
Жирный текст
Курсив
Подчёркнутый текст
Зачёркнутый текст
Моноширинный текст («в строке» и «блоком»)
Ссылка (встроенная в текст)
Спойлер — текст, который показывается только после нажатия на плашку
Упоминание пользователя — текст, похожий на ссылку, клик по которому открывает профиль пользователя. Если упомянуть в группе её участника, он получит уведомление. Чтобы вставить в сообщение упоминание пользователя, в Bot API нужно встроить ссылку на tg://user?id=123456789.
Кнопки
Инлайн-кнопки
Бот может оставлять кнопки под своими сообщениями.
Кнопки под сообщениями (они же inline keyboards / inline buttons) в основном бывают трёх видов:
URL button — кнопка с ссылкой.
Callback button. При нажатии на такую кнопку боту придёт апдейт. С созданием кнопки можно указать параметр, который будет указан в этом апдейте (до 64 байтов). Обычно после нажатий на такие кнопки боты изменяют исходное сообщение или показывают notification или alert.
Switch to inline button. Кнопка для переключения в инлайн-режим (об инлайн-режиме см. ниже). Кнопка может открывать инлайн в том же чате или открывать меню для выбора чата. Можно указать в кнопке запрос, который появится рядом с никнеймом бота при нажатии на кнопку.
Клавиатурные кнопки
Есть другой тип кнопок: keyboard buttons. Они отображаются вместо клавиатуры как подсказки. При нажатии на такую кнопку пользователь просто отправит этот текст.
При этом в личных чатах с помощью кнопки можно:
Запросить номер телефона пользователя,
Запросить геолокацию пользователя,
Открыть у пользователя меню создания опроса.
Есть опция resize_keyboard, которая отвечает за то, изменять ли высоту этой «клавиатуры из кнопок». По умолчанию она, почему-то, выключена, и тогда высота клавиатуры стандартная большая. Получаются кнопки как на этой картинке:
Чтобы показать клавиатурные кнопки, бот должен отправить сообщение. Можно отправить клавиатуру, которая свернётся (но не пропадёт) после нажатия на кнопку.
По умолчанию, если показать кнопки в группе, они будут видны всем пользователям. Вместо этого можно отобразить кнопки одновременно для этих пользователей:
Для пользователей, юзернеймы которых были в тексте сообщения,
Если это ответ на другое сообщение: для пользователя, который его отправил.
Ещё о кнопках
Оба типа кнопок могут составлять несколько рядов, в каждом из которых по несколько кнопок. Ограничения: в ряду может быть до 8 кнопок, а всего с сообщением до 100 кнопок.
При отправке сообщения можно выбрать одно (но не больше) из следующих действий:
Добавить к сообщению инлайн-кнопки,
Показать клавиатурные кнопки,
Убрать все клавиатурные кнопки,
Force reply: автоматически заставить пользователя ответить на сообщение. Так произойдёт то же самое, что и при нажатии пользователем кнопки «Ответить». Это нужно для того, чтобы бот мог общаться с пользователями в группах, не нарушая Privacy mode.
Таким образом, нельзя показать оба типа кнопок одновременно.
Взаимодействие с ботом
Ссылки на бота
Также существует прямая ссылка: tg://resolve?domain=examplebot
Подробнее о ссылках tg://
Такие ссылки могут не только заменять ссылки t.me, но и задавать свои действия. Например, tg://settings открывает настройки.
Ссылка на добавление в группу
По ссылке t.me/examplebot?startgroup=true у пользователя откроется меню: выбор группы для добавления бота.
Прямая ссылка: tg://resolve?domain=examplebotЗапустить», даже если пользователь уже запускал бота.
Пользователь нажимает на кнопку и видит сообщение /start (всё как обычно).
Боту вместо этого приходит сообщение /start
Так бот может отреагировать на запуск не как на обычный «/start», а другим способом.
Часто диплинки используются для реферальных программ (в качестве параметра можно передавать id пользователя, который поделился ссылкой). Есть и другие применения.
В группе можно запретить использовать инлайн всем или некоторым участникам. В официальных приложениях Телеграм это ограничение объединено с ограничением на отправку стикеров и GIF.
Результаты инлайн-режима
Результаты можно отображать двумя способами:
Сеткой. Удобно для выдачи картинок.
Вертикальным списком. Удобно для выдачи текста.
Можно совмещать два типа, но корректно отображается это только на Telegram Desktop.
Приватность и геопозиция в инлайне
Когда пользователь вызывает инлайн-режим, бот не может получить никакую информацию о контексте, кроме информации о пользователе. Таким образом, бот не может узнать ни чат, в котором вызвали инлайн, ни сообщение, на которое пользователь отвечает.
Но зато если включить в BotFather настройку «Inline Location Data», то бот сможет видеть геопозицию пользователей, когда они используют инлайн (на мобильных устройствах). Перед этим у пользователей показывается предупреждение.
Inline feedback
Inline feedback — это апдейты о выбранных инлайн-результатах. Включаются через BotFather.
Предполагается использование inline feedback для сбора статистики, но не всегда он используется так. Inline feedback позволяет «подгружать» не все результаты сразу, а только выбранный. Например, если бот используется для поиска музыки, то он может загружать не все песни сразу, а только одну.
Важный момент: если вы получили апдейт об отправке инлайн-сообщения, то вы можете его редактировать, только если к нему прикреплены инлайн-кнопки. (Если кнопок нет, то в апдейте не указывается id инлайн-сообщения, по которому происходит редактирование).
Создание наборов стикеров
Платежи через ботов
Телеграм предоставляет ботам возможность принимать платежи от пользователей. Это делается через провайдеров ЮMoney, Сбербанк, Stripe и ещё 7.
Эта возможность используются редко, потому что для использования провайдеров нужно юридическое лицо.
UPD 04.2021.В новом обновлении появилось больше возможностей платежей для разработчиков. Теперь боты могут отправлять платежи не только в лс, но и в группы и в каналы. Это позволяет сделать из канала «витрину», на которой можно сразу купить товар. Вы можете посмотреть, как это выглядит, в официальном демо-канале.
HTML-игры в ботах
Telegram Login Widget
Вы можете добавить на свой сайт авторизацию через Телеграм. Процесс авторизации будет проходить так:
Пользователь должен будет ввести свой номер телефона.
Бот Telegram попросит подтвердить вход.
Пользователь авторизуется и нажимает на «Принять» на сайте.
Telegram Login Widget не связан с Login URL button (см. раздел про кнопки выше), а является его альтернативой.
Разработка ботов
Какие апдейты можно получать
Бот не может получить старые сообщения из чата. Бот не может получить список всех своих пользователей. Все, что может получать бот — это информацию об обновлениях. В этом заключается главная сложность разработки ботов.
Вы можете получать информацию о новых сообщениях в боте и других событиях, но только один раз. Вам придётся самим хранить список чатов, старых сообщений (если это зачем-то нужно) и так далее. Если вы случайно сотрёте/потеряете эту информацию, вы её больше никак не получите.
В Telegram API бот может чуточку больше: он может получать сообщения по id, получать список участников группы и прочее.
Получение апдейтов: Bot API vs Telegram API
Если вы получили апдейт в Bot API, то второй раз вы его уже не получите.
В Telegram API это не так: пользователь может пользоваться мессенджером через несколько клиентов, каждый из которых должен получать апдейты.
Если запустить для одного бота несколько программ на Telegram API, то каждая из них будет получать все апдейты.
Ограничения Bot API не позволяют сделать то же самое.
Обновления API
Telegram API и Telegram Bot API обновляются с появлением новых фич в Телеграме. Все обновления Bot API описаны на отдельной странице в документации и в официальном канале BotNews.
Лимиты
Конечно, на запросы к серверу существуют лимиты. В Bots FAQ на сайте Telegram названы следующие:
Не больше одного сообщения в секунду в один чат,
Не больше 30 сообщений в секунду вообще,
Не больше 20 сообщений в минуту в одну группу.
Эти лимиты не строгие, а примерные. Лимиты могут быть увеличены для больших ботов через поддержку.
Другие известные ограничения в Telegram собраны на limits.tginfo.me — см. раздел про ботов.
Рассылка по пользователям
Ниже в Bots FAQ сказано, что Bot API не позволяет рассылать сообщения всем юзерам одновременно и что в будущем, может быть, они что-то для этого сделают. И написано это уже несколько лет.
Они советуют растянуть рассылку на длительное время (8-12 часов) и замечают, что API не позволит отправлять сообщения более чем 30 пользователям в секунду.
Смена владельца бота
Осенью 2020 года появилась возможность передавать ботов другому человеку. Это можно сделать в настройках бота в BotFather. Для этого на вашем аккаунте должна быть включена двухфакторная авторизация — не менее, чем за 7 дней до передачи. Передать бота можно только пользователю, который что-либо ему писал.
Локальный сервер Bot API
Также осенью 2020 года исходники Bot API выложили на GitHub. Теперь вы можете поднять собственный сервер Bot API. На GitHub перечислены следующие преимущества:
Скачивание файлов с сервера без ограничения (ограничение на отправку файлов пользователями в Телеграме — 2 ГБ),
Загрузка файлов на сервер до 2000 МБ,
Загрузка файлов на сервер с помощью локального пути и URI файла,
Использование HTTP URL для вебхука,
Использование любого локального IP-адреса для вебхука,
Использование любого порта для вебхука,
Возможность увеличить максимальное число соединений до 100000,
Получение локального пути файла вместо загрузки файла с сервера.
Юзерботы
В начале статьи я рассказывал о том, что такое Telegram API и Telegram Bot API.
Telegram API используется не только для ботов — тогда в чём проблема управлять аккаунтами пользователей, как ботами? Люди это делают. Кто-то автоматически ставит текущее время себе на аватарку, кто-то скриптом реагирует на свои сообщения как на команды, кто-то сохраняет сообщения из публичных групп и каналов. Всё это называют юзерботами.
Юзерботов следует использовать аккуратно: за большую подозрительную активность аккаунт могут ограничить или забанить.
Заключение
Я постарался собрать в одном месте и структурировать информацию о всех возможностях Телеграм-ботов. Большое спасибо vanutp, NToneE и Grinrill за помощь с фактами. Если мы что-то забыли — пишите, исправлю.
Вообще интерфейс бота (то есть интерфейс чата) имеет много ограничений. Но плохо ли это? Действительно удобнее использовать инструмент, когда это часть привычной среды. Я часто прямо в переписке нахожу нужную картинку или информацию с помощью инлайн-ботов. Как заядлый пользователь Телеграма, я люблю использовать ботов. И создаю ботов.
И вы создавайте.
Источник: habr.com
Как сделать чат-бот в Телеграм
В 2021 году Telegram увеличил аудиторию на 25% и достиг 500 миллионов активных пользователей в месяц. Многие бренды, большие и малые, уже давно оценили потенциал площадки и используют мессенджер для работы с клиентами, увеличивая прибыль и лояльность аудитории.
Для улучшения коммуникации с пользователями и автоматизации общения, в Telegram предусмотрена возможность подключения ботов, которые обладают самым разным функционалом и отвечают запросам пользователей. Для создания хорошего бота требуются познания в программировании, что отталкивает многих от этого инструмента. Проблему решают сервисы-конструкторы, которые позволяют самостоятельно создать бота для своего канала с помощью готовых форм в удобном интерфейсе. В этом материале расскажем о том, как добавить бота в телеграм, как его создать при помощи конструкторов, а также поговорим о существующих сервисах по созданию ботов. Начнем!
Что такое боты в Телеграм
Боты в Telegram являются особым видом аккаунтов, которые получают сообщения от пользователей, и, с помощью заранее созданных скриптов, отвечают на запросы аудитории. У ботов отсутствует статус активности, а имя всегда оканчивается словом «bot». Ботам можно прописать любую функцию, которую выполняет в мессенджере человек, и он всегда будет готов помочь вашим пользователям или сотрудникам. Делятся боты на четыре направления по целевому назначению:
Чат-боты:имитируют текстовое общение на заданную пользователем тему;
Информационные боты:рассказывают пользователям о новостях, мероприятиях, акциях и прочих событиях вашего канала или бренда;
Игровые боты:позволяют пользователям запускать текстовые или HTML-5 игры в чатах и приватных сообщениях. Можно создать таблицы рекордов для создания соревновательного эффекта между пользователями;
Ассистенты:взаимодействуют с онлайн-сервисами как дополнение к веб-версии или приложению;
Дополнительные возможности ботов
Режим инлайн:позволяет вызывать бота из поля для сообщения с помощью имени пользователя-бота и запроса для поиска. В ответ вернутся найденные варианты результатов. Пользователь выбирает один из них, и выбранный результат публикуется в чате;
Клавиатуры:создание специальных кнопок, которые дадут пользователю заранее заготовленные варианты запросов или команд. Нажатие на клавишу отправит соответствующую команду на сервер. Таким образом, пользователю дается привычный интерфейс для работы с ботом. Telegram поддерживает до 100 клавиш;
Команды:создание текстовых команд, которые запускают события на сервере и позволяют гибко настраивать возможности;
Приватность:настройка видимости сообщений в группе, если есть необходимость дополнительно защитить информацию;
Внешнее связывание:каждый бот имеет ссылку, перейдя по которой, пользователь начнет диалог. Если добавить к ней параметры *start или startgroup с максимальной длиной в 64 символа, то можно заставить бота сразу выдать необходимую пользователю информацию, передать авторизационный токен пользователя, связанный с внешним сервисом, или использовать его как-то иначе по вашему усмотрению;
Чат-бот Telegram для бизнеса
Бизнес любого уровня может перенести часть задач на телеграм-ботов: осуществлять техническую поддержку, делать продажи, искать сотрудников и многое другое. Телеграм отличается тем, что ботов можно настроить практически под любые задачи. Рассмотрим на примерах:
Инфобизнес:продажи основных продуктов и трипваеров, презентация, работа с возражениями, консультации и записи на встречи, пересылка лид-магнита;
Event:описание и презентация мероприятий, сегментация аудитории по городам, сбор данных об аудитории, регистрация на участие в мероприятиях. Информационные и рекламные рассылки. Отправка дополнительных материалов и записей с конференций;
Служба поддержки:обработка сообщений первой линии поддержки, ответы на часто задаваемые вопросы, распределение вопросов по сложности и приоритету. Чем лучше продумана логика бота, тем больше вы разгружаете сотрудников своей службы поддержки;
Продажи:описание продукта с его преимуществами и УТП, описание компании, информация по доставке, проведение продажи и оплаты, ответы на часто задаваемые вопросы и связь с оператором. Каждому клиенту можно присвоить особый тег для того, чтобы в дальнейшем предлагать ему новые товары или проводить повторные продажи;
Клиники:описание клиники и информация о специалистах, ответы на самые частые вопросы, информация по расписанию работы конкретного специалиста и запись на прием, изменение даты и времени ранее назначенного приема, переход на консультацию с оператором;
Сайты новостей:рассылка новостей, включая разделения на тематики и настройку частоты рассылки, информация для рекламодателей и партнеров, предложение новостей, которые по мнению пользователей еще не опубликованы, но подходят по тематике;
HR:ознакомить кандидата с историей компании и портфолио, задать простые вопросы для отсеивания, предложить выполнить тестовые задания и объяснить условия их выполнения;
Кафе и рестораны:отправить акции и сезонные предложения, показать меню и сделать заказ, забронировать посещение, оставить отзыв или предложение.
Как создать и настроить чат-бота в Телеграм — инструкция
Разберемся, как создать бота в телеграм и добавить его на свой канал.
Шаг 1. Создание бота
Шаг 2. Подключение бота на примере SendPulse
Как настроить чат-бот в Telegram? Рассмотрим на примере конструктора SendPulse.
Данный сервис позволяет опробовать функционал бесплатно. Для этого достаточно зарегистрироваться на ресурсе и подключить необходимый канал – в данном случае Telegram.
Вам понадобится Токен Доступа, который вы получите на Шаге 1. Если подключение успешно завершилось, то по умолчанию бот научится писать автоматический «Стандартный ответ» на любое сообщение.
Изначально в SendPulse работает 3 предустановленных триггера для событий, которые запускают свои цепочки сообщений:
«Приветственная серия»:событие, которое наступает после того, как человек подписывается на бота. Тут вы можете оставить описание того, как отписаться от бота или снизить частоту оповещений. Перед этим можно рассказать о вашей компании или об информации, которую бот будет присылать пользователю, и чем она полезна;
«Стандартный автоответ»:событие запускается, если введенный пользователем текст не соответствует существующим командам бота. Поскольку предусмотреть все варианты нельзя, да и человек может допустить ошибку, то лучше информировать пользователя об этом. По умолчанию ссылаться на то, что оператор скоро ответит;
«Отписка от бота»:сообщение после отписки уведомляет об успешности события и рассказывает, как подписаться снова. Вы можете постараться вернуть клиента или хотя бы получить отзыв о причинах отписки. Можно рассказать как получить более тематические посты или снизить частоту оповещений;
Чтобы редактировать тексты сообщений или названия этих цепочек сообщений, достаточно нажать на название в левой боковой панели, а затем на кнопку «Редактировать цепочку». Перед вами откроется окно редактирования цепочек триггеров. Нажмите на блок, и вы увидите окно для внесения изменений.
Создание триггеров вручную существенно расширяет функционал ботов.
Изначально бот имеет всего три триггера, которых часто не хватает для полноценной работы. Для создания новых, достаточно нажать на соответствующую кнопку. Триггеры делятся на три типа:
Тип триггера «После подписки»:через заданное при создании триггера время, активируется цепочка событий которую вы прикрепите, или одна из стандартных;
Тип триггера «Команда»:позволяет реагировать на слова или фразы от клиента. Если команды будут не совпадать, то пользователь получит уточнение. Для защиты от спама, можно заставить бота игнорировать часто повторяющиеся сообщения;
Тип триггера «Событие А360»: позволяет отправить пользователю сообщение с подтверждением заказа или другими данными. Делается это при помощи отправки по определенному URL данных для бота. Вместе с этим сообщением можно прикрепить любую цепочку сообщений для дополнительной продажи или информировании;
Настройка цепочки автоответов в редакторе
Все существующие цепочки хранятся в разделе «Сохраненные цепочки». В этом же разделе можно создать новую цепочку сообщений или отредактировать уже имеющиеся.
При создании цепочки используется визуальный редактор, который позволяет создавать вариативные последовательности действий. Начинается всё со стартового блока, где можно объяснить пользователю, что именно он получит. Например, информацию о курсе или заполнение анкеты, обновленное меню и прочее. Это можно сделать с помощью «Сообщения» с пометкой Start.
Кроме сообщения, вы можете добавить картинку, аудио или видео, кнопки, с которыми может взаимодействовать человек для перехода к следующим действиям в цепочке, или даже отдельно сохраненные цепочки, если ваше стартовое сообщение является главным меню бота. Для настройки нажмите на стартовое сообщение. Если хотите дополнить информацию в блоке через некоторое время, то можно добавить таймер и после него вставлять дополнительные информационные блоки. Максимальная длительность таймера: 5 секунд.
В сообщениях можно использовать сохраненные или полученные данные пользователя с помощью кнопки «<>». Некоторые могут быть взяты из его профиля, например, Фамилия и имя указанные в Телеграм. Другие придется у него запрашивать, если в этом есть необходимость или подгружать из вашей CRM если в ней есть такие данные.
Чтобы получить данные от пользователя, активируйте ползунок «Ждать ответ подписчика». В ответе можно получить:
Строку.
Число.
Дату.
Email.
Номер телефона.
Ссылку.
Регулярное выражение.
Геолокацию.
Ответы сохраняются в специально созданные переменные. Новые переменные создаются тут же. Чтобы исключить ошибки, используются быстрые ответы. Они появляются при неправильном вводе данных, среди которых пользователь выбирает подходящий. Таким образом, можно проводить опросы.
Для ввода данных требуется добавить время ожидания от 1 минуты до 24 часов.
Если вам нужно создать интерактивное меню, то добавляйте кнопки с помощью соответствующей кнопки под блоком редактирования сообщения. С помощью кнопок можно продолжить цепочку и перевести человека к:
Другому сообщению или готовой цепочке.Таким образом, вы можете дать новую информацию, собрать необходимые данные, показать картинку и т.п.;
Дать ссылку на необходимый ресурсили ваши социальные сети;
Принять оплату за товар через доступные в конструкторе сервисы платежей. Не забывайте, что за свою работу многие из них потребуют комиссию.
Когда вы создадите кнопки с атрибутом «Продолжить цепочку», то увидите в блоке визуальное отображение кнопки с синим кругом. Необходимо создать следующий блок, чтобы связать его с кнопкой. Для этого перенесите иконку «Сообщение» в рабочую область. Оно настраивается так же, как и стартовое сообщение. Остается только заполнить информацию.
Чтобы связать блоки, зажмите левую кнопку мыши на синем круге интересующей вас кнопки и свяжите ее с левым синим кругом необходимого блока. В нашем случае, блока сообщения.
Дополнительные блоки для построения цепочки
SendPulse позволяет использовать более сложные блоки для работы с клиентами, сайтами и API.
«Пауза» позволит сделать задержку между отправками сообщений от нескольких минут до одного дня. Таким образом, переход между сообщениями будет менее резким, особенно если вы не добавляете кнопок, а например, присылаете ссылку на новый вебинар раз в сутки после подписки.
«Цепочка» позволяет направить пользователя на любую другую уже готовую цепочку.
«Фильтр» дает работать с различными условиями и данными пользователя. Проверяя соответствие критериям, можно направлять человека в разные цепочки сообщений, чтобы сформулировать предложение наиболее интересно в зависимости от информации о человеке.
Блок «Действие» содержит 7 функций:
Открыть чат:оповещает администратора о необходимости ответить и повышает приоритет этого чата в сервисе SendPulse. Это может быть очень полезно для решения сложных вопросов. Есть возможность отключить автоответы бота на час, чтобы они не мешали общению;
Отписать от бота:отключает пользователя от рассылок;
Добавить тег:теги помогают сегментировать аудиторию при рассылках и выдавать разные цепочки для разных групп пользователей. Таким образом, можно выдавать клиентам разную информацию в зависимости от их нахождения в воронке или при наличии особого статуса;
Удалить тег:аналог прошлой функции с обратным результатом;
Установить переменную:в зависимости от прохождения цепочек, пользователь может оказаться в разных ветках вашей цепочки, и вы можете менять переменные, связанные с ним;
Отправить вебхук: отправляет POST-запрос на ваш URL адрес. Так вы сможете добавить данные о том, что клиент дошел до какой-то ветки CRM и возможно необходимо с ним связаться. Например, для уточнения деталей доставки или особенностей заказа;
Блок «Запроса API» позволяет создавать POST и GET запросы и передавать туда значения переменных этого подписчика. Запрос можно сразу же проверить и настроить соответствия ответа для разных переменных, если вы получаете данные.
Например, если этот пользователь пришел с вашего сайта или приложения, и вы хотите сразу дать боту данные о человеке и пустить его по определенной цепочке сообщений.
Примеры чат-ботов в Telegram
Рассмотрим несколько примеров готовых чат-ботов.
Чат-бот для ведущего мероприятий Ильи Сорокина, созданный в сервисе Chatforma.
Чат-бот от Aviaslaes. Мониторинг цен на перелеты.
Новостной чат бот с подписками на новостные порталы, а также соцсеть ВКонтакте.
ТОП 5 сервисов для создания чат ботов
Мы рассмотрели процесс создания ботов и их настройку, а теперь предлагаем пробежаться по пяти самым известным сервисам для создания чат-ботов:
Manybot
Manybot поддерживает создание простых ботов и многоуровневых меню, интерактивные функции и автопостинг с RSS, YouTube, Twitter. Можно создавать ботов на 6 языках. Формы для оформления заказов и обратной связи.
Тарифы:Бесплатно, но с рекламой.
Функционал:доступ для нескольких администраторов, создание меню, собственных команд, рассылка новостей, поддержка нескольких языков.
Плюсы:Бесплатный сервис, не требующий знаний с уроками на ютуб.
Минусы:Без визуального редактора сложно работать. Сервера могут тормозить и задерживать ответы. Сервис работает медленно, а функционал давно не обновляется.
SendPulse
Главная страница SendPulse
Конструктор чат-ботов телеграм SendPulse позволяет гибко настроить логику работы бота и сегментировать аудиторию для рассылок. Подходит практически для любых задач и социальных сетей.
720 руб /мес до 1000 подписчиков;
1190 руб /мес до 2000 подписчиков;
2790 руб /мес до 5000 подписчиков;
4900 руб /мес до 10000 подписчиков;
6400 руб /мес до 15000 подписчиков;
7700 руб /мес до 20000 подписчиков;
9900 руб /мес до 30000 подписчиков;
11990 руб /мес до 40000 подписчиков;
13990 руб /мес до 50000 подписчиков;
Свыше 50000 подписчиков цена обсуждается индивидуально.
Подписка на год дает скидку в 20%.
Пробная версия: 7 дней или бесплатная версия до 1000 подписчиков с ограничениями в функционале.
Функционал: Визуальный редактор. POST и GET запросы к API. Прием оплаты через сервисы приема платежей. Сегментация аудитории и удобная работа с чатами живым человеком. Автопостинг и массовые рассылки.
Можно создавать множество ботов с единой подпиской.
Бесплатный функционал позволяет создать сильного бота;
Понятный визуальный редактор;
Быстрые ответы от сервера;
Быстрая служба поддержки;
Мало встроенных способов оплаты, которые потребуют дополнительной комиссии. Довольно высокая стоимость. При бесплатном использовании также будет включена реклама.
Botobot
Сервис по созданию онлайн-магазина на базе Телеграм ботов. Загрузка товаров через эксель и создание каталога для пользователей.
640 руб /мес за 200 товаров в каталоге и возможность приема платежей;
1720 руб /мес за 5000 товаров в каталоге, функцию поиска и доступ к API;
5760 руб /мес с безлимитом на товары;
Годовая подписка дает скидку в 25%.
Пробная версия: версия на 20 товаров и частичным ограничением функционала.
Загрузка товаров и создание каталога;
Статистика активности пользователей;
Англоязычная версия для бота;
Настройка API;
Виджет магазина для сайта;
Плюсы: простая настройка работы магазина.
Подходит только для онлайн-магазина;
Внешний вид практически не изменить;
Сделать многоуровневое меню не получится;
Bottap
Конструктор позволяет создавать ботов для диалога на большинстве социальных площадок с возможностью подключения онлайн-платежей.
Бесплатная версия: с ограничениями в функционале и рекламой;
Бизнес-бот: 590 руб/мес;
Энтерпрайз-бот: 990 руб/мес.
Пробная версия: 7 дней тарифа бизнес-бот.
Статистика активности;
Массовая рассылка;
Сегментация аудитории;
Онлайн-платежи;
Email-сообщения через бота;
Кроссплатформенность.
Плюсы: Удобный интерфейс настройки для создания простых ботов.
Минусы: Малое количество шаблонов диалога.
Chatforma
Конструктор для создания ботов высокой сложности с обучающими материалами по работе с сервисом.
1000 руб/мес за одного бота до 100к пользователей.При превышении лимита пользователей 10к руб/мес;
10000 руб/мес за одного бота до 100к пользователей.При превышении лимита пользователей 10к руб/мес.
Пробная версия: 15 дней на 300 пользователей
Сбор данных о клиентах;
Прием заказов, регистрации, опросы;
Рассылки и авторассылки;
Сегментация аудитории;
Подключение оператора прямо в боте;
Более 1000 готовых шаблонов.
Плюсы: можно создать бота любой сложности.
Минусы: сложный в освоении конструктор с высокой ценой.
Желаем высокого профита!
FAQ
Чем боты отличаются от обычного аккаунта?
У роботов нет статуса активности, их имена заканчиваются словом «bot». Боты не могут написать пользователям первыми, а все сообщения ботов по прошествии времени удаляются. В конференции боты по умолчанию не видят всех сообщений, пока в режиме приватности не настроено иное.
Что делать, если бот не работает?
Проверьте правильность ввода токена, настройки логики работы аккаунта в конструкторе или обратитесь в техническую поддержку сервиса.