Reading — step 1 of 5
Read
~2 min readProduction
Production Bot
Real-world considerations:
Modern frameworks:
- discord.py: Python, async. Industry standard for Discord.
- discord.js: JS. Active development.
- Bolt (Slack): TypeScript / Python / Java. Modern Slack.
- aiogram, python-telegram-bot: Telegram.
- Botpress: visual builder + multi-platform.
Multi-platform bots:
- Same logic, different platforms.
- Abstract platform-specific via adapter pattern.
- Frameworks: Hummingbot, Botkit.
LLM integration:
- Bot powered by GPT/Claude.
- Conversation context per user.
- Tool use: bot looks up info, computes, then replies.
- Modern Discord/Telegram bots increasingly LLM-powered.
python
Common bot types:
- Moderation: filter spam, auto-timeout.
- Welcome: greet new members.
- Music: play music in voice (Discord).
- Game: trivia, polls, RPG.
- Notification: GitHub PRs, RSS, alerts.
- Customer support: route tickets.
Anti-spam:
- Detect repeated messages.
- Rate limit per user.
- AutoMod features (Discord built-in).
- Captcha for new joiners.
Compliance:
- ToS of platform (don't scrape, don't spam).
- GDPR for EU users.
- COPPA if minors.
- DMCA for copyright (music bots).
Common bugs:
- Forgot to handle edits / deletes.
- Race conditions in state updates.
- Memory leaks (handlers retain refs).
- Token leaked to git.
Scaling:
- Discord: 2500 servers per bot before sharding.
- Database: Postgres handles most loads.
- Redis cache for hot data.
- Message queue for background work (RabbitMQ, Redis pub/sub).
Cost-optimized:
- Free tier hosting (Railway, Fly.io).
- SQLite for state (no separate DB host).
- Webhook over polling (less compute).
For shipping a bot: use a mature framework (discord.py, Bolt). Don't roll your own from raw HTTP for production.
For learning: build the framework yourself once. Understand event loops, dispatching, rate limits, state. Then use discord.py forever after.
Discussion
Ask a question, share an insight, or help someone who’s stuck.
Sign in to post a comment or reply.
Loading…