Reading — step 1 of 5
Read
~2 min readState & Storage
State & Storage
Bots often need persistent state:
- User preferences.
- Game progress.
- Karma counts.
- Custom commands.
- Scheduled tasks.
Options:
In-memory:
- dict, list.
- Lost on restart.
- Fine for development.
Local file (JSON, SQLite):
- Simple. Survives restart.
- Single instance only.
- Good for small bots.
Database (Postgres, MongoDB, Redis):
- Multiple instances supported.
- Robust persistence.
- Standard for production.
python
Conversation state:
- Multi-step flows: bot asks → user replies → bot asks more.
- State machine per user.
- Track current step + context.
python
Modern: state machines (Telegram Bot frameworks do this), or LLM-based context management.
Caching:
- API calls expensive (rate limited).
- Cache user info, channel info.
- TTL: ~5 minutes typical.
python
Background tasks:
- Scheduled: every X minutes (cron-like).
- Examples: clean stale data, post weekly stats.
python
Run as separate task in event loop.
Distributed bots:
- Multiple bot instances for HA.
- Shared state: database.
- Coordination: lock primitives, leader election.
- Most bots run single instance; sharding only for huge.
Discussion
Ask a question, share an insight, or help someone who’s stuck.
Sign in to post a comment or reply.
Loading…