Боты в телеграмм на русском. Как добавить и подключить бота в телеграмме

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

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

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

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

Получение сведений о номере телефона – @MsisdnInfoBot

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

Поиск сведений об автовладельце – @AVinfoBot, @antiparkon_bot

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

Поиск человека по местоположению — @friendsfindbot

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

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

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

@rubbot — Здесь вы можете узнать самый актуальный курс валют (Доллар или Евро) по отношению к рублю.

@globalweatherbot — Показывает погоду для любого указанного вами города.

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

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

@lingvo - персональный переводчик английских слов. Вы ему слово на английском, а он вам выдает мгновенно на русский, и наоборот.

@filesbot - Это вообще, я считаю, один из лучших ботов для телеграмма. Он является неплохой альтернативой облачным сервисам, так как позволяет пересылать файлы между пользователями, а также хранить их.

@umadbot — полноценный развлекательный бот, содержащий в себе целую кучу мемов и гифок на любой вкус и тематику. Он на английском, но русский язык там и не нужен.

@vkmusic_bot - Хочешь послушать музыку из вконтакте? Теперь это можно сделать и через телеграмма

@questgamebot - Развлеките себя классным квестом в режиме реального времени

@zodiac_bot — Если вы верите в гороскопы, то этот замечательный бот будет для вас просто палочкой-выручалочкой в мире астрологии

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

@tap2bot — хотите занять вечерок чтением книги? Этот бот поможет вам найти и скачать искомую вами книгу либо по названию. либо по автору. Но на самом деле, книги — это лишь одна из его функций. С помощью него вы сможете найти отели, дешевые авиабилеты, кафе и даже торренты.

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

@baneksbot — если хотите немного расслабить мозг, то бот с анекдотами с радостью поможет вам в этом.

@greenzBot — теперь вы можете просчитывать ваши расходы и экономить бюджет не выходя из telegram.

@aliexplorerbot — актуальная информация о новинках на Aliexpress

@rublerobot — этот бот помогает принять важные решения в вашей жизни. Проще говоря, аналог «Орел и решка». Так что, если нет монетки, то телеграмм вам в помощь.

@orfobot — не хотите выглядеть неучем? Тогда отправьте ваше текст сюда на проверку. Орфобот не только укажет на ваши ошибки, но и сам их исправит. Незаменимая и очень полезная штука.

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

@gymbossbot — Ваш персональный диетолог. Исходя из вашего роста, веса, возраста и непереносимости, составит вам меню на все приемы пищи для наращивания мышечной массы или похудения. Поддерживает русский язык. И все управление только по кнопкам, т.е. не надо будет вбивать команды.

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

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

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

Пишем ему /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 растет с каждым днем. Это действительно полезно: не выходя из мессенджера, можно скачивать фильмы, книги, музыку. А также очень быстро узнать курс валюты. Боты — это ваш личный помощник в работе и в жизни. Специально для читателей блога «Internet Sales Agency» я сделала подборку полезных ботов Telegram.

Хранение и обмен файлами

Конвертирует документы в PDF файлы. Поддерживает DOC, DOCX, ODT, TXT и JPG.

Сохраняет на «Google Диск» файлы весом до 20 МБ.

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

Еще один помощник для работы с файлами: загружает в облачное хранилище и даёт постоянные ссылки на них.

Курсы валют

Показывает актуальный курс валют.

Курсы валют, нефтяные котировки, биткоин и золото. Показывает актуальные курсы на текущий момент.

Скачивание торрент-файлов

Скачивает торрент-файлы с заблокированного в России Rutracker без перехода на сайт.

Поиск и скачивание книг

@freebooksbot, @mybookbot

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

Поиск фильмов

Помогает найти фильм для просмотра. Выбираете категорию фильма и бот предлагает вам разные варианты.

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

Для любителей музыки

Этот бот ищет и скачивает музыку из SoundCloud и ролики с YouTube. Отличная находка для музыкальных фанатов, которые не хотят покидать пределов мессенджера для того, чтобы найти и переслать любимую песню.

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

Поиск всего, чего угодно

Ищет все: одежду, книги, фильмы, авиабилеты, отели, самые дешевые такси. Работает с Флибустой, РуТрекером, ВКонтакте и другими ресурсами.

Личный секретарь

Бот-напоминалка. Пишете сообщение, указываете дату, получаете напоминание в Telegram.

