Telegram bot that captures text, voice notes, media, and forwards into an Obsidian vault. Optionally it can:
- transcribe audio via OpenAI-compatible STT API (for example local faster-whisper server)
- summarize notes via Ollama
- create tasks in Vikunja
- Accepts Telegram messages, captions, forwards, voice and attachments
- Saves markdown notes to Obsidian with frontmatter and tags
- Stores media files (images/files) in configurable vault folders
- Optional daily note inbox insertion
- Optional deduplication state file
- Optional task sync to Vikunja
bot.py- main Telegram bot logicrequirements.txt- Python dependenciesDockerfile- image for the bot servicedocker-compose.yml- example stack (bot + optional STT + optional Ollama).env.example- safe environment template (no real secrets)
- Create bot via BotFather and get token.
- Copy env template and fill real values:
cp .env.example .env- Create local data folders:
mkdir -p data/vault state data/hf-cache data/ollama- Start services:
docker compose up -d --build- Open Telegram and send
/chatidto your bot, then setALLOWED_CHAT_IDin.env.
TELEGRAM_BOT_TOKENALLOWED_CHAT_IDOBSIDIAN_INBOX_DIROBSIDIAN_DAILY_DIR
MIT