Примеры Telegram ботов для личных автоматизаций

Примеры Telegram ботов для личных автоматизаций

Telegram-ботами уже никого не удивить. Недавно Telegram отметил 10-летие, и я решил сделать текстовую версию своего ролика. Идея простая — иногда возникают сложности с тем, чтобы придумать о чем писать Telegram бота, и я решил поделиться подборкой ботов, которых разработал и использую в своей жизни я.

Причем это будут не прям боты, а скорее способы использования telegram-bot-api для решения разных задач.

Отправка уведомлений

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

Выкачивание файла с сервера

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

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

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

Автоматические бекапы на сервере

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

Механика резервного копирования простая — есть bash-скрипт который создает tar.gz из нужной папки, разбивает архив по 40мб и просто скидывает их в чат.

Примеры Telegram ботов для личных автоматизаций

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

Создание MR через бота

У меня в галере есть куча разных проектов и под каждый проект у нас свой telegram чат. Некоторые проекты сделаны на микросервисной архитектуре. Работаем по флоу фича ветки, которая вливается в stage (с автодеплоем на тестовый стенд) и последующим вливанием в release.

После разработки какой-то большой фичи на 5 сервисов, возникает необходимость сделать сразу несколько MR (Merge Request) со стейджа на релиз. И это, обычно, делаю я. Мне это надоело достаточно быстро, и мы сделали небольшого бота, который по чату понимает о каком проекте идет речь и создает эти MR-ки сам. Мелочь, а приятно.

Примеры Telegram ботов для личных автоматизаций

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

Интеграция с системой задач в Notion

Про этого бота я делал отдельный ролик. Но кратко опишу его в текущей подборке. Суть такая: я веду свои задачи в Notion и создавать задачи через их интерфейс — дело неудобное.

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

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

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

Примеры Telegram ботов для личных автоматизаций

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

Отслеживание статуса серверов Fortnite

Раз я делюсь подборкой ботов, то грех не поделиться этим. Он не связан с работой и продуктивностью. Я играю в Fortnite и, обычно, играю прямо в рабочее время — потратил 30-40 минут и обратно впрыгиваешь в работу. Но проблема в том, что Fortnite любит уходить на обслуживание ночью по американскому времени, что приводит к тому, что у нас он не работает в 12-13 часов.

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

Примеры Telegram ботов для личных автоматизаций

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

Сохранение изображений в Яндекс.Диск

Однажды у меня появился ребенок, а потом и еще один! И быть отцом = получать много разных фотографий своих детей от разных людей и, обычно, через Telegram. Я бы очень хотел сохранять эти фотографии в облако (я пользуюсь яндекс диском), но руками переносить это слишком сложно для такого лентяя, как я.

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

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

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

Примеры Telegram ботов для личных автоматизаций

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

Примеры Telegram ботов для личных автоматизаций

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

Примеры Telegram ботов для личных автоматизаций

UPD: Описал как запустить себе такой-же здесь.

Отслеживание курсов валют

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

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

Примеры Telegram ботов для личных автоматизаций

Важно — он не пишет нового сообщения, а обновляет одно-единственное сообщение в канале. Детально о механике этого бота я писал здесь.

Подключение к GPS трекеру

Ещё один интересный случай, который тоже связан с моей личной жизнью. Я купил себе парочку китайских GPS трекеров. Они работают как надо, но очень неудобно. Их официальное приложение — издевательство над пользователем.

Примеры Telegram ботов для личных автоматизаций

Эти трекеры бывают удобны в некоторых случаях — закинуть в машину, когда оставляешь ее в незнакомо месте на долгое время, положить в карман ребенку перед поездкой в какой-нибудь зоопарк и тд. Сами трекеры покупал за 800р (доллар был 55 тогда).

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

Примеры Telegram ботов для личных автоматизаций

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

Отправка данных в Google-таблицу

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

Получается некая односторонняя связь от Telegram бота в Google таблицу – прикольно, хорошо и легко.

Бот для отслеживания пробок

Летом 2022 года я отдыхал в Сочи и поехал туда на машине. Дорога от Москвы до Сочи просто прекрасна и идёт на одном дыхании… кроме серпантина в конце. Я не ожидал, что это может меня настолько выбить из колеи. Основная проблема там в пробках — стоять в пробке на серпантине на механике очень больно. Особенно в жару!

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

Примеры Telegram ботов для личных автоматизаций

Каждые 10 минут сообщение обновлялось с новым скрином, что было крайне удобно! Я поглядывал как обстоят дела и выбрал самое оптимальное время для старта (чтобы проехать быстро, но чтобы не выезжать ночью).

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

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

Бот-трекер для галеры

У меня есть своя компания-галера, где мы пишем разные проекты (в том числе ботов) на аутсорсе. И в моем случае оказалось реальной проблемой в конце месяца собрать все работы, которые мы сделали и выставить клиенту.

Какое-то время я полагался на свою голову, потом полагался на головы разрабов и что они вспомнят в конце месяца, что они делали. Но в один момент я понял, что рассчитывать на это бессмысленно, а осознание что “деньги проходят сквозь пальцы” не давало покоя.

Тогда мы, для своего трекера задач, написали простого бота который каждые 2ч спрашивает разраба “что делал последние 2 часа” и в интерактивном режиме позволяет быстро трекнуть время в копилку. По итогам месяца бот собирает отчеты в гугл-таблицы по каждому разрабу и дальше уже мы формируем счета для наших клиентов.

После внедрения мы заметили рост выручки и, по-началу, я был удивлен как мы много делаем для клиентов — счета стали внушаемы и сбор данных стал категорически простым. Я остался доволен!

Заключение

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

Буду рад, если вы поделитесь своими ботами в комментах и также буду рад подписке на мой тг-канал @gmoreva и YouTube канал @amorev.

Благодарю за внимание!

2
Начать дискуссию