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

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

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

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

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

Не хотите указывать свой email при регистрации на различных сервисах, боясь получить горы спама, а заводить новый специально под это дело лень? Так и не нужно! Используйте этого бота: он сгенерирует для вас временный ящик и отобразит его содержимое. Перейдите по ссылке активации и забудьте о ящике - через 10 минут он уже будет удалён.

Как понятно из названия, этот бот выполняет одну-единственную функцию - конвертирует в PDF документы и файлы, которые вы ему присылаете. Список поддерживаемых форматов не так велик, но всё самое необходимое есть: DOC, DOCX, ODT, TXT и JPG.

Те, кто имеет дело с иностранными языками, знают, как просто ошибиться в произношении. Этот бот поможет узнать произношение любого слова на 84 языках. Просто пишете слово или фразу и получаете в ответ голосовое сообщение. Работает в групповых чатах. Кроме уточнения произношения, можно ещё использовать бота для генерации аудио из текста. Получается, строго говоря, корявенько, но сойдёт.

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

Скачать понравившееся фото или видео из Instagram ещё сложнее, чем видео с YouTube, но с этим ботом такая задача займёт у вас нескольких секунд. Принцип тот же: шлём ссылку - получаем в ответ медиафайл. Работает не только с фото, но и с видео! Причём даже с YouTube.

Раз уж зашла речь медиаконтенте, то нельзя не упомянуть о . Думаете, в Telegram их можно только просматривать и искать? Как бы не так! С таким полезным ботом, как этот, их можно даже создавать! Не с нуля, конечно, а из видео с практически любых сервисов (Instagram, Vine, Facebook, Twitter, Gfycat других). Что делать, вы уже, наверное, догадались. :)

Интерактивный текстовый квест прямо в Telegram. А что? Все же помнят громкий успех Lifeline и «Марсианина» - мобильных игр, взаимодействие с которыми целиком и полностью осуществлялось через уведомления в режиме реального времени. Здесь всё примерно так же: у нас есть герой, попавший в беду, и его надо спасти, давая советы и подсказывая, что нужно делать в той или иной ситуации.

Рассказывайте в комментариях о ваших любимых ботах и о том, как к ним относитесь вообще. А также не забывайте, что у Лайфхакера есть официальный бот и два канала . Добавляйтесь и рассказывайте друзьям!

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

Функционал

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

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

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

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

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

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

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


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

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

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

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

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

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



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


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

Популярный мессенджер Telegram , разработанный автором «ВКонтакте» Павлом Дуровым, в прошлом году обновился до версии 3.0. Кроме прочего она принесла ботов, с которыми в этом мессенджере стало намного удобнее общаться, искать информацию, развлекаться и тому подобное. Что такое боты в Telegram и как ими пользоваться - читайте дальше.

Что такое боты? Робот или боты - это специальные аккаунты в Telegram, которые могут автоматически обрабатывать и отправлять сообщения. Они создаются программистами и работают у них на сервере.

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

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

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

У роботов нет статусов «онлайн» и «был в сети», вместо этого отображается надпись «робот». Кроме этого, боты не могут сами начать общение. Выбранного бота надо сначала добавить в группу или первым начать с ним диалог. Для этого можно использовать ссылки вида telegram.me/<имя бота> или поиск по имени пользователя. Найти ботов просто, поскольку в них имя заканчивается на «bot», например, @TriviaBot.

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

Когда вы освоите общение с ботами через их клавиатуры, тогда можно переходить к более гибкому взаимодействию. Для этого ботам можно отправлять команды напрямую. Команда бота - это строка вида /Команда [необязательный] [аргумент]. Она всегда начинается с косой черты «/» и имеет максимальную длину 32 символа. Команды могут состоять из букв латинского алфавита, цифр и подчеркивания. Несколько примеров:

/ get_messages_stats

/ Set_timer 10min Alarm!

/ Get_timezone London, UK

Примеры активных ботов Telegram

Сегодня в Telegram работают десятки роботов. Вот несколько самых популярных:

@ytranslatebot - переводит ваши сообщения на любой язык мира. Работает как в личных чатах, так и в групповых.

@imagesearchbot - ищет картинки прямо в чате.

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

@HotOrBot - ищет новых знакомых в стиле приложения для знакомств Tinder, в которой надо выставлять людям «нравится» или «не нравится».

@PollBot - позволяет проводить в группах и чатах опрос.

@RateStickerBot - с ним можно открывать и оценивать новые стикеры.

@AlertBot - установите время и наблюдайте, как бот будет работать вместо будильника.

@glavburgerbot - бот, который берет ваши координаты и ищет ближайшее заведение, где можно съесть бургер.

@telerobot - выводит погоду, новости и цитаты с сайта bash.im.

@clippy - создает стикеры из изображений.

@QTrackerbot - отслеживает посылки, отправленные «Укрпочтой», «Новой почтой», «Деливери» и «Мист-Экспрессом».

@paypbbot - позволяет клиентам «Приватбанка» переводить друг другу средства в мессенджере Telegram.

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

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

Добавление

Для начала необходимо понять, что называется ботом в приложении Телеграмм. Это специальные роботы, запрограммированные на определенные действия, с которыми пользователь взаимодействует посредством чата. В зависимости от назначения различаются их функции и возможности. У каждого имеются собственные команды, на которые он реагирует. В Telegram Messenger огромное количество таких программ. Многие ресурсы предлагают их для удобства пользователей.

Добавить аккаунт в мессенджере довольно просто. Необходимо знать его аккаунт, начинающийся с символа @. Имя вводится в поиске приложения, из предложенных вариантов нужно выбрать подходящий. Откроется окно взаимодействия с ботом, в нем присутствует кнопка Start или «Начать», если у вас установлена русская локализация. Необходимо ее нажать, тогда активируется режим диалога. У множества аккаунтов присутствует возможность управления кнопками снизу экрана, а не только посредством команд.

Прикрепление бота в группу

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

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

Пишем ему /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
Добавить метки

© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows