Skip to content

Latest commit

 

History

History
67 lines (44 loc) · 5.88 KB

README.ru.md

File metadata and controls

67 lines (44 loc) · 5.88 KB

tg2obsidian

Эта программа (далее — Бот) использует бесплатную функциональность бота Telegram для сохранения сообщений из группы Telegram в хранилище Obsidian на локальном компьютере.

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

Сценарий использования

  • Вы на ходу пишете или наговариваете сообщения в личной группе Telegram
  • Бот получает новые сообщения из Telegram и сохраняет их в виде заметок, таким образов формируя входящий поток информации прямо в вашем хранилище заметок
  • Позже в спокойной обстановке вы обрабатываете эти заметки, разнося информацию из них в подходящие места в своём хранилище

Возможности

  • Все сообщения группируются по датам — на одну дату создаётся одна заметка.
  • Каждое сообщение в заметке имеет заголовок с отметкой даты и времени.
  • Сохраняется форматирование сообщений.
  • Для пересланных сообщений добавляется информация об источнике сообщения.
  • Картинки сохраняются в хранилище и встраиваются в заметку.
  • Есть возможность преобразовывать заметки с определенными ключевыми словами в задачу.
  • Есть возможность тегировать заметки с определенными ключевыми словами.
  • Есть возможность распознавания речи из заметок. При этом Бот отправляет распознанный текст в виде ответа на исходное голосовое сообщение.

Установка и настройка

  1. Установите Python 3.10+ и требуемые зависимости:
pip install -r requirements.txt
  1. Установите модуль Whisper, если требуется распознавать голосовые сообщения:
pip install git+https://github.com/openai/whisper.git
  1. Установите скомпилированный FFMPEG и добавьте путь к исполняемому файлу (в Windows - ffmpeg.exe) в переменную окружения path. Перейдите в папку с данным скриптом и убедитесь, что ffmpeg.exe запускается из неё.
  2. Создайте своего бота при помощи https://t.me/BotFather
  3. Вставьте токен, полученный от @botfather, в соответствующую переменную в файле config.py и измените остальные параметры в config.py требуемым образом.
  4. Добавьте созданного выше бота в приватную группу Telegram и сделайте администратором, чтобы он мог читать сообщения.

Использование

  1. Отправляйте/пересылайте в свою приватную группу Telegram сообщения, которые должны попасть в ваше хранилище Obsidian.

  2. Запустите Бота:

python tg2obsidian_bot.py
  • На постоянно работающем компьютере или на сервере Бота можно не выключать. Тогда он будет распознавать речь и заносить заметки в Obsidian в реальном времени.
  • Если вы включаете компьютер только на время использования, запускайте Бота непосредственно тогда, когда нужно получить сообщения в Obsidian, а после получения всех сообщений закрывайте программу.

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

Кроме того, все входящие сообщения будут записываться в файлы c именем вида messages-ГГГГ-ММ-ДД.txt в папке программы. Они могут представлять интерес для вас в целях упрощения отладки и доработки программы. Для работы программы они не нужны, поэтому их можно удалять.

Известные ошибки

  1. Если сообщение содержит эмодзи, в нём может съехать форматирование. Если у вас много таких сообщений, можно отключить форматирование в конфиге.

Благодарность автору

Если вы хотите отблагодарить автора этого проекта, ваши донаты с благодарностью будут приняты здесь: https://pay.cloudtips.ru/p/1f9bf82f