Csi бот в телеграмм что это

Обновлено: 07.07.2024

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

Прежде всего, бот для Telegram — это по-прежнему приложение, запущенное на вашей стороне и осуществляющее запросы к Telegram Bot API. Причем API довольное простое — бот обращается на определенный URL с параметрами, а Telegram отвечает JSON объектом.

Рассмотрим API на примере создания тривиального бота:

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

Пишем ему /start и получаем список всех его команд.
Первая и главная — /newbot — отправляем ему и бот просит придумать имя нашему новому боту. Единственное ограничение на имя — оно должно оканчиваться на «bot». В случае успеха BotFather возвращает токен бота и ссылку для быстрого добавления бота в контакты, иначе придется поломать голову над именем.

2. Программирование

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


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

Приложение торнадо для обработки запросов принимает класс tornado.web.RequestHandler, в котором и будет логика бота.


Здесь CMD — словарь доступных команд, а send_reply — функция отправки ответа, которая на вход принимает уже сформированный объект Message.

Собственно, её код довольно прост:

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

3. Команды

Перво-наперво, необходимо соблюсти соглашение Telegram и научить бота двум командам: /start и /help:

Команда /start без параметров предназначена для вывода информации о боте, а с параметрами — для идентификации. Полезно её использовать для действий, требующих авторизации.

После этого можно добавить какую-нибудь свою команду, например, /base64:

Для пользователей мобильного Telegram, будет полезно сказать @BotFather, какие команды принимает наш бот:
I: /setcommands
BotFather : Choose a bot to change the list of commands.
I: @******_bot
BotFather: OK. Send me a list of commands for your bot. Please use this format:

command1 - Description
command2 - Another description
I:
whoisyourdaddy - Information about author
base64 - Base64 decode
BotFather: Success! Command list updated. /help

C таким описанием, если пользователь наберет /, Telegram услужливо покажет список всех доступных команд.

4. Свобода

  • All messages that start with a slash ‘/’ (see Commands above)
  • Messages that mention the bot by username
  • Replies to the bot's own messages
  • Service messages (people added or removed from the group, etc.)

Для начала в Handler добавляем обработчик:


А потом в список команд добавляем псевдо-речь:


Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map — удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.

5. Не текст.

Для примера расширим словарь RESPONSES:


И будем отлавливать текст <at_sticker>:


Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:


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


6. Возможности

Благодаря удобству API и быстрому старту боты Telegram могут стать хорошей платформой для автоматизации своих действий, настройки уведомлений, создания викторин и task-based соревнований (CTF, DozoR и прочие).

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

7. Ограничения

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

Как я использовал этого бота

image

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

Заключение

Я постарался собрать в одном месте и структурировать информацию о всех возможностях Телеграм-ботов. Большое спасибо vanutp, NToneE и Grinrill за помощь с фактами. Если мы что-то забыли — пишите, исправлю.

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

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

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

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

инструкция

image

Находите в телеграм бота под названием @BotFather,
он выглядит вот так:
Дальше пишите ему команду для создание нового бота, команда выглядит вот так: /newbot

image


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


Дальше вам надо будет придумать фамилию вашего бота, и обязательно с префиксом «bot», я например своего назову вот так: BotStepana3215_bot:


И @BotFather вам выдаст токен вашего бота, выглядит он вот так:


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

И осталось скопировать токен, где-нибудь его сохранить в текстовом файле (удобнее оттуда копировать), запустить программу и вписать туда токен.

И теперь вы можете написать своему боту которого вы только что создали (его можно найти в поиске телеграм по фамилии, в моем случае @BotStepana3215_bot), и у вас будет работать все что я перечислял из его функционала.

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

Что такое боты в телеграм и зачем они нужны

Как я его писал?

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

Использовал я библиотеки: telebot,PyQt5, sys, tkinter, pyautogui, и все, этого мне хватило.

Вот такой получился исходный код программы:


Как видите бот не сложный, но есть баги:

Что происходит в боте?

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


Дальше я создаю функцию вопроса:


Дальше можно заняться самим телеграмом и ботом, создаю бота:


И создаю первую функцию которая будет отвечать на команду "/start" в телеграмме:


И в ней создаем две функции, это msg и snd_doc.


Осталось только запустить бота:


Вот впрочем и все, так он и работает.

Как найти бота

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

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

Как и где найти

Существует 2 два способа, как найти ботов в Телеграм:

  1. в мессенджере, введя название в строке поиска;
  2. поиск ботов в специальных каталогах и подборках.

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

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

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

Популярные боты

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

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

FleepBot – позволяет делать отложенные посты. Кроме того он умеет:

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

Подойдет для ведения тематических каналов и блогов.

Бот Гена – помогает осуществлять быструю продажу рекламы. Его функции:

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

Гена помогает людям занимающимся заработком на каналах.

ChatkeeperBot – выступает в качестве модератора в чатах. В его функционале много настроек:

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

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

Vk Music – позволяет находить музыку из ВК. Кроме поиска и прослушивания композиции дает возможность скачать понравившиеся треки.

  • каталог популярной музыки;
  • подборка новинок;
  • бесплатное прослушивание.

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

Пранк Бот – поможет качественно разыграть человека. Все шутки отсортированы по возрасту, полу и жизненным случаям.

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

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

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

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

Собственно, список самых лучших ботов окончен. Пора узнать, как ими пользоваться.

Всё, о чём должен знать разработчик Телеграм-ботов


Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

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

Подробный гайд о том, как работать с ботами — под катом.

Что такое боты в Телеграм и зачем они нужны

Боты в Телеграм

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

В 2020 году боты в Телеграм умеют:

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

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

Главное преимущество ботов в том, что они не требуют установки на устройство, а работают непосредственно в Телеграм.

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

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

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

Чтобы начать, найдите и откройте бота, после чего нажмите на кнопку «Запустить»:

Запускаем нового бота в Телеграм

Напишите команды, которые нужно выполнить. Либо, как вариант, нажмите на нужную в появившемся меню:

Команды для бота

Запомните, команда всегда начинается со знака «/» и содержит от пяти до тридцати символов латинского алфавита или спецзнаков.

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

Общие команды

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

Некоторые помощники понимают эти команды на русском языке.

Что делать, если бот не отвечает на команды

Заключение

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

Начало работы

Telegram API vs Telegram Bot API

Рассказываю по порядку.

Телеграм использует собственный протокол шифрования MTProto. MTProto API (он же Telegram API) — это API, через который ваше приложение Телеграм связывается с сервером. Telegram API полностью открыт, так что любой разработчик может написать свой клиент мессенджера.

Для написания ботов был создан Telegram Bot API — надстройка над Telegram 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 .

Юзернеймы

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

Как поменять юзернейм бота

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

Для этого бот должен (внезапно) быть рабочим, а также поддерживать английский язык.

Принято использовать такой формат обращения в поддержку:

Если вы везунчик 9999 lvl — вам ответят.

Юзернейм бота выглядит как обычный юзернейм, но он должен заканчиваться на "bot".
Вы могли видеть ботов с именами @pic, @vid, @sticker, @gamee — это официальные боты Телеграма. Им можно нарушать все правила :)

Оформление бота

Открыв бота, пользователи могут увидеть его профиль.


Оформление бота настраивается в BotFather: меню /mybots → Edit Bot . Там можно изменить:

Описание (Description) — это текст, который пользователи будут видеть в начале диалога с ботом под заголовком "Что может делать этот бот?"

Информация (About) — это текст, который будет виден в профиле бота.

Аватарка. Аватарки ботов, в отличие от аватарок пользователей и чатов, не могут быть анимированными. Только картинки.

Команды — тут имеются ввиду подсказки команд в боте. Подробнее о командах ниже.

Inline Placeholder — об инлайн-режиме см. ниже.

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

Запуск бота пользователем

Когда пользователь впервые открывает бота, он видит кнопку "Запустить" или "Начать" (зависит от платформы пользователя), на английском — "Start". Нажимая на эту кнопку, он отправляет команду /start .

. если пользователь использует официальный клиент

В Телеграме можно делиться файлами до 2 ГБ, но в Bot API более жесткие лимиты: боты могут скачивать файлы до 20 МБ и отправлять файлы до 50 МБ.

Работа с файлами в Bot API

Если бот уже загрузил файл на сервер Телеграма, то он может использовать file_id, чтобы отправлять этот файл.