Бот-секретарша: создает список дел, сохраняет ссылки и заметки. Раз в день напоминает про все задачи, которые еще открыты. Помогает не забыть о намеченных планах!

@shoplist419_bot

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

Учет личных финансов

Учет личных финансов: доходы, расходы, долги. Все записи заносятся в специальную google-таблицу. Требует регистрироваться через почту, чтобы привязать к ней отчет.

Знакомства

@matchmaker_bot, @hotorbot

Для тех, кто устал от Tinder и хочет попробовать что-то новое. Заполняешь небольшую анкету (пол, возраст, фото, кого и для чего ищешь), после чего бот предлагает различные варианты (фото прилагается). Правда, нет фильтра по привязке к конкретному городу, но можно поставить радиус, в котором будет проходить поиск собеседника.

Свободный интернет

Можно спросить пароль от WiFi в общественном месте у бота.

Работа с почтой

Поисковый ассистент для почты, облачных хранилищ, контактов. Работает с Gmail, Evernote, Dropbox, OneDrive.

Создает временный ящик и показывает его содержимое. Сам удаляет все это через 10 минут. Удобен в том случае, если вы не хотите передавать свой email-адрес, например, при доставке пиццы.

Переводчик

Бот-переводчик от Яндекса.

Изучение английского языка

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

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

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

@pronunciationbot

Присылает аудиофайл с произношением слова или фразы. Работает в групповых чатах.

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

Кулинария

С ним не будет возникать вопроса: «Что приготовить сегодня?». Открываете холодильник, сгребаете всё в кучу и перечисляете ингредиенты боту. Он подберет несколько рецептов, а вам остается выбрать понравившийся! Ну а, если не знаешь рецепта блюда, то MyCookBot подкинет рецепт нужного вам блюда.

Работа с текстом

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

Исправляет текст с ошибкой раскладки — русскую на английскую или наоборот.

Синтезирует текст в речь и наоборот.

Для удобной работы с Telegram

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

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

Считает статистику сообщений в чате.

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

Показывает данные из Google Analytics.

Поиск авиабилетов

Ищет авиабилеты: предлагает самый быстрый и самый дешевый варианты. Доступны настройки желаемого времени вылета или авиакомпании.

@aviasalesofficialbot

Бот от Aviasales ищет авиабилеты и гостиницы.

Карты Яндекс

Работает с картами Яндекса — находит и показывает объекты, сообщает уровень пробок в городе.

Поиск ресторанов и кафе

Находит рестораны и кафе в радиусе одного километра от вас. Показывает их расположение, ценник, контакты, фотографии места и отзывы о нем. Работает в мобильном клиенте.

Показывает пять открытых баров на данный момент в радиусе километра от вас.

Для путешествий

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

@osmbot OpenStreetMap

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

@cargolinkbenzinbot

Покажет заправки в радиусе пяти километров от вас. Работает по всему СНГ.

Спортивные боты

Помогает купить или продать свой абонемент в тренажерный зал. Работает по всей России.

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

Для бизнеса

Позволяет запрашивать выписки из ЕГРЮЛ о юридических лицах и информацию об их учредителях.

Позволяет ставить задачи команде и самому себе. Удобный инструмент для контроля текущих дел.

Штрафы ГИБДД

Проверяет, есть ли штрафы ГИБДД, сохраняет реквизиты автомобиля, сообщает о поступлении новых штрафов. К сожалению, оплатить штраф с его помощью нельзя, но бот дает ссылку на оплату вне Telegram.

Экзамен ПДД

Экзамен на знание ПДД в виде бота. В базе 40 билетов по 20 вопросов, актуальных на 2016 год.

Мобильный телефон

Определяет по номеру телефона регион и мобильного оператора.

Водяные знаки

Ставит водяные знаки на фотографии и видео. Можно настроить знак в виде текста или картинки.

Генератор паролей

@easystrongpasswordbot

Генератор паролей — и сложные, и простые пароли составляет так, чтобы можно было их легко запомнить.

Поиск собеседников

Находит собеседников вокруг вашей локации. Минимальный радиус поиска — 10 метров, максимальная аудитория — весь мир. Его можно использовать, например, на конференциях или лекциях, если хочется узнать мнение коллег. Для знакомства в барах сервис тоже вполне подходит.

Орел и решка

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

Предлагаем разработку ботов для телеграм. Чтобы заказать телеграм-бота для бизнеса отправляйте свою заявку на почту [email protected].

Статьи по теме: