Зачем нужны боты
Telegram — один из самых популярных мессенджеров в России, постепенно завоёвывающий любовь и признание во всём мире. Его создателем является Павел Дуров, некогда создавший социальную сеть ВКонтакте. Мессенджер обладает множеством функций, при этом он абсолютно бесплатный. Даже стикеры вы можете подключить на халяву или сделать самостоятельно.
Одной из уникальных и очень удобных фишек приложения считаются боты. Они служат для выполнения самых разных задач:
- Создания рассылки из социальных сетей;
- Украшения постов в чатах и каналах;
- Проведения опросов среди подписчиков;
- Для ответов на часто задаваемые вопросы;
- Показа новостей;
- Чтобы развлекать подписчиков.
Как видите, вариантов использования много, а ведь я назвал далеко не все. Но, могу вас заверить, без помощи бота создать по настоящему интересный и полезный канал, посты в котором будут привлекать пользователей и подталкивать их к подписке – невозможно.
Подробнее о хендлерах
Давайте немножко упростим нашу функцию с приветствием:
Теперь мы передаём в конструктор ChatAction аргумент — это функция для фильтрации событий. Сюда мы перенесли условие. Теперь хендлер будет срабатывать только для нужных событий.
Также обратите внимание на функцию. Она отправляет сообщение в чат, из которого пришёл event
На самом деле это просто сокращение для функции , которую мы использовали выше.
Ну что ж, если у нас всё работает, то можно и поиграться! Вы можете попробовать написать свои хендлеры. Например:
Но мы пришли сюда не за этим. Мы хотим сделать команды и другие фичи для администраторов группы! Для этого нам нужно уметь отличать админов от простых участников группы. Этим мы займёмся в следующей части туториала. Мы подключим базу данных и научимся хитрым способом получать админов.
Как сделать бота в Telegram самому, на русском — алгоритм
Создать бота для Телеграм канала может любой пользователь и мы это докажем. Читайте подробную инструкцию, как сделать бота в Телеграмме на русском языке самостоятельно:
Первым дело запустите приложение Телеграм (желательно на компьютере или ноутбуке, так создавать бота будет проще и удобнее);
Находим поисковую строку и вводим туда название другого бота – BotFather. С помощью него Вы сможете создать собственного бота для Телеграмма. После того, как поиск выдаст Вам результат, щёлкаем по самому верхнему боту и нажимаем кнопку «Запустить».
Сейчас Вы можете привлечь подписчиков в ТГ каналы и группы без спам-рассылок и заданий. Достаточно лишь заказать необходимый ресурс по рекордно низким ценам.
На это действие Вам пришлют несколько вариантов команд, которые Вы можете отправить боту.
Выбирайте команду /newbot и начинайте следовать инструкции. Вас попросят придумать имя для своего бота, например «Музыка online”. Название может быть любым;
Следующим шагом будет создание адреса Вашего бота. Например: music64_bot. В конце латинского названия обязательно должно присутствовать слово «bot». Если Вы допустите какую-то ошибку, или имя бота будет занято, то Вам придёт сообщение с просьбой повторить попытку;
После этого BotFather пришлёт Вам API-токен (выделен на скриншоте), который нужно будет обязательно сохранить и никому не показывать. Он будет ключом для дальнейшего создания бота;
После всех проделанных шагов можно начинать настройку своего бота:
Для того, тчобы добавить главное изображение для своего бота, кликайте по каманде /setuserpic. Выберите своего бота и отправьте фотографию;
Кликните по команде /setabouttext и введите 2-3 предложения, которые будут служить информацией о боте (краткое описание);
С помощью команды /setdescription Вы сможете написать приветственное сообщение, в котором будут описаны все возможности бота.
Теперь нужно сделать бота на русском языке, если Ваш потенциальный пользователь из России:
Снова откройте поиск и введите следующее: «Manybot ». Кликните по верхнему боту и щёлкните «Запустить»;
Выбирайте русский язык для более удобного использования;
Далее нажмите на кнопку «Добавить нового бота». В ответ Вам придёт инструкция, по которой мы уже создали нового бота;
Нажмите на кнопку «Я скопировал токен» и пришлите номер;
Теперь новый бот добавлен и Вы можете добавить его описание. Или нажать на кнопку «Пропустить».
Теперь Вы знаете, как сделать бота в Телеграмм и можете заняться его настройкой. А именно:
Отправьте сообщение роботу – «/commands» , после чего Вы увидите окошко настроек команд и главного меню;
Кнопка «Создать команду» позволяет прописать запрос, на которые будет отвечать бот. Сначала Вы задаёте любое название для команды, обязательно ставя вначале слова знак /;
Затем введите один или несколько вопросов, на которые будет отвечать бот;
Теперь пропишите ответ робота. И по этому же алгоритму создайте другие команды.
Как видите, ничего сложного в создании нового бота в Телеграмм нет.
Инструкция: как купить биткоин за рубли с карты Сбербанка
Для начала немного разберемся с простым интерфейсом бота. В меню BTC Banker есть всего 4 пункта:
- «Кошелек» — здесь отображаются количество ваших биткоинов и эквивалент в фиатной валюте (рублях). Здесь же можно выписать подарочный чек, либо отправить криптовалюту на любой другой кошелек, например, blockchain.info
- «Обмен BTC» — здесь вы будете мониторить предложения трейдеров и совершать сделки купли-продажи. Так же в этом меню можно создавать собственные заявки на покупку и продажу.
- «О сервисе» — пункт меню с информацией о боте и других сервисах от разработчиков, техподдержкой, международным и русскоязычным чатом.
- «Настройки» — здесь вы можете сменить язык, валюту, курс BTC и при желании установить адрес внешнего кошелька на который автоматически будут переводиться ваши биткоины
Шаг 1. Для того, чтобы начать сделку переходим в пункт «Обмен BTC».
Шаг 2. Нажимаем «Купить» и выбираем способ оплаты — в нашем случае это «Сбербанк». Для того, чтобы выбрать другой способ просто пролистайте вправо. Вы увидите доступные методы оплаты, лучшую цену и количество предложений.
Шаг 3. Вводим сумму покупки, например 2000 рублей.
Шаг 4. Бот автоматически предложит вам предложение с наиболее выгодным курсом, а также информацию о трейдере и условия сделки. Вы можете согласиться, нажав кнопку «Да» или посмотреть другие предложения, нажав «Сменить торговца».
Шаг 5. После начала сделки от продавца придут реквизиты, на которые следует отправить деньги. Бот заморозит его монеты до окончания сделки, чтобы избежать мошенничества. Мы отправляем необходимую сумму через Сбербанк.Онлайн и нажимаем «Подтвердить перевод денег».
Шаг 6. После оплаты и 30-ти секундного ожидания подтверждения мы получаем биткоины. Не забудьте оставить отзыв продавцу (кнопка «Класс»). Будьте уверены, что продавец сделает то же самое. От количества сделок и отзывов складывается репутация в сервисе.
Вот и все. Вы купили биткоины в сервисе. Теперь вы можете перевести их на другой кошелек, продать их или подарить, выписав чек. Покупка биткойна, вместе с настройкой бота заняла примерно 3 минуты.
С продажей все так же просто — заходим в «Обмен BTC», нажимаем «Продать» и выбираем способ оплаты. Бот так же подберет для вас предложение с самой высокой ценой. При первой продаже бот запросит у вас указать номер карты или счета, куда контрагенту нужно перевести рубли.
После получения денег от покупателя следует подтвердить перевод и сервис отправит ему ваши биткоины. Сделка также займет примерно 2-3 минуты.
Правила ведения общения с ботами
Для того, чтобы Ваш персональный помощник смог Вам помочь, потребуется выполнить несколько необходимых шагов:
- Введите его название полностью или частично в строку поиска и выберите подходящий вариант;
- Выберите название бота, чтобы открыть окно общения с ним;
- Начните личное общение с роботизированным помощником;
Большинство ботов имеют стандартизированные команды для облегчения взаимодействия с конечным пользователем, однако каждый разработчик имеет возможность добавить уникальные команды. Все они имеют общую структуру следующего вида: /функция{аргумент}
Первый символ «/» необходим для инициализации команды и является обязательным. Предусмотрено, что общая длина команды не может быть длиннее, чем 32 символа. Как упоминалось ранее, каждый разработчик бота может использовать различные команды. Если Вы желаете получить их полный перечень, то введите символ «/» и ожидайте несколько секунд — список команд появится над полем ввода сообщения.
Для работы с роботом в Телеграмм Вам следует использовать только задокументированные команды. Если Вы введете стороннюю фразу, то программа Вас попросту не поймет. Если Вы только что решили скачать Telegram на iPhone, то, возможно, Вам будет непросто разобраться в данном вопросе, однако вскоре Вам удастся понять принцип работы.
Voicy
Переводчик голосовых сообщений в текстовые
Любите слушать голосовые сообщения? Иногда это не очень удобно, поэтому специально для такой ситуации был придуман бот Voicy. Работает он очень просто: переводит в текст все голосовые сообщения, а также аудиофайлы форматов .ogg, .flac, .wav, .mp3.
Что важно, данный Telegram-бот уже успел продемонстрировать свою надёжность. Более того, он способен обрабатывать огромное количество языков
Для такой тяжёлой задачи команда Voicy задействовала два движка распознавания речи — Wit.ai и Google Speech. При желании, ими можно управлять в настройках бота.
Литература
Если вас интересуют литературные Telegram-боты, ориентированные на поклонников чтения, то здесь список лучших инструментов можно представить в виде такого списка:
- @flibustafreebookbot. Объективно самый популярный бот. Позволяет искать и скачивать различную литературу практически во всех популярных форматах.
- @Audioskazki_bot. Да, основное направление бота – это именно сказки в формате аудиозаписей. Но также он помогает найти колыбельные, книги, частушки и пр. При желании всё это можно скачать себе в мессенджер.
- @bookinator_bot. Очень полезный инструмент для тех, кто читает на мобильных устройствах. Позволяет читать прямо из своего Телеграма.
- @livelibot. Бот LiveLib, помогающий найти интересную и достойную внимания книгу. Даст подсказки, где её найти, купить или скачать. Только следует учитывать, что скачивать можно не всю литературу.
Для многих действительно полезная подборка телеграм ботов.
Шаг №8: реализовать обработчик кнопки обновления
Теперь можно создать обработчик кнопки . После дополнения метода он будет выглядеть следующим образом:
Если данные обратного вызова начинаются с (, и так далее), тогда нужно вызывать , как раньше. В противном случае стоит попробовать разобрать строку JSON и получить ее ключ . Если его значение равно , тогда нужно вызвать метод . Реализуем это:
Как это работает? Очень просто:
- Загружаем текущий курс валюты ().
- Генерируем текст нового сообщения путем сериализации текущего курса валют с параметром , который можно получить с помощью новых методов (о них дальше). Также нужно добавить подпись — .
- Вызываем метод , если оригинальное сообщение не изменилось. Если это ответ на встроенный запрос, передаем другие параметры.
Метод разбирает JSON из :
Метод получает старое и текущее значение курсов валют и возвращает разницу в формате :
генерирует текст “Updated…”:
Вот как выглядит сообщение после обновления, если курсы валют не изменились:
И вот так — если изменились:
Как сделать кнопки в Телеграм боте: инструкция пошагово
Ещё один вопрос, который интересен пользователям: как сделать кнопки в Телеграм боте? Мы постараемся дать максимально простую инструкцию, чтобы любой из читающих смог ей воспользоваться.
Откройте приложение;
Найдите в строке поиска бота под названием @ControllerBot . Затем выберите его и нажмите на команду «Запустить»;
Далее следует ввести токен, который Вы сохраняли до этого и отправить боту;
Следующим шагом создаётся канал, в котором Вам бот назначается администратором. Затем с этого канала отпрвьте репост любой записи @ControllerBot ;
Затем Вам предложат ввести название города, на часовой пояс которого следует ориентироваться при автопостинге;
Этот промежуточный этап пройден и пора приступать к созданию кнопок. В окне диалога с
@ControllerBot перейдите в Ваш созданный робот;
Далее следуйте указаниям, а именно: создайте новый пост, добавьте медиафайл и прикрепите смайлы. А после этого нажмите на команду «Добавить Url-кнопки»;
Там внимательно рассмотрите инструкцию и пропишите следующее: Кнопка 1 — ссылка. Название кнопки может быть любым словом, которое Вы считаете подходящим. Потом останется подтвердить публикацию поста и вот, что получится:
Теперь Вы знаете не только, как сделать бота в Телеграмм, но и как добавить кнопки и смайлы к своей публикации. Также на нашем сайте есть материал на тему того, как использовать смайлы в Телеграмм, которая пригодится любому пользователю.
Основные команды в Телеграмме для создания ботов
Создание новых ботов и изменение настроек у старых осуществляется посредством самого главного из них – @BotFather. Начав с ним переписку, пользователь сразу же увидит в диалоговом окне командный список, позволяющий разработчикам выполнять следующие манипуляции:
- /newbot – создать новый чат-бот;
- /setname – изменить имя;
- /setdescription – изменить описание, в котором указываются основные возможности робота;
- /setabouttext – указать краткую информацию о данном аккаунте;
- /setuserpic – установить аватарку;
- /setcommands – указать список поддерживаемых функций, который будет выводиться в диалоговом окне при вводе символа «/»;
- /setjoingroups – возможность добавления бота в группы;
- /deletebot – удаление роботизированного аккаунта.
Для создания чат-бота в диалоговом окне необходимо ввести /newbot. После этого BotFather спросит его полное имя (name), которое будет отображаться в чатах и контактах Telegram, и краткое имя (username), состоящее из латинских букв и заканчивающееся на «bot», например image_bot.
Глобальные команды
Как отмечалось выше, каждый бот в Телеграмме обладает уникальным функционалом, позволяющим выполнять те или иные задачи. Вместе с тем, существует ряд простых команд, которые распознаются практически всеми роботизированными аккаунтами:
- /start – начало общения с пользователем, приветствие (при использовании дополнительных аргументов можно расширить данную функцию);
- /help – отображение помощи (краткая информация об аккаунте, описание возможностей, перечень доступных функций и другое);
- /settings – предоставление списка возможных настроек, доступных пользователю.
В настоящий момент назвать точное число роботов в Telegram практически невозможно. Основатель сервиса Павел Дуров предоставил возможность всем желающим создавать подобные помощники для реализации самых разных задач, поэтому их количество постоянно растет. При правильной работе с чат-ботами они становятся мощным организационным ресурсом, позволяющим автоматизировать выполнение повторяющихся действий.
Ищем своего бота
Поиск бота ничем не отличается от поиска каналов в Телеграмм. Помните, о них я писал немногим раньше. Основные варианты поиска:
Через поисковики найти подборки популярных ботов
Выборки чаще всего субъективны, следует внимательно прочитать описание. Кстати, я прямо сейчас готовлю большую подборку, разбитую по категориям. Не пропустите.
По поиску внутри Телеграм
Для этого нужно знать точное имя и ввести его в строку поиска. Имя обязательно заканчивается на bot и начинается с собачки – @.
Помощь друга
Спросите друга, который любит разбираться в современных технологиях. Друзья плохого не посоветуют.
Если бота с нужными функциями вы не нашли, то можете создать своего бота.
Бот Алёша
Переводчик исходящих текстовых сообщений в голосовые
Ну ладно, переводить голосовые сообщения в текст — это легко. А что по поводу перевода текста в голос? Как по мне, такая фишка больше является развлекательной. Тем не менее, Бот Алёша может пригодиться либо анонимам, либо тем ребятам, у которых пропал голос. Он очень быстро конвертирует исходящие текстовые сообщения в голосовой формат.
Бот работает при поддержке нескольких движков синтеза речи и, при желании, Бота Алёшу можно подключать к Telegram-чатам. Внутри: Юрка, Алёшка, Танюха и Ира. Последняя способна зачитывать смайлики. Дополнительные 8 голосов можно получить после доната.
Как создать своего бота в Телеграмм и как с ним работать?
Данный сервис позволяет создавать такие алгоритмы, и даже может предложить специальные встроенные инструменты для их разработки и запуска. Процесс этот достаточно легкий и быстрый, что тоже влияет на популярность самого приложения. Возможно, еще и по этой причине им часто пользуются многие фирмы, крупные компании. Хотя разработка самой системы – это не очень простое занятие, занимающее много времени.
Если вы решили создать чат, лучше делать это на ПК, потому как понадобится множество дополнительных файлов. Необходимо будет загрузить и инсталлировать Телеграмм на свой компьютер, а потом создать бот. Но можно делать это и с мобильного устройства.
Подробная инструкция
- После завершения процесса установки Telegram, открываете приложение и в поисковой строчке набираете Manybot;
- Нажимаете клавишу
Поиск
в окошке или
Ввод
на клавиатуре; - После выдачи результатов поиска, кликаете
Start
с правой стороны снизу;
- Жмете на кнопку
Добавить нового бота
; - Появится уведомление от сервиса с инструкцией для последующих действий, следуйте ей;
- По инструкции заходите в профиль @BotFather нажатием на синюю ссылку с наименованием аккаунта;
- Жмете
Send Message
для начала переписки с этим «юзером»; - Пишите /start и получаете список команд, которыми можно пользоваться в процессе создания помощника;
- Отправляете /newboot;
- Ждете;
- Отправляете придуманное уникальное имя будущего автобота – оно будет всегда показываться при поиске;
- Ждете сообщения и отправляете техническое имя «робота» – следует писать на английском языке, а в окончании должно быть «bot»;
- На этом шаге следует сделать копию API-токена;
- Повторно возвращаетесь к @Manybot;
- Вставляете туда скопированный API-токен;
- Ждете ответа;
- Пишите цели вашего помощника – то, для чего он необходим, и как именно он будет работать;
- При желании этот шаг можно пропускать – для этого пишите /skip;
Дожидаетесь уведомления о том, что процесс прошел успешно.
Вот так автобот создается без программирования, после этого его можно использовать. В ответном СМС придет на него ссылка, чтобы можно было приглашать в него людей из вашего списка контактов. Кроме того, в нем будет список рекомендованных команд для размещения и автопостинга в соцсетях.
Автор рекомендует:
- Антивирус для Андроид: какой лучше и эффективнее
- Как узнать скорость интернета на своем компьютере
- Онлайн камера с эффектами: каким сервисом воспользоваться?
- Как создать канал в Телеграмме
- Не выключается компьютер после завершения работы Windows 10: как решить проблему
- Как увеличить шрифт на компьютере
Начало работы
Telegram API vs Telegram Bot API
Рассказываю по порядку.
Телеграм использует собственный протокол шифрования MTProto. MTProto API (он же Telegram API) — это API, через который ваше приложение Телеграм связывается с сервером. Telegram API полностью открыт, так что любой разработчик может написать свой клиент мессенджера.
Для написания ботов был создан Telegram Bot API — надстройка над Telegram API. Перевод с официального сайта:
Среди упрощений Bot API: работа через вебхуки, упрощенная разметка сообщений и прочее.
Почему-то мало кто знает о том, что боты могут работать напрямую через Telegram API. Более того, таким образом можно даже обойти некоторые ограничения, которые даёт Bot API.
Вся информация ниже будет по умолчанию относиться и к Bot API, и к Telegram API. О различиях я буду упоминать. От некоторых ограничений Bot API можно избавиться с помощью локального сервера, об этом в конце статьи.
На чём пишут Телеграм-ботов
Бот должен уметь отправлять запросы Телеграм-серверу и получать от него апдейты (updates, обновления).
Конечно, удобнее использовать библиотеки, чем делать http-запросы “руками”.
Если вы попробуете загуглить, как написать Телеграм-бота на Python, вам предложат воспользоваться библиотеками python-telegram-bot и telebot. Но не стоит.
Ну, если вы только хотите познакомиться с разработкой ботов и написать своего hello-world-бота, то можете, конечно использовать и их. Но эти библиотеки могут далеко не всё. Среди разработчиков ботов лучшей библиотекой для ботов на Python считается aiogram. Она асинхронная, использует декораторы и содержит удобные инструменты для разработки. Ещё был хороший Rocketgram, но он давно не обновлялся.
Также ботов часто пишут на JavaScript, для этого обычно используется Telegraf. Библиотеки есть и для многих других языков, но используют их реже.
Если же вы хотите использовать Telegram API, то можете воспользоваться Python’овскими Telethon и Pyrogram.
Создание бота
Единственная информация о Телеграм-ботах, которой в интернете полным-полно: как создать бота. Это делается через специального бота BotFather. Когда вы создадите бота, BotFather даст вам его токен. Токен выглядит примерно так: . Именно с помощью токена вы сможете управлять ботом.
Один пользователь может создать до 20 ботов.
В BotFather удобно управлять ботами своими командой .
Юзернеймы
При создании бота нужно выбрать юзернейм. После этого поменять его будет очень сложно.
Юзернейм бота выглядит как обычный юзернейм, но он должен заканчиваться на “bot”.Вы могли видеть ботов с именами @pic, @vid, @sticker, @gamee — это официальные боты Телеграма. Им можно нарушать все правила 🙂
Очень многие юзернеймы уже заняты. Свободных коротких юзернеймов осталось очень мало. И что самое грустное: почти все эти боты мертвы. Просто не отвечают на сообщения. Наверное, это просто разные любопытные люди хотят сделать бота, создают его, а потом забивают. У меня самого есть несколько лежащих ботов. Так что, думаю, лимит в 20 ботов на одного владельца вполне оправдан 🙂
Оформление бота
Открыв бота, пользователи могут увидеть его профиль.
Оформление бота настраивается в BotFather: меню → . Там можно изменить:
Имя бота.
Описание (Description) — это текст, который пользователи будут видеть в начале диалога с ботом под заголовком “Что может делать этот бот?”
Информация (About) — это текст, который будет виден в профиле бота.
Аватарка. Аватарки ботов, в отличие от аватарок пользователей и чатов, не могут быть анимированными. Только картинки.
Команды — тут имеются ввиду подсказки команд в боте. Подробнее о командах .
Inline Placeholder — об инлайн-режиме см. .
Стандартный совет: Потратьте свое время и заполните описание и информацию бота, чтобы пользователям было понятнее и проще его использовать. Можете оставить там свои контакты. И поставьте аватарку, чтобы бота было проще отличать от других чатов в списке.
pyTelegramBotApi
Ссылки на документации всех библиотек будут в конце.
Создадим простого бота, отвечающего на команду , с помощью этой библиотеки:
pyTelegramBotApi является просто обёрткой для всего Telegram Bot API, но здесь разберутся только основные составляющие.Взаимодействие с ботом происходит через переменную bot (токен надо вставить свой). Декоратор @message_handler реагирует на входящие сообщение.Message – это объект из Bot API, содержащий в себе информацию о сообщении. Полезные поля: message.chat.id – идентификатор чатаmessage.from.id – идентификатор пользователяmessage.text – текст сообщенияФункция send_message принимает идентификатор чата (берем его из сообщения) и текст для отправки.
Замена клавиатуры
У ботов есть функция замены стандартной клавиатуры на кнопочную. Для этого у всех функций есть опциональный аргумент reply_markup:
ReplyKeyboardMarkup – и есть та самая клавиатура. Метод row() создает ряд (максимум 12) из кнопок, передаваемых в качестве аргумента.Также есть особенная клавиатура types.ReplyMarkupRemove(), которая меняет клавиатуру на стандартную.
Клавиатура для сообщений
Можно создавать клавиатуру для отдельного сообщения. Передавать его нужно так же в аргумент reply_markup:
У кнопок есть несколько режимов, в зависимости от второго аргумента. Подробнее можно прочитать в официальной документации, но я остановлюсь только на callback_data.При нажатии на такую кнопку боту придет отдельный CallbackQuery, который нужно обрабатывать подобно сообщению:
Для обработки обязательно указать аргумент func для “отсеивания” Callback запросов.После обработки каждого запроса нужно выполнить команду answer_callback_query, чтобы Telegram понял, что запрос обработан. В поле callback.data хранится информация из callback_data нажатой кнопки.
Изменение сообщений
У ботов есть функция изменения своих сообщений (можно использовать, чтобы сделать перелистывание страниц, например). Для этого нужно воспользоваться методом edit_message_text (edit_message_caption для картинок):
Смысл аргументов понятен из их названия.