Я еще не знаю как ответить на эту команду телеграм
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, которая будет выкачивать их и слать на локальный адрес:
Бот – это программа, которая выполняет определённые действия с целью упростить пользователям работу с мессенджером. Боты могут оповещать о погодных изменениях, автомобильных пробках, колебании курса валют. Они могут выполнять работу администратора канала или чата, быть посредниками между покупателем и продавцом, решать математические задачи или переводить текст на иностранный язык. Бот – очень важный инструмент, который можно создать с определённой целью.
Наиболее частые операции при работе с ботами
Ниже будут описаны несложные действия, которые наиболее часто приходится выполнять в работе с Телеграм-помощниками. Приложения Telegram для смартфонов, так же как и для ПК не имеют серьёзных отличий друг от друга. Поэтому рекомендации актуальны как для айфонов, так и для смартфонов на андроид, персональных компьютеров и других устройств, поддерживающих мессенджер.
Написать и добавить в контакты (подписаться)
Рисунок 1. Поиск и начало диалога с ботом.
Отписаться от бота
Это не сложно, достаточно продолжительного нажатия (смартфон) или клика правой кнопкой мыши (компьютер) на имя бота в списке контактов. В меню выбрать команду «delete conversation», или «удалить и остановить».
Рисунок 2. Как отписаться на смартфоне и ПК.
Сделать ссылку на бота
Рисунок 3. Адреса бота, которые являются ссылками на него.
Работа с BotFather, создателем и редактором ботов
Этот конструктор играет важную роль в жизни всех ботов Telegram. Он имеет все основные функции, среди которых:
- Создание;
- Редактирование;
- Настройки.
Редактирование
Под редактированием подразумевается изменение информации. За эти операции отвечает раздел «Edit Bots». Например, чтобы изменить имя бота нужно ввести команду /setname. Далее выбрать нужного бота из предложенного списка и ввести новое имя.
Рисунок 4. Как переименовать бота.
Что можно делать с ботами в Телеграм. Если вы знаете команды Edit bots, то вы сможете производить с ботами Telegram любые действия. Менять им имя и описание.
При помощи команд раздела Edit Bots можно отредактировать:
- Имя;
- Описание;
- Информацию о боте;
- Фотографию профиля;
- Изменить список команд;
- Удалить бота.
Настройки ботов Телеграм, используем редактор
Редактор ботов позволяет корректировать настройки помощника при помощи команд раздела Bot Settings. Telegram использует протоколы для социальных сетей, поэтому уникальный id необходим каждому пользователю, боту, чату или каналу для его корректной идентификации. Id, он же токен, генерируется одновременно с созданием бота.
Рисунок 5. Как узнать токен бота.
Что входит в раздел Bot Settings:
- Генерирование токена авторизации;
- Аннулирование токена для доступа к боту;
- Переключение встроенного режима;
- Переключение запроса встроенного местоположения;
- Редактирование встроенной обратной связи;
- Разрешение на присоединение к группам.
Боты для автопостинга
Бесплатные боты для автопостинга, как запланированных постов, так и репостов записей из соцсетей:
Рисунок 6. @ControllerBot, помогает создавать отложенные посты.
Боты для оплаты услуг, продавцы
При помощи нажатия на несколько кнопок, в Telegram можно оплатить услуги такси, заказать пиццу или купить пару туфель. Боты могут принимать платежи от пользователей мессенджера по всему миру.
Как заплатить
Для того чтобы разобраться в работе ботов для оплаты, можно начать диалог с @ShopBot. Это своего рода тренажёр, который на примере продаж несуществующих машин времени позволяет разобраться со всеми возможными функциями. На перевод денег он не отвечает, но в остальном функционирует как полноценный продавец.
Рисунок 7. Покупка машины времени через @ShopBot.
Как проверить оплату
В мессенджере нет такой функции, так как после нажатия на кнопку «заплатить» пользователь переходит на сайт выбранной платёжной системы. Сам мессенджер платежи не принимает, он является посредником между двумя сторонами и не взимает комиссию за осуществление API платежей.
Являясь открытой платформой, Telegram позволяет разработчикам ботов внедрять необходимый интерфейс и добавлять одну или несколько платёжных систем, работающих с мессенджером.
Возможные проблемы
Проблемы при работе с ботами встречаются часто, в основном это связано с прекращением их деятельности или переездом на другой адрес. Мессенджер работу ботов не контролирует, так как они являются продуктами, создаваемыми одними пользователями для других пользователей.
Периодически пользователи сталкиваются с ситуациями, когда ряд функционала Телеграмма не работает. Это может вызвать серьезные неудобства, так как в мессенджере присутствует масса важных и удобных помощников. Если вы заметили, что не работает бот в телеграмме, в первую очередь попробуйте перезапустить приложение. Неполадки в программном обеспечении могут быть причиной сбоя, от которого можно легко избавиться. Согласитесь, если вы привыкли прибегать к помощи такой программы, самостоятельно искать информацию уже не хочется. Существует несколько причин, почему может произойти подобная неполадка.
Причины отказа
Однозначно определить, почему бот в телеграмме не отвечает, тяжело. Существует несколько причин, из-за которых подобное может произойти. Статистика показывает, что в подавляющем большинстве случаев программы перестают работать из-за:
Читайте еще: На чем зарабатывает Телеграмм: основной источникНе работает телеграм бот
Многие пользователи создают в Телеграме собственные боты. Некоторые из них становятся вполне рабочими, быстро распространяются среди аудитории и приобретают популярность.
Неподготовленные юзеры, которые смогли создать робота по алгоритму, не знают, что делать при появлении неполадок. Разработчики рекомендуют придерживаться рекомендации:
Если вы заметили, что бот в телеграмме не отвечает на команды старт, а воспользоваться системой нужно быстро, будьте осторожны. В сети существует множество фейковых страниц, использование которых может навредить устройству. Они могут выманить секретные данные, доступы к банковским картам м другое. Будьте крайне осторожны при использовании новых роботов.
Чтобы отличить фейк от оригинала, достаточно посмотреть на адрес системы. Все боты начинаются со значка собачки.
Лучше всего использовать Телеграмм с мобильного устройства – внутренние надстройки не дадут вредоносному программному обеспечению навредить вам.
Телеграм бот не отвечает на команды
Если вы заметили, что Телеграм работает, но бот почему-то не отвечает на команды, стоит написать в службу технической поддержки. Учитывайте, отвечают долго – небольшое количество сотрудников обеспечивает работу мессенджера по всему миру. Если вы являетесь создателем бота, и он перестал работать, проблема в ошибке в коде. При отсутствии нужных навыков лучше поручить исправление профессионалу. Любая ошибка может полностью положить систему. Если система отказывает функционировать на нескольких устройствах, неполадки могут быть в интернет-соединении.
Telegram не является самым популярным мессенджером в стране. Но опыт подсказывает, что именно им чаще других пользуются в профессиональных целях. Он отличается трепетным отношением к конфиденциальности и сохранности данных. Это важно.
Сам настолько давно отдаю предпочтение Telegram, что даже страшно становится. Но куда больше меня пугает обилие возможностей, о которых я даже не слышал. Данный материал расскажет про самые интересные из них.
Крайне полезная фишка с неочевидной реализацией: большинство находит ее случайно или по аналогичной наводке.
Подобной отложкой крайне удобно пользоваться, чтобы напомнить собеседнику о вопросе, который был задан в неудобное время, или задать его в удобное.
2. Хэштеги можно использовать для организации «Избранного»
В стандарте они транслируются через динамик громкой связи, поэтому становятся достоянием общественности. Тем не менее, этого достаточно просто избежать.
4. Меню дополнительных действий можно вызвать очень быстро
5. Любой диалог можно отметить в качестве непрочитанного
Как это сделать: зажмите любой диалог из общего перечня и выберите возможность «Пометить как новое».
6. Для разных чатов можно назначить автоматические папки
Как это сделать: перейдите в раздел «Настройки», разверните меню «Папки с чатами», нажмите на кнопку «Создать» возле необходимого варианта из пункта «Рекомендованные папки».
Да, разбивка диалогов на папки, которая появилась в Telegram не так давно, стала настоящим открытием для активных пользователей мессенджера.
Тем не менее, немногие из них обратили внимание, что приложение также дает возможность автоматически сортировать чаты. Для этого оно предлагает рекомендованные папки. К примеру, «Личные» для диалогов тет-а-тет, а также «Новые».
7. Есть возможность изменить настройки счетчика на значке
8. Для работы со звонками можно задать отдельный раздел
Как это сделать: перейдите в раздел «Настройки», разверните меню «Недавние звонки», переведите в активное положение переключатель «Вкладка "Звонки"».
Если активно используете Telegram для голосовых вызовов и видеосвязи, можете добавить в приложение отдельный раздел с последними звонками.
В Telegram можно выбрать, какие именно чаты будут указываться в данном меню, а какие необходимо скрыть из любых соображений.
10. Используемую мессенджером память можно быстро очистить
Как это сделать: перейдите в раздел «Настройки», разверните меню «Данные и память», определите пункт «Использование памяти», воспользуйтесь кнопкой «Очистить кэш Telegram».
До недавней чистки мой Telegram занимал больше 7 ГБ в памяти iPhone. Хорошо, что даже для такого объема у меня достаточно свободного места в хранилище. Если ваше подошло к концу, теперь вы знаете, как быстро избавиться от кеша.
11. Все данные из «Избранного» можно очень быстро очистить
Как это сделать: зажмите диалог «Избранное», определите вариант «Удалить» в быстром меню, выберите пункт «Очистить историю».
Если вы используете диалог «Избранное» только лишь в роли временного хранилища для данных, его придется регулярно чистить. Достаточно лишь попробовать удалить данный чат, и Telegram предложит в качестве альтернативы его очистку.
12. Вы можете самостоятельно создать новую тему оформления
Как это сделать: перейдите в раздел «Настройки», разверните меню «Оформление», нажмите на «+» в правом верхнем углу экрана, воспользуйтесь кнопкой «Создать новую тему», задайте имя и выберите необходимые цвета.
Про темы оформления Telegram знают многие. Тем не менее, далеко не все обратили внимание на заветную кнопку, которая даст возможность настроить цвета интерфейса вручную. Теперь и вы знаете про это.
13. Создать новые стикеры для Telegram — вообще не проблема
Как это сделать: перейдите в раздел «Настройки», разверните меню «Стикеры», нажмите на ссылку бота @stickers мелким шрифтом в нижней части интерфейса.
14. Свой номер мобильного телефона можно очень просто скрыть
Как это сделать: перейдите в раздел «Настройки», разверните меню «Конфиденциальность», определите пункт «Номер телефона», выберите вариант, кто сможет видеть ваш номер.
Telegram использует ваш номер телефона для идентификации конкретного аккаунта. Если вы не хотите, чтобы он стал достоянием общественности, можете скрыть его от всех пользователей или определенной их части.
15. Важные переговоры можно вести через секретные диалоги
Как это сделать: нажмите на кнопку создания нового диалога в верхнем правом углу главного меню Telegram, выберите возможность «Создать секретный чат» и определите его участников.
Как это сделать: перейдите в раздел «Настройки», разверните меню «Конфиденциальность», определите пункт «Код-пароль и Face ID».
К примеру, если защитить Telegram с помощью Face ID, вход в него не будет отнимать сильно больше времени. Тем не менее, в приложение не смогут попасть недоброжелатели.
17. Для надежной защиты аккаунта можно задать облачный пароль
Как это сделать: перейдите в раздел «Настройки», разверните меню «Конфиденциальность», определите пункт «Облачный пароль».
«Облачный пароль» потребуется ввести, чтобы привязать к текущей учетной записи дополнительный гаджет. Это защитит ее от недоброжелателей.
18. В Telegram спрятано тайное меню для опытных пользователей
Как это сделать: быстро нажмите на значок раздела «Настройки» десять раз.
Именно в этом меню появляются тумблеры для включения экспериментальных возможностей до релиза. К примеру, здесь была и возможность включения видеозвонков, пока они не стали достоянием всего сообщества.
19. Вы можете использовать пару аккаунтов в одном приложении
Как это сделать: перейдите в раздел «Настройки» и воспользуйтесь возможностью «Добавить аккаунт».
Да, кстати, немногие знают, что одно приложение Telegram можно использовать сразу для нескольких аккаунтов. Это особенно важно, если ваша профессиональная деятельность завязана на общении с клиентами. Дополнительная учетка поможет отделить личные диалоги от рабочих.
20. Если Telegram больше не нужен, можно удалить свой аккаунт
Как это сделать: перейдите по данной ссылке, введите номер телефона, к которому привязан аккаунт Telegram, и следуйте инструкциям на экране.
В «Настройках» Telegram можно установить время, спустя которое учетная запись мессенджера со всеми данными будет удалена автоматически. Если это нужно сделать быстрее, теперь вы знаете, как это сделать.
(76 голосов, общий рейтинг: 4.74 из 5)Николай Грицаенко
Кандидат наук в рваных джинсах. Пишу докторскую на Mac, не выпускаю из рук iPhone, рассказываю про технологии и жизнь.
20 неизвестных фишек WhatsApp. Например, cообщения могут исчезать
20 фишек Telegram, которыми многие не пользуются, а зря. Например, умные папки
20 неизвестных фишек Заметок в iOS. Меняем цвет текста, создаём таблицы
Сейчас сделаем ваши фото на iPhone заметно лучше. Вот 10 хитростей для этого
5 способов экономить на поездках в московском метро. Некоторые вообще ездят бесплатно
Как запускать Android-приложения в Windows 11. Придется немного повозиться
Специалисты смогли обмануть Touch ID в MacBook и iPad. Нужна только плёнка, клей и немного фотошопа
В Москве появятся пункты сбора старых гаджетов и сломанной техники. Их переработают
🙈 Комментарии 54
редкая статья на ресурсе по делу
Спасибо, теперь знаю, что неизвестных функций нет :)
@flint , слишком банально и все знают
@Николай Грицаенко , точно не все)
@flint , ну, быть может)
@flint , те кто не пользуется телегой наверное)
@Николай Грицаенко , искал. Не нашёл
@38kzb42k55 , это вряд ли сможет делать бот, это делается по api то есть нужно найти вебсервис и дать ему доступы, или написать свой скрипт на пхп/js/петон
api. telegram. org/botXXX:YYYYYYYYYYY/sendMessage
@T34 , есть такое дело
@T34 , правится запретом телеге доступа к контактам.
@dmtr.klmnk, спасибо, не знал
@Николай Грицаенко , по моему так же и в iMessage было
@walkman99 , вот этот вот очень интересно
А как же лучшее и самое быстрое создание GIF))
@collder , это как?
>>> 10. Используемую мессенджером память можно быстро очистить
Стоит дополнить этот пункт указанием на возможность очищать не аесь кэш Телеграма целиком, а только кэш отдельных чатов или каналов.
При этом можно даже выбрать какие типы данных удалить из кэша чата или канала.
В стандарте, как раз-таки, красуется и всегда красовалось число входящих, а не чатов и каналов. Что на iPhone, что на Android, что на Десктопе.
Нет, не знаем. Так как не указано, где конкретно в «Настройках» («Конфиденциальность»).
@* 9190 * , “В «Настройках» Telegram можно установить время, спустя которое учетная запись мессенджера со всеми данными будет удалена автоматически. Если это нужно сделать быстрее, теперь вы знаете, как это сделать”. — до этого ссылка для быстрого удаления вроде указана, и про него вообще речь идет. Поэтому воспринимают комментарий как придурку и дальше не читаю, спасибо
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.
Если вы попробуете загуглить, как написать Телеграм-бота на Python, вам предложат воспользоваться библиотеками python-telegram-bot и telebot. Но не стоит.
Ну, если вы только хотите познакомиться с разработкой ботов и написать своего hello-world-бота, то можете, конечно использовать и их. Но эти библиотеки могут далеко не всё. Среди разработчиков ботов лучшей библиотекой для ботов на Python считается aiogram. Она асинхронная, использует декораторы и содержит удобные инструменты для разработки. Ещё был хороший Rocketgram, но он давно не обновлялся.
Также ботов часто пишут на JavaScript, для этого обычно используется Telegraf. Библиотеки есть и для многих других языков, но используют их реже.
Пример кода бота
Если вы хотите получить какое-то представление о том, как вообще выглядит код бота, вот вам пример использования на aiogram с его странички на GitHub:
Этот бот будет отвечать на команды /start и и /restart.
Создание бота
Единственная информация о Телеграм-ботах, которой в интернете полным-полно: как создать бота. Это делается через специального бота BotFather. Когда вы создадите бота, BotFather даст вам его токен. Токен выглядит примерно так: 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw . Именно с помощью токена вы сможете управлять ботом.
Один пользователь может создать до 20 ботов.
В BotFather удобно управлять ботами своими командой /mybots .
Юзернеймы
При создании бота нужно выбрать юзернейм. После этого поменять его будет очень сложно.
Как поменять юзернейм бота
Если у вас есть бот, и вы хотите дать ему более короткий юзернейм (который может быть занят неработающим ботом), то вы, теоретически, можете это сделать через @BotSupport.
Для этого бот должен (внезапно) быть рабочим, а также поддерживать английский язык.
Принято использовать такой формат обращения в поддержку:
Если вы везунчик 9999 lvl — вам ответят.
Оформление бота
Открыв бота, пользователи могут увидеть его профиль.
Оформление бота настраивается в BotFather: меню /mybots → Edit Bot . Там можно изменить:
Информация (About) — это текст, который будет виден в профиле бота.
Аватарка. Аватарки ботов, в отличие от аватарок пользователей и чатов, не могут быть анимированными. Только картинки.
Команды — тут имеются ввиду подсказки команд в боте. Подробнее о командах ниже.
Inline Placeholder — об инлайн-режиме см. ниже.
Стандартный совет: Потратьте свое время и заполните описание и информацию бота, чтобы пользователям было понятнее и проще его использовать. Можете оставить там свои контакты. И поставьте аватарку, чтобы бота было проще отличать от других чатов в списке.
Запуск бота пользователем
В Телеграме можно делиться файлами до 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-битный тип числа.
Команды — о них в следующем пункте.
Я включил Privacy mode, а он не работает
Нужно удалить бота из группы и добавить заново.
Это могло нарушить работу антиспам- и других ботов.
Сейчас баг уже исправлен.
Команды
Команды подсвечиваются как ссылки: нажатие отправляет команду в чат.
Разметка в Telegram API (Телеграм боты)
Способы выделения текста:
Жирный текст
Моноширинный текст ("в строке" и "блоком")
Кнопки
Инлайн-кнопки
URL button — кнопка с ссылкой.
Switch to inline button. Кнопка для переключения в инлайн-режим (об инлайн-режиме см. ниже). Кнопка может открывать инлайн в том же чате или открывать меню для выбора чата. Можно указать в кнопке запрос, который появится рядом с никнеймом бота при нажатии на кнопку.
Дополнительные виды кнопок
Login URL button — специальная кнопка для авторизации пользователей на сайте. Использовалась, например, в официальном боте @discussbot (до добавления нативных комментариев в Телеграм).
Клавиатурные кнопки
Есть другой тип кнопок: keyboard buttons. Они отображаются вместо клавиатуры как подсказки. При нажатии на такую кнопку пользователь просто отправит этот текст.
При этом в личных чатах с помощью кнопки можно:
Запросить номер телефона пользователя,
Запросить геолокацию пользователя,
Открыть у пользователя меню создания опроса.
По умолчанию, если показать кнопки в группе, они будут видны всем пользователям. Вместо этого можно отобразить кнопки одновременно для этих пользователей:
Ещё о кнопках
Показать клавиатурные кнопки,
Убрать все клавиатурные кнопки,
Таким образом, нельзя показать оба типа кнопок одновременно.
Взаимодействие с ботом
Ссылки на Телеграм боты.
Юзернеймы ботов работают так же, как и любые другие юзернеймы в Телеграме: бота @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=<ваш текст> пользователь может запустить бота с каким-то стартовым параметром ( <ваш текст> ).
Как это выглядит:
При переходе по ссылке бот открывается как обычно.
Часто диплинки используются для реферальных программ (в качестве параметра можно передавать id пользователя, который поделился ссылкой). Есть и другие применения. Телеграм боты.
Прямая ссылка: tg://resolve?domain=examplebot&start=<ваш текст>
Инлайн-режим. Телеграм боты.
Инлайн-режим (inline mode) — это специальный режим работы бота, с помощью которого пользователь может использовать бота во всех чатах.
В группе можно запретить использовать инлайн всем или некоторым участникам. В официальных приложениях Телеграм это ограничение объединено с ограничением на отправку стикеров и GIF.
Результаты инлайн-режима
Результаты можно отображать двумя способами:
Сеткой. Удобно для выдачи картинок.
- Вертикальным списком. Удобно для выдачи текста.
Можно совмещать два типа, но корректно отображается это только на Telegram Desktop.
Приватность и геопозиция в инлайне
Inline feedback
Inline feedback — это апдейты о выбранных инлайн-результатах. Включаются через BotFather.
Создание наборов стикеров для телеграм ботов
Боты (и только боты!) могут создавать наборы стикеров. При этом каждый набор стикеров должен принадлежать какому-то пользователю. Посмотреть свои наборы стикеров пользователь может с помощью бота @Stickers.
Телеграм боты. Платежи
Телеграм предоставляет ботам возможность принимать платежи от пользователей. Это делается через провайдеров ЮMoney, Сбербанк, Stripe и ещё 7.
Эта возможность используются редко, потому что для использования провайдеров нужно юридическое лицо.
Платежи, к тому же, не работают на iOS из-за ограничений Apple.
HTML-игры в ботах
Telegram Login Widget
Вы можете добавить на свой сайт авторизацию через Телеграм. Процесс авторизации будет проходить так:
Пользователь должен будет ввести свой номер телефона.
Бот Telegram попросит подтвердить вход.
Telegram Login Widget не связан с Login URL button (см. раздел про кнопки выше), а является его альтернативой.
Разработка Телеграм ботов
Какие апдейты можно получать
Получение апдейтов: 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.
Юзерботов следует использовать аккуратно: за большую подозрительную активность аккаунт могут ограничить или забанить.
Заключение. Телеграм боты
Я постарался собрать в одном месте и структурировать информацию о всех возможностях Телеграм-ботов. Большое спасибо vanutp, NToneE и Grinrill за помощь с фактами. Если мы что-то забыли — пишите, исправлю.
Я специально не разделял большую статью на несколько постов, чтобы можно было быстро найти нужную информацию. К тому же, в начале статьи есть её содержание. Так что можете сохранить её к себе и использовать как справочник 🙂
Вообще интерфейс бота (то есть интерфейс чата) имеет много ограничений. Но плохо ли это? Действительно удобнее использовать инструмент, когда это часть привычной среды. Я часто прямо в переписке нахожу нужную картинку или информацию с помощью инлайн-ботов. Как заядлый пользователь Телеграма, я люблю использовать ботов. И создаю ботов. И вы создавайте.
Читайте также: