Эта программа (далее — Бот) использует бесплатную функциональность бота Telegram для сохранения сообщений из группы Telegram в хранилище Obsidian на локальном компьютере.
Используемая разметка Markdown подойдёт и для большинства других программ, работающих с локальными файлами Markdown.
- Вы на ходу пишете или наговариваете сообщения в личной группе Telegram
- Бот получает новые сообщения из Telegram и сохраняет их в виде заметок, таким образов формируя входящий поток информации прямо в вашем хранилище заметок
- Позже в спокойной обстановке вы обрабатываете эти заметки, разнося информацию из них в подходящие места в своём хранилище
- Все сообщения группируются по датам — на одну дату создаётся одна заметка.
- Каждое сообщение в заметке имеет заголовок с отметкой даты и времени.
- Сохраняется форматирование сообщений.
- Для пересланных сообщений добавляется информация об источнике сообщения.
- Картинки сохраняются в хранилище и встраиваются в заметку.
- Есть возможность преобразовывать заметки с определенными ключевыми словами в задачу.
- Есть возможность тегировать заметки с определенными ключевыми словами.
- Есть возможность распознавания речи из заметок. При этом Бот отправляет распознанный текст в виде ответа на исходное голосовое сообщение.
- Установите Python 3.10+ и требуемые зависимости:
pip install -r requirements.txt
- Установите модуль Whisper, если требуется распознавать голосовые сообщения:
pip install git+https://github.com/openai/whisper.git
- Установите скомпилированный FFMPEG и добавьте путь к исполняемому файлу (в Windows - ffmpeg.exe) в переменную окружения path. Перейдите в папку с данным скриптом и убедитесь, что ffmpeg.exe запускается из неё.
- Создайте своего бота при помощи https://t.me/BotFather
- Вставьте токен, полученный от
@botfather
, в соответствующую переменную в файлеconfig.py
и измените остальные параметры вconfig.py
требуемым образом. - Добавьте созданного выше бота в приватную группу Telegram и сделайте администратором, чтобы он мог читать сообщения.
-
Отправляйте/пересылайте в свою приватную группу Telegram сообщения, которые должны попасть в ваше хранилище Obsidian.
-
Запустите Бота:
python tg2obsidian_bot.py
- На постоянно работающем компьютере или на сервере Бота можно не выключать. Тогда он будет распознавать речь и заносить заметки в Obsidian в реальном времени.
- Если вы включаете компьютер только на время использования, запускайте Бота непосредственно тогда, когда нужно получить сообщения в Obsidian, а после получения всех сообщений закрывайте программу.
После запуска в папке со скриптом создастся файл bot.log
, куда будут записываться основные происходящие действия и ошибки.
Кроме того, все входящие сообщения будут записываться в файлы c именем вида messages-ГГГГ-ММ-ДД.txt
в папке программы. Они могут представлять интерес для вас в целях упрощения отладки и доработки программы. Для работы программы они не нужны, поэтому их можно удалять.
- Если сообщение содержит эмодзи, в нём может съехать форматирование. Если у вас много таких сообщений, можно отключить форматирование в конфиге.
Если вы хотите отблагодарить автора этого проекта, ваши донаты с благодарностью будут приняты здесь: https://pay.cloudtips.ru/p/1f9bf82f