Tool · Games & interaction
Persistent Discord RPG
Build Discord campaigns and character-creation conversations that can resume after a bot restart.
Repository: CinvanaAI/persistent-discord-rpg
Recorded synthetic example. Source with a complete offline example.
See the idea in action.
A reopened SQLite store recovers the campaign and the exact pending DM step. `--check` verifies bot startup wiring without reading a token or contacting Discord.
A synthetic campaign, invited player, accepted membership and character-name step.
{
"mode": "Synthetic IDs; actual SQLite storage",
"campaign": "Lantern Workshop",
"player_membership": "accepted",
"resumed_state": "charcreate_character_name",
"resumed_campaign": "Lantern Workshop",
"pending_payload": {
"campaign_id": 1,
"campaign_name": "Lantern Workshop"
},
"discord_calls": 0
}Try the example.
From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.
python -m pip install -e . python -m examples.offline_demo python bot.py --check
A reopened SQLite store recovers the campaign and the exact pending DM step. `--check` verifies bot startup wiring without reading a token or contacting Discord.
Complete setup and instructions ↗The interesting part.
Durable conversation state makes long-running bot workflows recoverable without keeping wait_for tasks alive.
Where it came from.
Historical Phoenix 2 Discord RPG application.
February 2026 — Its character subsystem is documented for this month; the full project start date is not established. Source ↗
Preserves the campaign and character application while replacing credentials, closing storage connections and implementing a bounded dice resolver.
The full parent remains available independently of its focused rules and state extractions.
Follow the family: Persistent Discord RPG and its reusable mechanisms
- Focused extractionPersistent Interaction State
Inspect or reuse this boundary without navigating the whole application. The extract contains new neutral interfaces and hardening; the original integrated application remains represented.
Source ↗ - Focused extractionRPG Character Rules
Inspect or reuse this boundary without navigating the whole application. The extract contains new neutral interfaces and hardening; the original integrated application remains represented.
Source ↗