Flibusta, Антон и прочие боты в telegram — обзор. Как в телеграмме найти бота
Здравствуйте, дорогие читатели. У меня для вас отличная новость. Наконец-то дошли руки рассказать про то, что такое боты в Телеграм. Расскажу, зачем они нужны, как их искать и как правильно использовать. Как всегда, в описании будет минимум воды и максимум пользы.
Бот — что это такое и что он умеет?
Робот-помощник, готовый выполнить любое рутинное занятие, или специальный программный код, выполняющий определённые команды пользователя.
Вся переписка с ним ведётся через обычный чат. Вы даёте боту команды, которые он готов выполнять круглосуточно. Его основная задача ответить на вопрос пользователя, согласно своей программе. Боты помогают, экономят кучу времени и управлять ими очень просто.
На сегодня роботы Телеграм могут:
- проводить обучение;
- развлекать и играть с вами;
- работать поисковиками в интернете;
- скачивать текстовую информацию, видео или аудио;
- быть обычной напоминалкой;
- участвовать в групповых чатах, допустим, для согласования времени встречи, оптимальной для всех участников;
- комментировать нужные статьи;
- использоваться для управления умным домом и др.
Другими словами, они, как посредники между человеком и многочисленными веб-службами. Их большой плюс — это общая оболочка, теперь внутри Телеграм находится вся информация, которую люди привыкли искать через Яндекс и Гугл.
На мой взгляд, несомненный плюс в экономии времени за счёт уменьшения количества приложений в гаджете. Люди всегда хотят получать всё, что им нужно, в одном окне. Теперь нет необходимости в установке лишних приложений для погоды, новостей и т. п., что было особенно критично для маломощного смартфона. Теперь всё это заменяет Телеграм с возможностью установки необходимых роботов.
Принцип очень прост. Вы находите бота, пишете ему текстовое сообщение (команду) и через доли секунды получаете ответ.
Достоинства:
- Круглосуточная помощь — по сути, их работу остановит только авария на сервере, что случается крайне редко.
- Удобство использования — большинство команд находится в меню бота.
- Ответы приходят за несколько секунд.
- Для работы используются ресурсы сторонних серверов, так что мощности вашего устройства не задействованы.
- Безопасность. Многие переживают за сохранность своих данных, так вот можете не беспокоиться. Боты никак не украдут ваши данные. Они их просто не видят. Всё, что им доступно, — это текстовые команды из чата.
- Установка дополнительных программ не требуется.
Теперь о том, как найти бота в Телеграмме.
Ищем своего бота
Поиск бота ничем не отличается от . Помните, о них я писал немногим раньше. Основные варианты поиска:
- Через поисковики найти подборки популярных ботов
Выборки чаще всего субъективны, следует внимательно прочитать описание. Кстати, я прямо сейчас готовлю большую подборку, разбитую по категориям. Не пропустите.
- По поиску внутри Телеграм
Для этого нужно знать точное имя и ввести его в строку поиска. Имя обязательно заканчивается на bot и начинается с собачки — @.
- Помощь друга
Спросите друга, который любит разбираться в современных технологиях. Друзья плохого не посоветуют.
- Воспользоваться официальным магазином — storebot.me .
- Если бота с нужными функциями вы не нашли, то можете .
Как ими пользоваться
Давайте на живых примерах рассмотрим варианты использования.
Общая схема: найти бота — нажать start/начать — ввести команду — получить ответ.
Думаю всем уже понятно, что бот — это программа, которая понимает определённые фразы. Они запускают цепочку действий, итогом является решённая задача.
Скриншоты будут из версии для ПК. В мобильной и онлайн-версиях всё то же самое.
Боты с готовым меню
В большинстве случаев бот имеет собственное меню. Вот пример Яндекс-бота.
Вот ещё вариант меню у бота популярного сайта AdMe.
Скрытое меню
У некоторых роботов меню скрыто. Чтобы его вызвать, необходимо нажать «/» и появится список команд.
Значок слэш является обязательным для ввода команд.
Смотрите пример.
Нужно знать команды
В статье про мы знакомились с роботом Антоном, так вот, он не имеет понятного меню. Чтобы узнать, какие команды он понимает, необходимо отправиться в поиск по интернету.
Универсальные команды
Их понимает большинство онлайн-помощников:
- /start — начало,
- /help — помощь,
- /settings — настройки.
Иногда боты понимают команды на русском, можно просто догадаться по смыслу. Вот образец — знаменитый робот Антон подрабатывает ещё и в Гидрометцентре. Если его спросить «Погода Воронеж», он тут же сообщит прогноз.
Если бот молчит
Иногда можно найти бота, который не отвечает. Что ни спроси, он будет молчать, как партизан. В чём причина?
- Так как они находятся на стороннем ресурсе, значит основная причина в проблемах сервера. Может быть временный сбой или полный отказ сервера.
- Также может быть, что неопытный программист ошибся при написании кода.
- Третья причина — вы вводите команду, которую бот не понимает. В таком случае, Гугл вам в помощь.
Сам столкнулся с проблемой — не захотел работать популярный @nationalgeographic_bot, он должен показывать лучшие фотки знаменитого журнала. Но, как я ни старался, команду подобрать не смог. Может у вас получится? Сообщите, пожалуйста.
На этом заканчиваю. Если есть вопросы, напишите их, пожалуйста, в комментариях.
Чтобы не пропускать выход новых статей на блоге.
Пишем ему /start и получаем список всех его команд.
Первая и главная - /newbot - отправляем ему и бот просит придумать имя нашему новому боту. Единственное ограничение на имя - в конце оно должно оканчиваться на «bot». В случае успеха BotFather возвращает токен бота и ссылку для быстрого добавления бота в контакты, иначе придется поломать голову над именем.
Для начала работы этого уже достаточно. Особо педантичные могут уже здесь присвоить боту аватар, описание и приветственное сообщение.
Не забудьте проверить полученный токен с помощью ссылки api.telegram.org/bot
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:
Как верно подсказали, такое пройдет только при личном общении. В чатах боту доставляются только сообщения, начинающиеся с команды (/
Чтобы бот получал все сообщения в группах пишем @BotFather команду /setprivacy и выключаем приватность.
Для начала в Handler добавляем обработчик:
If text == "/":
...
else:
response = CMD["
А потом в список команд добавляем псевдо-речь:
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?"] = ["
И будем отлавливать текст
If 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
Для популярного мессенджера, когда они только-только начали появляться. С тех пор их стало ещё больше, поэтому пришло время для новой подборки. В этой мы уделили внимание ботам, упрощающим различные задачи и развлекающим вас.
Удалите все погодные приложения со своего смартфона: они вам больше не нужны. Теперь прогноз можно узнавать у этого бота. Помимо актуальных сводок на сегодня, завтра и пять дней, есть автоматические уведомления. Выбираем, когда нужен прогноз, и получаем в заданное время точную погодную сводку.
Не знаете, что приготовить на ужин? Добавляйте этого бота, и у вас такой проблемы никогда не будет! MyCookBot подскажет вам рецепты и, самое главное, подберёт несколько блюд, исходя из имеющихся у вас ингредиентов. Просто напишите через запятую, что у вас есть в холодильнике, выберите рецепт из списка и следуйте пошаговой инструкции по приготовлению. Приятного аппетита!
Не хотите указывать свой email при регистрации на различных сервисах, боясь получить горы спама, а заводить новый специально под это дело лень? Так и не нужно! Используйте этого бота: он сгенерирует для вас временный ящик и отобразит его содержимое. Перейдите по ссылке активации и забудьте о ящике - через 10 минут он уже будет удалён.
Как понятно из названия, этот бот выполняет одну-единственную функцию - конвертирует в PDF документы и файлы, которые вы ему присылаете. Список поддерживаемых форматов не так велик, но всё самое необходимое есть: DOC, DOCX, ODT, TXT и JPG.
Те, кто имеет дело с иностранными языками, знают, как просто ошибиться в произношении. Этот бот поможет узнать произношение любого слова на 84 языках. Просто пишете слово или фразу и получаете в ответ голосовое сообщение. Работает в групповых чатах. Кроме уточнения произношения, можно ещё использовать бота для генерации аудио из текста. Получается, строго говоря, корявенько, но сойдёт.
Для сохранения видео с YouTube, конечно, существует , но зачем далеко ходить, если его можно скачивать прямо в Telegram? Отправляем ссылку на видео боту, выбираем качество и получаем от него прямую ссылку на видео. Просто и удобно.
Скачать понравившееся фото или видео из Instagram ещё сложнее, чем видео с YouTube, но с этим ботом такая задача займёт у вас нескольких секунд. Принцип тот же: шлём ссылку - получаем в ответ медиафайл. Работает не только с фото, но и с видео! Причём даже с YouTube.
Раз уж зашла речь медиаконтенте, то нельзя не упомянуть о . Думаете, в Telegram их можно только просматривать и искать? Как бы не так! С таким полезным ботом, как этот, их можно даже создавать! Не с нуля, конечно, а из видео с практически любых сервисов (Instagram, Vine, Facebook, Twitter, Gfycat других). Что делать, вы уже, наверное, догадались. :)
Интерактивный текстовый квест прямо в Telegram. А что? Все же помнят громкий успех Lifeline и «Марсианина» - мобильных игр, взаимодействие с которыми целиком и полностью осуществлялось через уведомления в режиме реального времени. Здесь всё примерно так же: у нас есть герой, попавший в беду, и его надо спасти, давая советы и подсказывая, что нужно делать в той или иной ситуации.
Рассказывайте в комментариях о ваших любимых ботах и о том, как к ним относитесь вообще. А также не забывайте, что у Лайфхакера есть официальный бот и два канала . Добавляйтесь и рассказывайте друзьям!
Разработок под самый популярный мессенджер столько, что многие пользователи теряются. Как в Телеграмме найти бота, ведь их там тысячи? Для решения этой проблемы созданы специальные ресурсы. О них и пойдет речь.
Где искать?
Вы можете воспользоваться поисковой системой и набрать запрос в строке браузера. Однако этот вариант достаточно трудозатратен, ведь предстоит еще разобраться в результатах.
Один из самых удобных способов – поиск , где можно отфильтровать результаты поиска по категориям.
Второй вариант поиска - использование рубрикаторов. Их также можно найти в поисковой системе. Это не полноценный ресурс, скорее, частный обзор.
Один из самых удобных ресурсов - @storebot
.
Можно воспользоваться и сайтом Storebot.me
Он объединяет в себе строку поиска, новинки, рубрикатор, топ чарт. Расскажем подробнее, как искать ботов в Телеграмм (Telegram) с помощью этого сервиса.
Чтобы найти и вызвать бота, сделайте следующее:
- Войдите в мессенджер и в строке поиска наберите @storebot. В результатах щелкните по его названию.
- Нажмите «Start» или «Начать».
- Откроется окно чата и вы сможете воспользоваться меню:
- Лучшие новинки.
- Недавно добавленные.
- По категориям.
- Вывод поисковой формы.
- Также искать помогает команда /search .
- Сервис выдает результаты небольшими списками, поэтому не забывайте нажимать «Показать больше».
- Подключиться к боту можно простым нажатием на его названии.
Топ лучших каталогов Telegram – поиск ботов
- Ru.telegram-store
https://ru.telegram-store.com/catalog/product-category/bots/
Русскоязычный сайт самого известного каталога роботов. Здесь можно найти все. - Catalog-Telegram
https://catalog-telegram.com/
Все сервисы разбиты на категории. Также есть строка поиска, и новинки. - Telegram-ru
http://telegram-ru.com/directory_bots.html
Имеет только рубрикатор, в котором размещены обзоры. - Telegram.org.ru
http://telegram.org.ru/telegram-bots/
Простой перечень известных ресурсов. Пользователи голосуют за каждый, поэтому можно увидеть их рейтинг.
В любом из них можно найти много интересного. А как подключить бота в Телеграмм? Очень просто – просто щелкните по нему, если же его необходимо добавить в групп, то зайдите в меню группы и в поиске участников введите имя бота и нажмите « Пригласить». Откроется страница программы. Если вы ищете с ПК, то можете нажать «Open in Web» и робот добавится в список вашего аккаунта. Если вы ищете с мобильного устройства, то прежде чем установить бот, скачайте мобильное приложение Telegram. Это можно сделать в Google Play или AppStore. Кстати, если вы не знаете, как найти и добавить бота в телеграмме на Iphone, то ответ прост – точно также. Программа не зависит от платформы, на которой установлен Телеграмм.
Нужные боты в Телеграмме
- @MStickersBot
Автоматический подбор изображения к контексту. Введите сообщение, а программа подберет стикер. - @Weatherman
Оперативная сводка погоды. Позволяет задать время получения актуальной информации. Также предлагается краткий или подробный прогноз на выбор. - @kino_bot
Информация о новинках кино. Просто подпишитесь и получайте каждый час данные о новых фильмах. - @sberometerbot
Предоставляет информацию о курсах валют, драгметаллов и топлива. Достаточно набрать название интересующей валюты и будет прислано сообщение об официальном и биржевом курсах на текущий момент. - @yandexmapsbot
Разработка от Яндекс.Карт. Позволяет построить маршрут, найти местоположение по адресу, получить информацию о пробках. - @mirabellabot
Аналог календаря. Сохраняет закладки. Можно делать текстовые заметки. - @IceCalcBot
Заменяет калькулятор. Имеет подробную подсказку. - @VestniqBot
Формирует подборку из указанных каналов. - @transnow_bot
Русско-английский переводчик. Определяет язык сообщения и выдает подробный перевод.
Как добавить и найти Бота в Телеграмме? Прочитав статью, ты узнаешь, как искать и подключить Ботов в Telegram. Итак, приступим!
О том, что такое роботы и как их можно использовать, шла в речь . Осталось выяснить, . Также важно добавить информацию об основах использования данных алгоритмов.
Как искать и подключить ботов в Telegram
На самом деле опытный пользователь без особого труда . Благо, разработчики мессенджера предоставили такую возможность всем. Но те, кто не желает разбираться в таких тонкостях, есть вариант попроще.
Можно выделить 2 самых простых и доступных способа поиска ботов в Телеграмме:
- Через специального робота @StoreBot
- Использовать каталог на любом из ресурсов в сети интернет
Для того чтобы воспользоваться поисковым роботом сделайте следующее:
Еще более простой способ, это найти нужно робота в интернете:
- Для этого и выбираем нужного;
- После этого достаточно просто вбить его имя в строку поиска в приложении и запустить робота.
Вот и всё, мы получаем список новейших и самых популярных роботов (их можно себе сразу добавить), распределенных по категориям. Поиск ботов Telegram легко осуществлять внутри этого робоконтакта.
Итак, мы разобрались, как добавлять ботов в Телеграм. Попробуйте применить знания на практике, подключив, к примеру, @ImageBot. Этот алгоритм позволит искать изображения на самые любимые темы, причем в хорошем качестве и в нужном формате.
Напомним, что список самых интересных и, главное, адекватно функционирующих программ можно подсмотреть на страничке каталога. Ссылки на свои находки, которые действительно стоят внимания, можно добавить в комментарии. Давайте сделаем свой мир немного более удобным и способствующим активному общению.