Skip to content

msg2git/msg2git

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ Msg2Git

Transform Telegram into your personal git-powered notebook. A powerful open-source bot that turns your messages into organized GitHub commits with AI assistance, issue management, and advanced analytics.

🌐 Try it now: @Msg2GitBot | 🏠 Self-host: Deploy your own instance | πŸ“– Homepage: www.msg2git.com

πŸŽ₯ Watch 8-minute Demo Video - See all features in action! πŸ‘‡ Watch 8-minute Demo Video

GitHub stars Docker Pulls License: MIT Go Report Card

πŸŽ† Quick Start

πŸ“± Try the Hosted Version (Easiest)

  1. Start the bot: @Msg2GitBot
  2. Setup repository: /repo command to connect your GitHub
  3. Send messages: Text, photos, ideas - organized automatically
  4. Upgrade if needed: /coffee for premium features

🐳 Self-Host with Docker (Recommended for control)

git clone https://github.com/msg2git/msg2git.git
cd msg2git
vim .minimal.env  # Settle your tokens
docker-compose up

πŸ› οΈ Manual Installation

git clone https://github.com/msg2git/msg2git.git
cd msg2git
cp .prod.env .env ; cat .minimal.env >> .env
vim .env # Settle your tokens
go mod tidy
go run main.go

πŸš€ Core Features

  • πŸ“¨ Smart Message Processing: Send text, photos, and captions with interactive file selection
  • πŸ“Έ Photo Support & CDN: Upload photos directly with automatic GitHub CDN storage
  • βœ… TODO Management: Interactive numbered TODOs with completion buttons
  • ❓ GitHub Issue Integration: Create and manage GitHub issues directly from Telegram
  • πŸ“Š Analytics & Insights: 30-day commit graphs and usage statistics
  • πŸ” Multi-User & Security: Database-driven with encrypted user data and premium tiers
  • 🎨 Enhanced UX: Progress bars, message editing, mobile-optimized layouts
  • πŸ”„ Performance: File-level locking, worker pools, race condition protection

πŸ› οΈ How It Works

  1. Message the Bot: Send any text message to your configured Telegram bot
  2. Choose Location: Select file type using interactive buttons (πŸ“ NOTE, βœ… TODO, ❓ ISSUE, πŸ’‘ IDEA, πŸ“₯ INBOX, πŸ”§ TOOL)
  3. AI Processing: Bot generates title and hashtags (if LLM configured)
  4. Git Operations: Pulls latest changes, prepends your message, commits and pushes
  5. Success Feedback: Get confirmation with GitHub file link

File Format Examples

Regular Files:

<!--[123] [456789] [2025-06-25 14:30]-->
## Meeting Notes Discussion
#productivity #ideas
Had a great discussion about the new product features...

TODOs:

- [ ] <!--[123] [456789]--> Review pull request documentation (2025-06-25)
- [x] <!--[122] [456789]--> Update README with new features (2025-06-24)

πŸ€– Commands

For the complete list of commands and features, message the bot:

  • /start - Welcome message and quick setup guide
  • /help - Detailed help with all available commands

Essential Commands: /llm, /repo, /todo, /issue, /insight, /stats


🎯 Setup Guide

1. Create Telegram Bot

  1. Message @BotFather on Telegram
  2. Use /newbot command and save the bot token

2. GitHub Setup

  1. Create a GitHub repository for your notes
  2. Generate Personal Access Token with repo scope
  3. Ensure Contents, Issues, and Releases permissions are enabled

3. LLM Setup (Optional)

Get API key from DeepSeek Platform for AI-powered title generation


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Telegram Bot  │◄──►│   msg2git App    │◄──►│   GitHub API    β”‚
β”‚                 β”‚    β”‚                  β”‚    β”‚                 β”‚
β”‚ β€’ Rate Limited  β”‚    β”‚ β€’ Multi-user     β”‚    β”‚ β€’ Auto-sync     β”‚
β”‚ β€’ Progress Bars β”‚    β”‚ β€’ Photo CDN      β”‚    β”‚ β€’ Issue Mgmt    β”‚
β”‚ β€’ Interactive   β”‚    β”‚ β€’ AI Processing  β”‚    β”‚ β€’ Git Ops       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚
                                β–Ό
                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                       β”‚   PostgreSQL    β”‚
                       β”‚                 β”‚
                       β”‚ β€’ User Data     β”‚
                       β”‚ β€’ Encrypted     β”‚
                       β”‚ β€’ Multi-tenant  β”‚
                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”’ Security & Performance

Security

  • Token encryption with database storage
  • Per-user repository isolation
  • Tiered storage limits (1MB-10MB based on plan)

Performance

  • File-level locking for concurrent operations
  • Worker pool architecture (35 message + 30 callback workers)
  • Rate limiting and auto-cleanup mechanisms

🀝 Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

MIT License - see LICENSE file for details.

Attribution Requirement: Any public deployment or commercial use of this software must include visible attribution "Powered by Msg2Git" with a link to https://msg2git.com in the user interface or documentation.


All Commands (for bot father)

start - Show welcome message
help - Show help message llm - Manage AI features repo - Manage personal repo sync - Synchronize issue statuses
todo - Show latest TODO items
issue - Show latest open issues
insight - View usage statistics and insights
stats - View global bot statistics customfile - Manage custom files
resetusage - Reset usage counters (paid service)
coffee - Support the project and unlock premium features


Made with ❀️ for digital gardeners, note-takers, and productivity enthusiasts.

About

Git-Powered Alternative to Telegram Saved Messages

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages