Что такое боты в сервисе Telegram и как ими пользоваться. Как добавить бота в телеграмм

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

Робот Saytextbot для Telegram выполняет функцию озвучки сообщений.

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

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

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


СОВЕТ. Функция озвучивания текста может пригодиться для разных целей. Например, в случае быстрой утомляемости от чтения, наличия плохого зрения или же просто с целью повеселить, разыграть друзей. Вы можете даже придумать своё применение боту, ведь эмуляция голоса может стать действительно полезной.

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

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

Функционал

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

Как работает программа?

Перед тем, как установить Антипаркон бот в Телеграмм, разберемся в принципе его действия. Как говорят создатели, базу данных программы пополняют сами владельцы автомобилей. Проект был запущен весной 2015 года, поэтому база на данный момент весьма большая. С помощью Антипаркона вы сможете:

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

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

Инструкция по установке

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


Как подключить Антипаркон бот в Телеграмм и узнать номер телефона?

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

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

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

Какие ещё функции есть у @AntiParkon_bot

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



В разделе «Событие!» вы сможете предупредить водителя об эвакуаторе или сообщить о чём-либо другом.


Мы рассказали вам, какие возможности есть у тех, кто открыл для себя бот Антипаркон. К слову, это не единственный автоинфобот. О других подобных ботах мы рассказываем в более общей статье.

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

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

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

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

Как найти и добавить бота?

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

  1. Когда вы начнете общение, то нажмите а кнопку «Начать» , после чего робот сам будет вас спрашивать, что вам необходимо.
  2. Но так как вы скорее всего не знаете, как конкретно работать с этой штуковиной, то наберите в строке сообщений значок слэш (/ ). После этого программа покажет вам некоторые подсказки. Но я вам рекомендую набрать команду /help . Именно здесь вам и подскажут все доступные команды, в частности, как правильно задавать формат. Для этого набираем сообщение /formats .
  3. Когда вы посмотрели все команды, то введите /start , чтобы начать пользоваться ботом. Внизу у вас появится надпись «Добавить уведомление» . Нажмите а нее.
  4. Допустим я хочу, чтобы мне напомнили 12 ноября в 15.00, что мне нужно смотреть вебинар в 17.00, тогда я пишу сообщение «Вебинар» и отправлю его. Потом меня попросят написать время напоминания, и тогда я напишу любым из предложенных способов, например «12.11.2017 15:00». Все! Программа запомнит ваш выбор и отправит вам сообщение в заданное вами время. А если разу написать «вебинар 15 часов», то он автоматически поставит напоминание на сегодня или завтра (в зависимости от того, наступило уже 15 часов или нет).
  5. Ну а если вы вдруг передумали, и не хотите, чтобы вам напомнили про конкретное время, то нажмите на «Список 1» , или тот, список, под которым у вас стоит напоминалка. А когда бот попросит ввести номер списка, то жмите 1 или 2, или 3...у вы поняли.

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

Ну а если вы захотите удалить бот, но не знаете как это сделать, то делается это точно также, как ив случае с обычными каналами и чатами. Зажмите пальцем на этом чате и нажмите на «Выйти из диалога», если вы сидите из телефона. Ну а если вы пользуетесь версией для компьютера, то вместо пальца используйте правую кнопку мыши.

Попробуйте сами поэкспериментировать с delorean_bot. Уверен, что вы останетесь довольны этой функцией. Ну а кроме всего прочего я подготовил для вас некоторые интересные боты для telegram.

@MyCookBot — рецепты любых блюд. Вам достаточно ввести общее слово и он предложит вам несколько примеров, например «Курица», «Торт» и т.д.

@imagebot — осуществляет поиск запросов. В начале пишите команду /get, а потом то, что хотите найти, например «Черный кот». Конечно, программа на английском, но она запросто ищет картинки по русским словам.

@ivideobot — позволяет . Оригинальный способ).

@Instasave_bot — никогда еще не было таким простым

@topdf_bot — конвертирует файлы в формат PDF без каких-либо заморочек (В основном работает с вордовскими документами и изображениями)

@PandaQuizBot — нечем себя занять? Пройди онлайн-викторину. Сначала вам будут задавать легкие вопросы, а затем будет становиться всё сложнее и сложнее. Наберите все 25000 очков.

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

@voiceru_bot - умеет синтезировать любую речь в текст. Обратный эффект также предусмотрен. К сожалению, пока на реконструкции, но я уверен, что он скоро вновь заработает.

@pollbot - помогает создать голосование в чате с заданными вариантами. Кроме того выдает статистику, сколько за что проголосовали.

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

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

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

С уважением, Дмитрий Костин.

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

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

Не забудьте проверить полученный токен с помощью ссылки api.telegram.org/bot/getMe , говорят, не всегда работает с первого раза.

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

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

Telegram позволяет не делать выгрузку сообщений вручную, а поставить webHook, и тогда они сами будут присылать каждое сообщение. Для Python, чтобы не заморачиваться с cgi и потоками, удобно использовать какой-нибудь реактор, поэтому я для реализации выбрал tornado.web. (для GAE удобно использовать связку Python2+Flask)

Каркас бота:

URL = "https://api.telegram.org/bot%s/" % BOT_TOKEN MyURL = "https://example.com/hook" api = requests.Session() application = tornado.web.Application([ (r"/", Handler), ]) if __name__ == "__main__": signal.signal(signal.SIGTERM, signal_term_handler) try: set_hook = api.get(URL + "setWebhook?url=%s" % MyURL) if set_hook.status_code != 200: logging.error("Can"t set hook: %s. Quit." % set_hook.text) exit(1) application.listen(8888) tornado.ioloop.IOLoop.current().start() except KeyboardInterrupt: signal_term_handler(signal.SIGTERM, None)
Здесь мы при запуске бота устанавливаем вебхук на наш адрес и отлавливаем сигнал выхода, чтобы вернуть поведение с ручной выгрузкой событий.

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

Class Handler(tornado.web.RequestHandler): def post(self): try: logging.debug("Got request: %s" % self.request.body) update = tornado.escape.json_decode(self.request.body) message = update["message"] text = message.get("text") if text: logging.info("MESSAGE\t%s\t%s" % (message["chat"]["id"], text)) if text == "/": command, *arguments = text.split(" ", 1) response = CMD.get(command, not_found)(arguments, message) logging.info("REPLY\t%s\t%s" % (message["chat"]["id"], response)) send_reply(response) except Exception as e: logging.warning(str(e))
Здесь CMD - словарь доступных команд, а send_reply - функция отправки ответа, которая на вход принимает уже сформированный объект Message .

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

Def send_reply(response): if "text" in response: api.post(URL + "sendMessage", data=response)

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

3. Команды

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

Def help_message(arguments, message): response = {"chat_id": message["chat"]["id"]} result = ["Hey, %s!" % message["from"].get("first_name"), "\rI can accept only these commands:"] for command in CMD: result.append(command) response["text"] = "\n\t".join(result) return response

Структура message["from"] - это объект типа User , она предоставляет боту информацию как id пользователя, так и его имя. Для ответов же полезнее использовать message["chat"]["id"] - в случае личного общения там будет User, а в случае чата - id чата. В противном случае можно получить ситуацию, когда пользователь пишет в чат, а бот отвечает в личку.

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

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

Def base64_decode(arguments, message): response = {"chat_id": message["chat"]["id"]} try: response["text"] = b64decode(" ".join(arguments).encode("utf8")) except: response["text"] = "Can"t decode it" finally: return response

Для пользователей мобильного 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. Свобода

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

UPD: Как верно подсказали, такое пройдет только при личном общении. В чатах боту доставляются только сообщения, начинающиеся с команды (/) (https://core.telegram.org/bots#privacy-mode)

Чтобы бот получал все сообщения в группах пишем @BotFather команду /setprivacy и выключаем приватность.

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

If text == "/": ... else: response = CMD[""](message) logging.info("REPLY\t%s\t%s" % (message["chat"]["id"], response)) send_reply(response)
А потом в список команд добавляем псевдо-речь:

RESPONSES = { "Hello": ["Hi there!", "Hi!", "Welcome!", "Hello, {name}!"], "Hi there": ["Hello!", "Hello, {name}!", "Hi!", "Welcome!"], "Hi!": ["Hi there!", "Hello, {name}!", "Welcome!", "Hello!"], "Welcome": ["Hi there!", "Hi!", "Hello!", "Hello, {name}!",], } def human_response(message): leven = fuzzywuzzy.process.extract(message.get("text", ""), RESPONSES.keys(), limit=1) response = {"chat_id": message["chat"]["id"]} if leven < 75: response["text"] = "I can not understand you" else: response["text"] = random.choice(RESPONSES.get(leven)).format_map({"name": message["from"].get("first_name", "")}) return response
Здесь эмпирическая константа 75 относительно неплохо отражает вероятность того, что пользователь всё-таки хотел сказать. А format_map - удобна для одинакового описания строк как требующих подстановки, так и без нее. Теперь бот будет отвечать на приветствия и иногда даже обращаться по имени.

5. Не текст.

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

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

RESPONSES["What time is it?"] = ["", "{date} UTC"]
И будем отлавливать текст :

If response["text"] == "": response["sticker"] = "BQADAgADeAcAAlOx9wOjY2jpAAHq9DUC" del response["text"]
Видно, что теперь структура Message уже не содержит текст, поэтому необходимо модифицировать send_reply:

Def send_reply(response): if "sticker" in response: api.post(URL + "sendSticker", data=response) elif "text" in response: api.post(URL + "sendMessage", data=response)
И все, теперь бот будет время от времени присылать стикер вместо времени:

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

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

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

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

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

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

While True: r = requests.get(URL + "?offset=%s" % (last + 1)) if r.status_code == 200: for message in r.json()["result"]: last = int(message["update_id"]) requests.post("http://localhost:8888/", data=json.dumps(message), headers={"Content-type": "application/json", "Accept": "text/plain"}) else: logging.warning("FAIL " + r.text) time.sleep(3)

P.S. По пункту 7 нашел удобное решение - размещение бота не у себя, а на heroku, благо все имена вида *.herokuapp.com защищены их собственным сертификатом.

UPD: Telegram улучшили Бот Апи, из-за чего, теперь не обязательно иметь отдельную функцию для отправки сообщений при установленном вебхуке, а в ответ на POST запрос можно отвечать тем же сформированным JSON с ответным сообщением, где одно из полей устанавливается как ч "method": "sendMessage" (или любой другой метод, используемый ботом).

Теги:

  • telegram
  • введение
  • python3
Добавить метки

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

Где искать?

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

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

Второй вариант поиска - использование рубрикаторов. Их также можно найти в поисковой системе. Это не полноценный ресурс, скорее, частный обзор.
Один из самых удобных ресурсов - @storebot .

Можно воспользоваться и сайтом Storebot.me

Он объединяет в себе строку поиска, новинки, рубрикатор, топ чарт. Расскажем подробнее, как искать ботов в Телеграмм (Telegram) с помощью этого сервиса.

Чтобы найти и вызвать бота, сделайте следующее:

  • Войдите в мессенджер и в строке поиска наберите @storebot. В результатах щелкните по его названию.

  • Нажмите «Start» или «Начать».

  • Откроется окно чата и вы сможете воспользоваться меню:
  1. Лучшие новинки.
  2. Недавно добавленные.
  3. По категориям.
  4. Вывод поисковой формы.

  • Также искать помогает команда /search .
  • Сервис выдает результаты небольшими списками, поэтому не забывайте нажимать «Показать больше».
  • Подключиться к боту можно простым нажатием на его названии.

Топ лучших каталогов Telegram – поиск ботов

  1. Ru.telegram-store
    https://ru.telegram-store.com/catalog/product-category/bots/
    Русскоязычный сайт самого известного каталога роботов. Здесь можно найти все.
  2. Catalog-Telegram
    https://catalog-telegram.com/
    Все сервисы разбиты на категории. Также есть строка поиска, и новинки.
  3. Telegram-ru
    http://telegram-ru.com/directory_bots.html
    Имеет только рубрикатор, в котором размещены обзоры.
  4. Telegram.org.ru
    http://telegram.org.ru/telegram-bots/
    Простой перечень известных ресурсов. Пользователи голосуют за каждый, поэтому можно увидеть их рейтинг.

В любом из них можно найти много интересного. А как подключить бота в Телеграмм? Очень просто – просто щелкните по нему, если же его необходимо добавить в групп, то зайдите в меню группы и в поиске участников введите имя бота и нажмите « Пригласить». Откроется страница программы. Если вы ищете с ПК, то можете нажать «Open in Web» и робот добавится в список вашего аккаунта. Если вы ищете с мобильного устройства, то прежде чем установить бот, скачайте мобильное приложение Telegram. Это можно сделать в Google Play или AppStore. Кстати, если вы не знаете, как найти и добавить бота в телеграмме на Iphone, то ответ прост – точно также. Программа не зависит от платформы, на которой установлен Телеграмм.

Нужные боты в Телеграмме

  1. @MStickersBot
    Автоматический подбор изображения к контексту. Введите сообщение, а программа подберет стикер.
  2. @Weatherman
    Оперативная сводка погоды. Позволяет задать время получения актуальной информации. Также предлагается краткий или подробный прогноз на выбор.
  3. @kino_bot
    Информация о новинках кино. Просто подпишитесь и получайте каждый час данные о новых фильмах.
  4. @sberometerbot
    Предоставляет информацию о курсах валют, драгметаллов и топлива. Достаточно набрать название интересующей валюты и будет прислано сообщение об официальном и биржевом курсах на текущий момент.
  5. @yandexmapsbot
    Разработка от Яндекс.Карт. Позволяет построить маршрут, найти местоположение по адресу, получить информацию о пробках.
  6. @mirabellabot
    Аналог календаря. Сохраняет закладки. Можно делать текстовые заметки.
  7. @IceCalcBot
    Заменяет калькулятор. Имеет подробную подсказку.
  8. @VestniqBot
    Формирует подборку из указанных каналов.
  9. @transnow_bot
    Русско-английский переводчик. Определяет язык сообщения и выдает подробный перевод.