Сбор сообщений Telegram через бота
Если перед Вами стоит задача собирать посты или медиа материал из телеграмма где-то в одном месте - этот вариант вам подойдет.
Подготовка
Для начала нам необходимо:
- Всегда включенный компьютер с доступом в интернет
- Установленная программа Obsidian с плагином
- Бот в Телеграм
- Немного времени для настройки данного способа
Устанавливаем Obsidian
Для начала нам надо его скачать по данной ссылке - https://obsidian.md/
Далее запускаем установку, там ничего сложного, просто запускаем скаченный файл.
После открытия программы нас встречает окно, где нам необходимо выбрать место, где будут храниться все наши записи и выбрать язык интерфейса.
Далее нажимаем Создать
и выбираем место, где будут храниться наши файлы
Имя хранилища - можете выбрать любое, которое вам понравиться.
Расположение - тут выбираем папку где это будет храниться
Нажимаем Создать
Далее нас встречает окно, где будут храниться наши посты\медиа файлы.
Создание Telegram-бота
Чтобы сделать бота в Telegram без кода и навыков программирования, необходимо:
Зайти в аккаунт и указать в поиске BotFather. Нас интересует именно официальный @BotFather с синей галочкой верификации.
В диалоговом окне указываем команду /start
, чтобы запустить сервис. Система показывает доступные команды (редактирование бота, настройки, игры). Вписываем /newbot
, чтобы запустить процесс создания.
Система просит указать название, данное имя.
После этого необходимо вписать username – BotFather сразу предупреждает, что юзернейм бота должен заканчиваться на слово bot.
В случае успеха видим сообщение о том, что наш бот для Телеграмма создан и готов к работе.
На этом этапе вы получаете токен для доступа к HTTP API Telegram.
Все! Вы создали бота для Телеграма при помощи 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.
Теперь нам нужно настроить шаблон, для этого нам понадобиться выйти из настроек и создать новую заметку, в которой уже пропишем как будут записываться посты
Назовем новую заметку, он же шаблон - 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 и получить все скаченные файлы с сортировкой
А как использовать это дальше уже много вариантов.