A clean and scalable Telegram bot template using Pyrotgfork (a forked version of Pyrogram) with multi-language support and SQLite database.
Personal purpose to take advantage from telegram token finder channels and make my due diligences to buy and sell in Solana.
- 🌐 Multi-language support with easy switching
- 💾 SQLite database with SQLAlchemy ORM
- 📅 Task scheduling with APScheduler
- 📁 Clean and organized folder structure
- ⚙️ Environment variables management
- ⚡️ Astral(uv) - extremely fast Python package and project manager
- 🎯 Decorator-based user handling
- 💬 Catch messages from selected telegram chats (groups, channels, etc)
- 🔍 Message handler to find pump fun token
🛍️ Buy and Sell token as specific PNLTwitter(X) API integration to make due diligences
-
Clone the repository:
git clone https://github.com/espinozasenior/pump-not-fun.git
-
Install requirements:
uv sync
-
Configure environment variables: Create a
.env
file with:API_ID=your_api_id API_HASH=your_api_hash BOT_TOKEN=your_bot_token SESSION_STRING=your session string token
-
Run the bot:
uv run main.py
Follow these simple steps to customize the bot:
- Add your commands in the
commands
folder - Add your callbacks in the
callbacks
folder - Add your messages handler in the
messages
folder - Register commands, callbacks and messages handlers in
handlers.py
file - Register tasks in
tasks.py
file - Add new languages in the
languages
folder - Create database models in the
database
folder
To upgrade to PostgreSQL:
-
Install PostgreSQL adapter:
uv add psycopg2-binary
-
Update database configuration: In
settings.py
, modify theDATABASE_URL
:DATABASE_URL=postgresql://user:password@localhost/dbname
This template follows Telegram bot development best practices and can be customized to suit your needs. For custom implementations, please reach out to us at any of the following links:
- Create a new branch for your features
- Submit pull requests for improvements
- Open issues for bugs or suggestions
This project is licensed under the MIT License - see the LICENSE file for details.