Бот для телеграмм на пк. Самые интересные и удобные боты в Telegram

  • 06.08.2019

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

Информационные боты

Информационные - это те боты, которые рассылают новые статьи с крупных порталах, сообщают о погоде или курсах валют.

@Weatherman - бот, который расскажет о погоде в вашем или любом другом городе. Выдаются прогнозы на текущий день, на завтра и на ближайшие 5 дней.


Поддерживается русский язык. Вся информация подается в одном сообщении с наглядными смайлами Emoji. Задать локацию можно простой отправкой своего местоположения боту. Weatherman автоматически каждый день уведомляет о погоде сообщениями.

Среди сугубо-новостных ботов стоит отметить:

  • @meduzaprobot - официальный бот популярного новостного издания Meduza.
  • @tgnewsbot - бот с оперативными новостями о самом мессенджере Telegram на русском языке.
  • @RussiaTodayRusBot - автоматический подписной бот для получения свежих публикаций с Russia Today (на русском).
  • @lifehackerrubot - бот известного портала с новостями и статьями, которые в простонародье именуются «лайфхаками».
@misis_bot - бот для поиска учебных материалов в библиотеке Национального исследовательского технологического университета Москвы «МИСиС».


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

@rubbot - бот, который отправит вам актуальный курс валют.


RubBot показывает курса рубля к доллару, рубля к евро, а также цену нефти Brent. Вместе с курсом указывается понизился или повысился он сегодня и насколько.

@my_ali_bot - бот для популярного китайского интернет-магазина AliExpress. Умеет искать товары по разным категориям, показывает избранные предложения, а еще кураторы бота периодически отправляют специальные предложения со скидками.


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

@ya - официальный поисковой бот от российской компании «Яндекс». Позволяет искать простую информацию, картинки, видео и прочее в «Яндексе».


С помощью бота @ya можно узнать какая погода сейчас, какой курс погоды или какие фильмы сейчас идут в прокате. Есть интеграция с Яндекс.Маркетом. Бот распознает простые человеческие команды.

Контент-боты

Многие боты ориентированы только поиск или прямое скачивание контента.

@ivideobot - очень удобный и нужный многим бот, который позволяет напрямую скачивать видео с хостинга YouTube. Просто отправьте боту ссылку и он ответит другими ссылками на прямое скачивание на ролики с разным качеством - от 3GP до webM.


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

@instasave_bot - похожий по функционалу на предыдущий бот, который может сохранять фотографии и видео с сервиса Instagram.


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

@vkmusic_bot - удобный бот, который позволяет слушать и скачивать музыку из социальной сети «ВКонтакте» даже без регистрации.


Отправляем название нужной песни или исполнителя - в ответ получаем список список из композиций. Каждую можно прослушать прямо внутри Telegram или скачать на компьютер или смартфон / планшет.

@umadbot и @gifscombot - два бота, которые связаны с «гифками». Первый отправляет анимации по разным запросам, но только на английском, а второй умеет конвертировать видео с популярных сервисов и социальных сетей в обычные «гифки».


Бот @gifscombot поддерживает Instagram, Vine, Facebook, Twitter, Gfycat и несколько других сервисов для конвертации видео. Работает очень просто: отправляем ссылку на видео - получаем уже готовую гифку.

Игры

В Telegram среди прочего довольно много игровых ботов, с которыми можно интересно провести время.

@mypokerbot - бот для игры в покер с друзьями из списка контактов. Чтобы добавить человека в игру, достаточно отправить ему простое приглашение.

Бот поддерживает русский язык и имеет удобную интеграцию с Emoji.

@country_bot - бот с простой игрой, которая проверяет вас и ваших друзей на знание флагов разных стран.

Бот присылает флаг, а в ответ нужно отправить название государства.

@krestikinolikibot - классические крестики-нолики с ботом. Есть еще аналогичный бот @oxbot , который позволяет играть в крестики-нолики со случайными пользователями или друзьями из списка контактов.


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

Любителям графических новелл и интересных историй понравятся два следующих бота: @everlastingsummerbot - текстовая адаптация популярной новеллы «Бесконечное лето» и @questgamebot - бот с интерактивным текстовым приключением.

Как добавить и найти Бота в Телеграмме? Прочитав статью, ты узнаешь, как искать и подключить Ботов в Telegram. Итак, приступим!

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

Как искать и подключить ботов в Telegram

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

Можно выделить 2 самых простых и доступных способа поиска ботов в Телеграмме:

  1. Через специального робота @StoreBot
  2. Использовать каталог на любом из ресурсов в сети интернет

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


Еще более простой способ, это найти нужно робота в интернете:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добавить в каталог

Весь список ботов Телеграмм на одной странице! Мы собрали для Вас лучших, интересных и полезных ботов для Telegram!

Добавляйте своих ботов

Собранный нами список ботов не является исчерпывающим и Мы надеемся существенно его пополнить с Вашей помощью! Добавьте Вашего или просто интересного бота, в специальную форму и он появится на сайте, после проверки нашим модератором.

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

Первые боты в Telegram, с которыми сталкиваются русскоязычные клиенты мессенджера – автоматические профили, рассылающий файлы локализации, например, Робот Антон.

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

Как работают боты для мессенджера Telegram на русском

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

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

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

Пишем ему /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" (или любой другой метод, используемый ботом).

Теги: Добавить метки