EddieTheCubeHead / Scrimbot-2.0

1 stars 0 forks source link

Rewrite scrim management to be completely free of state in memory #42

Open EddieTheCubeHead opened 2 years ago

EddieTheCubeHead commented 2 years ago

Use the Scrim dataclass to carry a scrim's state through it's lifetime and add a state field. Make a dict with channel_id: lock pairs for ensuring no race conditions while managing scrims. Remove scrimcontext completely in favor of normal context (or responseloggercontext for tests).

This is the most important refactor needed for the future of the bot and will enable:

Edit: massive scope creep, but due to circumstances, #41 should be done on this issue. Acceptance tests should be changed to use accord.py