Сбор сообщений Telegram через бота

Если перед Вами стоит задача собирать посты или медиа материал из телеграмма где-то в одном месте - этот вариант вам подойдет.

Подготовка

Для начала нам необходимо:

  • Всегда включенный компьютер с доступом в интернет
  • Установленная программа Obsidian с плагином
  • Бот в Телеграм
  • Немного времени для настройки данного способа
⚠️
Для полноценной и круглосуточной работы нам действительно понадобиться компьютер, который не будет выключаться и всегда будет иметь доступ в интернет

Устанавливаем Obsidian

Для начала нам надо его скачать по данной ссылке - https://obsidian.md/

Далее запускаем установку, там ничего сложного, просто запускаем скаченный файл.

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

⚠️
Если Вам нужен будет доступ до файлов и самих текстовых постов из разных мест, а не только на Вашем ПК, то предлагаю сделать основную папку где-то на облаке.

Далее нажимаем Создать и выбираем место, где будут храниться наши файлы

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

Нажимаем Создать

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

Создание Telegram-бота

Чтобы сделать бота в Telegram без кода и навыков программирования, необходимо:

Зайти в аккаунт и указать в поиске BotFather. Нас интересует именно официальный @BotFather с синей галочкой верификации.

Находим аккаунт BotFather

В диалоговом окне указываем команду /start , чтобы запустить сервис. Система показывает доступные команды (редактирование бота, настройки, игры). Вписываем /newbot , чтобы запустить процесс создания.

Система просит указать название, данное имя.

⚠️
Данное имя будет видеться в списке контактов, так что можно назвать как Вам. В моем случае он будет называться Obsidian Sync

После этого необходимо вписать username – BotFather сразу предупреждает, что юзернейм бота должен заканчиваться на слово bot.

⚠️
По данному username пользователи уже будут искать Вашего бота, оно должно быть уникальным. В моем случае это будет obssync1_bot

В случае успеха видим сообщение о том, что наш бот для Телеграмма создан и готов к работе.

На этом этапе вы получаете токен для доступа к HTTP API Telegram.

‼️
Не передавайте token третьим лицам.

Все! Вы создали бота для Телеграма при помощи BotFather. В информационном сообщении найдете ссылку на него (в нашем примере это t.me/obssync1_bot).

Дальше нам понадобиться тот самый token.

Настройка Obsidian

Установка плагина

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

В Настройках выбираем пункт Сторонние плагины и нажать Включите плагины сообщества

В появившемся окне выбираем Обзор и нам откроется список плагинов

В поиске пишем - Telegram Sync.

Нажимаем на него и устанавливаем, а затем включаем:

Настройка плагина

Нажимаем Настройки, нас перекидывает в настройки плагина, где нам нужно будет настроить подключение к Телеграм-боту. Нажимаем Connect

Нам открывается меню, в котором необходимо вписать:

  • Bot token - ******:AAF49CQLm_dT8Dj8ylTCifw5WlAT2IFx3BE (его берем из сообщения BotFather в Телеграмме)
  • Allowed chats - пока пропустим, но позже вернемся.
  • Main device id - тут просто нажимаем на подчеркнутую строчку, тем самым говорим, что этот Obsidian является главным

Нажимаем галочку и ждем пока в настройках появиться имя Вашего бота напротив Bot

Теперь нам нужно перейти в наш Телеграм-бот и запустить его. Далее находим любой пост в Телеграм и пересылаем нашему боту.

Мы получаем в ответ сообщение, в котором говориться о том, что мы не корректно настроили бота. Из этого сообщения забираем Chat ID и вставляем в настройки плагина Obsidian.

💡
Данная настройка позволяет ограничить пользователей, которые могут отправлять посты к Вам в Obsidian. Если Вам нужно будет, что бы обработка постов шла от несколько пользователей в настройках плагина напишите Chat ID через запятую.

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

Назовем новую заметку, он же шаблон - Telegram Sync и запишем туда следующее

**Дата: {{messageDate:DDMMYYYY}} | :{{messageTime:HH:mm:ss}}**

---
{{content}}

Мы вставили параметры, которые бот будет забирать из сообщения. Больше параметров можно посмотреть тут

Переходим к настройкам

Настроим как будут формироваться эти посты, для этого необходимо нажать на карандаш в графе Message distribution rules

  • Massage filter - оставляем параметр {{all}}, он говорит о том, что мы забираем все сообщения присланные боту
  • Template file path - тут мы указываем наш только что созданный шаблон - Telegram Sync.md
  • Note path template - если оставить не тронутым, то для всех новых сообщений будут создаваться отдельные заметки в папке Telegram с указанием начала сообщения(30 символов) + дата и время. Если необходимо сливать все сообщения в одну заметку, просто создайте новую заметку и укажите ее. Я пользуюсь последним вариантом - Message.md
  • File path template - предлагаю оставить так как есть. Тут настраивается папка куда будут сохраняться медиа файлы - в папку Telegram подпапку тип материала с указанием название медиа файла + дата и время.

Нажимаем галочку, осталось совсем немного.

Последний штрих, заходим в Advanced settings

  • Delete messages from Telegram - при включенном состоянии будет удалять пересланное сообщение в чате с ботом, что даст понимания, что данный пост обработан
  • Default delimiter "***" batween messages - при включенном состоянии разделяет сообщения длинной чертой

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

Заключение

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

Еще один бонус всего этого, то что можно скачивать материал с Телеграма и не занимать место на своем телефоне. Так же Вы можете перейти где расположен Obsidian и получить все скаченные файлы с сортировкой

А как использовать это дальше уже много вариантов.

‼️
Напоминаю, что бы все это работало 24 на 7, компьютер с открытой программой должен быть всегда включен. Если же Obsidian закроется, то все перестанет работать.