Welcome, code warriors! Today, we're diving into building a powerful bridge between Discord and Telegram that automatically detects and forwards Solana token addresses. Whether you're tracking new tokens or monitoring specific addresses, this guide will show you how to create an automated solution using Python.
Additional link: https://github.com/Any-bot/D2T-msg-forward.git
1. What is This Project?
This is a self-bot that:
- Monitors Discord messages for Solana token addresses
- Detects both raw addresses and DexScreener URLs
- Forwards unique addresses to a Telegram bot
- Maintains a tracking system to avoid duplicates
2. Why Build This?
- Real-time Monitoring: Instantly capture token addresses from Discord
- Automation: No manual copying and pasting required
- Data Filtering: Avoid duplicate addresses with built-in tracking
- Cross-Platform: Bridge Discord and Telegram seamlessly
3. Core Components
Discord Client
discord_client = commands.Bot(command_prefix="!", self_bot=True)
Telegram Client
telegram_client = TelegramClient('session_name', TELEGRAM_API_ID, TELEGRAM_API_HASH)
Address Detection System
def detect_solana_token_address(message):
dexscreener_pattern = r'dexscreener\.com/solana/([1-9A-HJ-NP-Za-km-z]{32,44})'
# ... detection logic
4. Key Features
4.1 DexScreener Integration:
- Extracts base token addresses from DexScreener URLs
- Falls back to original address if API fails 4.2 Address Tracking:
- JSON-based storage system
- Prevents duplicate forwards
- Persistent across restarts 4.3 Asynchronous Operations:
- Non-blocking message handling
- Rate-limited forwarding
- Efficient multi-client management
5. Implementation Guide
- Environment Setup
DISCORD_USER_TOKEN=your_token
TELEGRAM_API_ID=your_api_id
TELEGRAM_API_HASH=your_api_hash
BOT_USERNAME=@your_bot
- Main Event Handler
@discord_client.event
async def on_message(message):
solana_addresses = detect_solana_token_address(message.content)
if solana_addresses:
for address in solana_addresses:
# Forward unique addresses
- Address Storage System
def save_address(address):
addresses = load_tracked_addresses()
addresses.append(address)
with open(TRACKED_ADDRESSES_FILE, 'w') as f:
json.dump(addresses, f)
6. Best Practices
6.1 Rate Limiting:
- 1-second delay between messages
- Prevents API throttling
- Maintains service stability 6.2 Error Handling:
- Graceful API failure handling
- Logging for debugging
- Fallback mechanisms 6.3 Data Management:
- JSON-based persistence
- Efficient address tracking
- Memory-conscious operations
7. Advanced Features
7.1 Regular Expression Patterns:
- Solana address validation
- DexScreener URL parsing
- Flexible pattern matching 7.2 API Integration:
- DexScreener data fetching
- Base token extraction
- Error resilient requests
Conclusion
This project demonstrates the power of automation in crypto monitoring. By combining Discord and Telegram's capabilities, we've created a robust system for tracking Solana token addresses across platforms.
Remember: A great bot isn't just about functionality – it's about reliability, efficiency, and maintainability. Keep your code clean, your error handling robust, and your logging informative.
Happy coding, and may your tokens always find their way! 🚀
This article maintains the engaging style of the analyzed piece while focusing on your specific implementation and its unique features.
Top comments (3)
Great work
Thanks for sharing.
👍