Загружать файл на сервер можно в том числе и по URL файла.

Куда может писать бот

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

Боты не могут писать другим ботам.

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

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


Также бота можно добавить в канал, причем только как администратора. Самый частый способ использования ботов в каналах — добавление кнопок под постами ("лайки", ссылки и прочее).

Как боты добавляют кнопки

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

Подробнее о кнопках тоже ниже.

Супергруппы

На самом деле многие группы в Телеграме являются супергруппами.

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

Со временем, видимо, решили, что это неудобная концепция. Теперь обычная группа становится супергруппой, когда у группы меняются какие-нибудь настройки (подробнее тут). Вот такой костыль.

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

id пользователей и чатов

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

В токене бота первая часть — это его id. Например, токен 110201874:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw принадлежит боту с id 110201874 .

В Bot API перед id супергрупп и каналов пишется -100. Так, id 1356415630 превращается в -1001356415630 . Осторожно: вы не сможете сохранить это значение в 32-битный тип числа.

Команды — о них в следующем пункте.

Нужно удалить бота из группы и добавить заново.

Это могло нарушить работу антиспам- и других ботов.

Сейчас баг уже исправлен.

Команды

Часто используемый способ "общения" пользователей с ботом — команды. Команды начинаются на "/" и состоят из латинских букв (можно использовать цифры и нижние подчеркивания).

Команды подсвечиваются как ссылки: нажатие отправляет команду в чат.


В группах, чтобы различать команды от разных ботов, Телеграм предлагает ставить в конце команды юзернейм бота. Например: /start@examplebot .


Если в подсказках команд есть /help , в профиле бота появляется кнопка "Помощь с ботом". Нажатие на кнопку отправляет эту команду.

Если в подсказках команд есть /settings , в профиле бота появляется кнопка "Настройки бота". Нажатие на кнопку отправляет эту команду.

Разметка в Telegram API

Способы выделения текста:

Жирный текст

Моноширинный текст ("в строке" и "блоком")

Кнопки

Инлайн-кнопки

URL button — кнопка с ссылкой.

Switch to inline button. Кнопка для переключения в инлайн-режим (об инлайн-режиме см. ниже). Кнопка может открывать инлайн в том же чате или открывать меню для выбора чата. Можно указать в кнопке запрос, который появится рядом с никнеймом бота при нажатии на кнопку.

Login URL button — специальная кнопка для авторизации пользователей на сайте. Использовалась, например, в официальном боте @discussbot (до добавления нативных комментариев в Телеграм).

Callback game button — кнопка для открытия HTML-игры. См. пункт "HTML-игры".

Pay button — кнопка для платежей. См. пункт "Платежи через ботов".

Клавиатурные кнопки

Есть другой тип кнопок: keyboard buttons. Они отображаются вместо клавиатуры как подсказки. При нажатии на такую кнопку пользователь просто отправит этот текст.

При этом в личных чатах с помощью кнопки можно:

Запросить номер телефона пользователя,

Запросить геолокацию пользователя,

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

Есть опция resize_keyboard, которая отвечает за то, изменять ли высоту этой "клавиатуры из кнопок". По умолчанию она, почему-то, выключена, и тогда высота клавиатуры стандартная большая. Получаются кнопки как на этой картинке:


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

Ещё о кнопках

Показать клавиатурные кнопки,

Убрать все клавиатурные кнопки,

Таким образом, нельзя показать оба типа кнопок одновременно.

Разработка ботов

Какие апдейты можно получать

Получение апдейтов: Bot API vs Telegram API

Если вы получили апдейт в Bot API, то второй раз вы его уже не получите.

В Telegram API это не так: пользователь может пользоваться мессенджером через несколько клиентов, каждый из которых должен получать апдейты.

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

Ограничения Bot API не позволяют сделать то же самое.

Лимиты

Конечно, на запросы к серверу существуют лимиты. В Bots FAQ на сайте Telegram названы следующие:

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

Другие известные ограничения в Telegram собраны на limits.tginfo.me — см. раздел про ботов.

Рассылка по пользователям

30 пользователям в секунду.

Смена владельца бота

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

Локальный сервер Bot API

