Skip to content

Latest commit

 

History

History
45 lines (32 loc) · 3.48 KB

README.ua.md

File metadata and controls

45 lines (32 loc) · 3.48 KB

Ulysses-TG

Цей проект реалізує бота для Telegram, призначеного для форматованої публікації тексту з Ulysses та інших джерел. Проект складається із self-hosted сервера на базі Express та бібліотеки Grammy для Telegram API, а також Companion Shortcut, який дозволяє швидко надсилати форматований контент до вказаних каналів і чатів.

Особливості

  • Широкі можливості форматування: Бот автоматично парсить markdown-розмітку Ulysses (md-xxl) і конвертує її в tg-html для найкращої сумісності з Telegram.
  • Гнучкий вхідний контент: Бот приймає будь-які текстові файли (text/* MIME-тип) — це дозволяє надсилати як markdown-документи, так і plain text.
  • Підтримка TextBundle з Ulysses: Проект оптимізований під TextBundle для ідеальної інтеграції з Ulysses, але також працює з будь-яким текстом.
  • Управління каналами та чатами: Конфігурація дозволяє налаштовувати список доступних чатів і каналів, де бот є адміном. Shortcut перевіряє їх і надає вибір, куди саме запостити.
  • Сумісність із файловою системою: Shortcut підтримує надсилання файлів безпосередньо з файлової системи.
  • Підтримка rich-format: Поки що бот обробляє лише текстовий контент з багатим форматуванням (без підтримки медіафайлів, collapse-цитат, spoiler-розмітки та custom-emoji, але це в планах на майбутнє).

Інсталяція

  1. Клонувати репозиторій.
  2. Встановити залежності:
    npm install
  3. Налаштувати змінні оточення (.env) для вашого Telegram бота і списку доступних чатів/каналів.
  4. Запустити сервер:
    npm start
  5. Додати Companion Shortcut на свій пристрій і налаштувати його для взаємодії із сервером.

Як це працює

  1. Надсилайте текстові файли в бот через Shortcut, використовуючи Share Menu або файлову систему.
  2. Shortcut перевіряє список доступних чатів/каналів і дозволяє вибрати місце публікації.
  3. Бот обробляє текст, застосовує форматування та публікує в Telegram.

Майбутні плани

  • Додати підтримку медіафайлів.
  • Розширити підтримку розмітки Telegram (collapse, spoiler, custom-emoji).

Ліцензія

Цей проект розповсюджується під ліцензією MIT.


Companion Shortcut