Repository navigation
Releases: msxd/obsidian-telegram-bot-integration
Release list
1.0.4
Maintenance, no behaviour changes.
Dates now go through one typed module. Obsidian re-exports moment, but its typings only resolve when moment itself sits where the type checker can reach it — and where it does not, every formatted date became untyped code. tsc never said a word about it, because skipLibCheck swallows the failure inside obsidian.d.ts; only a type-aware lint on such an install ever sees it.
Formats still go to moment itself, so everything you can type in the rule editor keeps working exactly as before.
1.0.3
Maintenance, no new features.
- A topic pointing at a folder now walks that folder instead of filtering every note in the vault. On a large vault that is the difference between reading what a topic covers and looking at everything first.
- Console messages say Telegram Vault Bot instead of a name the plugin no longer has.
- The readme is straight about what it needs — a Telegram account and a bot of your own — and the license file now says which license it is.
Everything the plugin does is described in 1.0.1 and in the README.
1.0.2
The plugin is now called Telegram Vault Bot.
Nothing else about it changed. The id stays the same, so this updates in place over 1.0.1 — no reinstall, no settings lost.
- The display name dropped the "by " part, which the Obsidian guidelines ask plugins to avoid.
- The author link points at a Telegram profile that exists.
- The support link is gone rather than leading to a page that was never built.
Everything the plugin actually does is described in 1.0.1 and in the README.
1.0.1
First public release. 1.0.0 never left my machine, so this is the whole plugin rather than a list of changes.
A personal Telegram bot that files what you send it into your vault, and answers questions about what is in there. One person, one bot, one vault: no server, no account, and the only host it ever contacts is api.telegram.org.
Caution
The bot token is stored as plain text in data.json inside the vault, because Obsidian offers no encrypted storage. Treat the vault as a secret.
Messages into notes
- Rules are checked top to bottom and the first match wins. Whatever no rule claims goes to the default rule, which cannot be removed, so a message always lands somewhere.
- Each rule decides its own path, media folder, note name, heading, and whether to separate messages with a horizontal rule.
- Filters:
{{all}},{{content~text}},{{hashtag~tag}}. - Paths take variables —
{{messageDate:YYYY-MM}},{{chat}},{{user}},{{topic}},{{hashtag:[0]}}and more — soJournal/{{messageDate:YYYY-MM}}.mdcollects a month of messages in one note. The rule editor previews the path against a sample message while you type. - Photos, files and voice notes are downloaded into the vault and embedded in the note. A file Telegram will not hand over — anything above 20 MB — is skipped, and the text of the message is still saved.
- A message can be marked with a reaction once it has been saved, so the chat shows what got through.
Commands
| Command | Answers with |
|---|---|
/tasks |
tasks due today |
/tasks 3 |
tasks due today and the next two days |
/tasks 3 work |
the same, limited to the topic work |
/tasks2, /tasks5, /tasks7 |
today plus 2, 5 or 7 days |
/topics |
the topic codes and where they point |
- A topic is a code word for one folder or one note. Without a topic a command searches the whole vault.
- A topic can answer to commands of its own:
/work,/work2,/work5,/work7. - Update commands in the settings registers the menu with Telegram, so the chat suggests the commands while you type.
- Tasks are read in the Tasks plugin's emoji format,
- [ ] Call the doctor 📅 2026-09-20. Only open tasks count, and only due dates from today forward. - A message that is not a command the plugin knows stays a message and is filed as a note, so a typo never eats what you wrote.
Install
Download main.js, manifest.json and styles.css into <vault>/.obsidian/plugins/telegram-bot-integration-by-msxd/, reload Obsidian and enable the plugin. Needs Obsidian 1.11.0 or newer, desktop only.
Then: paste the bot token from https://t.me/BotFather and press Check token, allow your own chat, and switch receiving on. Nothing happens until a chat is on the allowlist.
Worth knowing
- The allowlist fails closed: an empty list means nobody, not everybody.
- The command menu is public — anyone who finds the bot sees it — but only an allowed chat gets an answer.
- No telemetry, and nothing leaves the vault unless a command asked for it.
Caution
The bot token is stored as plain text in data.json inside the vault, because Obsidian offers no encrypted storage. Treat the vault as a secret.
Not yet
Overdue tasks, sending on a schedule, webhooks, albums gathered into one note, and edited messages.
The README has the full description.