Также осенью 2020 года исходники Bot API выложили на GitHub. Теперь вы можете поднять собственный сервер Bot API. На GitHub перечислены следующие преимущества:

Скачивание файлов с сервера без ограничения (ограничение на отправку файлов пользователями в Телеграме — 2 ГБ),

Загрузка файлов на сервер до 2000 МБ,

Загрузка файлов на сервер с помощью локального пути и URI файла,

Использование любого локального IP-адреса для вебхука,

Использование любого порта для вебхука,

Возможность увеличить максимальное число соединений до 100000,

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

Юзерботы

В начале статьи я рассказывал о том, что такое Telegram API и Telegram Bot API.

Юзерботов следует использовать аккуратно: за большую подозрительную активность аккаунт могут ограничить или забанить.

Бот следит и управляет компьютером через телеграм

Речь идет о боте, которого я сам написал используя Python.

Если написать боту «s», то бот сделает скриншот, и пришлет его вам обратно.

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

Виды ботов и что они умеют

Виды ботов и что они умеют

В Телеграме существует огромное количество различных помощников. Отличить их от обычных пользователей можно по надписи «bot» в названии. Ну а бывают они следующих видов:

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

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

Используются преимущественно онлайн-сервисами. Помогают разобраться в функционале и работе.

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

Взаимодействие с ботом

Ссылки на бота

Юзернеймы ботов работают так же, как и любые другие юзернеймы в Телеграме: бота @examplebot можно открыть по ссылке t.me/examplebot.

Также существует прямая ссылка: tg://resolve?domain=examplebot

Подробнее о ссылках tg://

Такие ссылки могут не только заменять ссылки t.me, но и задавать свои действия. Например, tg://settings открывает настройки.

Список известных таких ссылок есть канале @DeepLink.

Ссылка на добавление в группу

По ссылке t.me/examplebot?startgroup=true у пользователя откроется меню: выбор группы для добавления бота.

Прямая ссылка: tg://resolve?domain=examplebot&startgroup=true

Диплинки

По ссылке t.me/examplebot?start=<ваш текст> пользователь может запустить бота с каким-то стартовым параметром ( <ваш текст> ).

Как это выглядит:

При переходе по ссылке бот открывается как обычно.

Отображается кнопка "Запустить", даже если пользователь уже запускал бота.

Так бот может отреагировать на запуск не как на обычный "/start", а другим способом.

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

Прямая ссылка: tg://resolve?domain=examplebot&start=<ваш текст>

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

Инлайн-режим (inline mode) — это специальный режим работы бота, с помощью которого пользователь может использовать бота во всех чатах.

Инлайн-режим можно включить в BotFather, там же можно выбрать плейсхолдер вместо стандартного "Search. "

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

Результаты инлайн-режима

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

Сеткой. Удобно для выдачи картинок.

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

Можно совмещать два типа, но корректно отображается это только на Telegram Desktop.


Приватность и геопозиция в инлайне

Но зато если включить в BotFather настройку "Inline Location Data", то бот сможет видеть геопозицию пользователей, когда они используют инлайн (на мобильных устройствах). Перед этим у пользователей показывается предупреждение.

Inline feedback

Inline feedback — это апдейты о выбранных инлайн-результатах. Включаются через BotFather.


Предполагается использование inline feedback для сбора статистики, но не всегда он используется так. Inline feedback позволяет "подгружать" не все результаты сразу, а только выбранный. Например, если бот используется для поиска музыки, то он может загружать не все песни сразу, а только одну.

Создание наборов стикеров

Боты (и только боты!) могут создавать наборы стикеров. При этом каждый набор стикеров должен принадлежать какому-то пользователю. Посмотреть свои наборы стикеров пользователь может с помощью бота @Stickers.

Платежи через ботов

Телеграм предоставляет ботам возможность принимать платежи от пользователей. Это делается через провайдеров ЮMoney, Сбербанк, Stripe и ещё 7.

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

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

HTML-игры в ботах

Telegram Login Widget

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

Пользователь должен будет ввести свой номер телефона.

Бот Telegram попросит подтвердить вход.

Пользователь авторизуется и нажимает на "Принять" на сайте.

Telegram Login Widget не связан с Login URL button (см. раздел про кнопки выше), а является его альтернативой.

Читайте также: