Root cause: _init() was blocking on wait_until_ready() for up to 30 seconds, causing Red's package load to timeout. Red then reports 'Failed to load package wormhole (timeout)' but the cog is actually partially loaded, causing 'already loaded' errors on retry. Timeline: 1. [p]load wormhole starts 2. setup() calls bot.add_cog(cog) ✓ 3. setup() calls await cog._init() 4. _init() blocks on wait_until_ready() for 30s 5. Red's load timeout (30s) triggers 6. Red reports 'timeout' but cog is registered 7. [p]load wormhole again → 'already loaded' error Solution: Remove wait_until_ready() from _init() since: - Bot is already ready when cogs load on startup - Background loops have their own wait_until_ready() calls - _init() shouldn't block setup() Background loops still wait_until_ready() independently (correct behavior). Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| commands | ||
| listeners | ||
| models | ||
| services | ||
| ui | ||
| __init__.py | ||
| ARCHITECTURE.md | ||
| core.py | ||
| info.json | ||
| MODULE_MAP.md | ||
| utils.py | ||