Self-hosted Telegram bot-archive for your ideas, files, and links.
- Install dependencies:
npm install
- Copy .env.example and fill in your token:
cp .env.example .env # Paste your Telegram BOT_TOKEN
- Start the bot:
npm run start
/start
— welcome and short instructions/help
— list of all commands and their description/list
— statistics by content type/find <type>
— find all files of a certain type (photo, text, document, audio, video, voice, sticker, link)/find <word>
— search by content in text and link notes/find #tag
— search by tag (e.g., #link, #todo)/delete <number>
— delete entry by number from the last /find or /list/clear <type>
— delete all files of a certain type/export
— export all files and meta.json as ZIP/export <type>
— export only files of a certain type/export md
— export all text and link notes as Markdown
- All commands are available only to the owner (user_id of the first person who wrote to the bot)
- Uses ESLint with a basic Node.js config.
- Check code style:
npm run lint
- All pull requests must pass linting with no errors.
- Fork, make pull requests, suggest improvements!
- Before PR, always check code style (
npm run lint
). - Never commit .env, data/, or other private files.
MIT License — do what you want, but no warranties.
- ./data — all files and metadata
- .env — settings
- config.js — limits and paths
- bot/ — Telegram logic
- core/ — storage and processing
- utils.js — helpers
- Node.js 18+
- Local storage only, no clouds
- Default storage limit — 500 MB
- All your data stays only with you