Эта программа (далее — Бот) использует бесплатную функциональность бота Telegram для сохранения сообщений из группы Telegram в хранилище Obsidian на локальном компьютере.
Используемая разметка Markdown подойдёт и для большинства других программ, работающих с локальными файлами Markdown.
- Вы на ходу пишете, наговариваете или пересылаете сообщения в личную группу Telegram
- Бот получает новые сообщения из Telegram и сохраняет их в виде заметок, таким образов формируя входящий поток информации прямо в вашем хранилище заметок
- Позже в спокойной обстановке вы обрабатываете эти заметки, разнося информацию из них в подходящие места в своём хранилище
- Все сообщения группируются по датам — на одну дату создаётся одна заметка. Также возможно сохранять сообщения в одну единственную заметку.
- Каждое сообщение в заметке имеет заголовок с отметкой даты и времени.
- В зависимости он настроек сохраняется либо игнорируется форматирование сообщений.
- Для пересланных сообщений добавляется информация об источнике сообщения.
- Фотографии, анимации, видео и документы сохраняются в хранилище и встраиваются в заметку.
- Контакты сохраняются в виде YAML front matter и vcard.
- Для мест создаются ссылки на Google Maps и Яндекс.Карты.
- Есть возможность преобразовывать заметки с определенными ключевыми словами в задачу.
- Есть возможность тегировать заметки с определенными ключевыми словами.
- Есть возможность распознавания речи из голосовых сообщений и аудиосообщений. При этом Бот отправляет распознанный текст в виде ответа на исходное сообщение.
- Установите Python 3.10+.
- Установите требуемые зависимости:
pip install aiogram
pip install beautifulsoup4
pip install lxml
- Если требуется распознавать голосовые сообщения, установите модуль Whisper:
pip install -U openai-whisper
- Установите скомпилированный FFMPEG и добавьте путь к исполняемому файлу (в Windows - ffmpeg.exe) в переменную окружения path. Перейдите в папку с данным скриптом и убедитесь, что ffmpeg.exe запускается из неё.
- Создайте своего бота при помощи https://t.me/BotFather
- Вставьте токен, полученный от
@botfather
, в соответствующую переменную в файлеconfig.py
и измените остальные параметры вconfig.py
требуемым образом. - (Не обязательно). Добавьте созданного выше бота в приватную группу Telegram и сделайте администратором, чтобы он мог читать сообщения.
-
Отправляйте/пересылайте сообщения, которые должны попасть в ваше хранилище Obsidian, в свою приватную группу Telegram или напрямую вашему боту.
-
Запустите Бота:
python tg2obsidian_bot.py
- На постоянно работающем компьютере или на сервере Бота можно не выключать. Тогда он будет распознавать речь и заносить заметки в Obsidian в реальном времени.
- Если вы включаете компьютер только на время использования, запускайте Бота непосредственно тогда, когда нужно получить сообщения в Obsidian, а после получения всех сообщений закрывайте программу.
Важно! Бот может получить сообщения только за последние 24 часа. Если от момента отправки сообщения до запуска Бота прошло более 24 часов, такое сообщение уже не будет получено Ботом.
Смотрите в разделе Issues.
Если вы хотите поблагодарить автора этого проекта, ваши донаты с благодарностью будут приняты здесь: https://pay.cloudtips.ru/p/1f9bf82f