-
Notifications
You must be signed in to change notification settings - Fork 0
legacy feature gap report
buildsbypat edited this page May 24, 2026
·
2 revisions
This report compares:
- Old bot:
/Users/patfaint/Documents/rob-the-bot-legacy - Current v2:
PlainStack2/rob-dev
Inspection used direct source reads from old files (not only historical docs), including:
bot/event_cog.pybot/throne_tracker.pybot/webhook_server.pybot/event_views.pybot/ui/components.py
| Feature | Old Rob behaviour | v2 status | Should port? | Priority | Notes |
|---|---|---|---|---|---|
| Registration |
/register modal flow for domme/sub in bot/event_cog.py with role/gating logic. |
Complete | Yes (already) | P0 | v2 split commands /register domme and /register sub, with runtime DB role checks and Components V2 cards. |
| Throne webhook tracking | Signed webhook ingestion + dedupe + insert + leaderboard sync in bot/webhook_server.py and bot/throne_tracker.py. |
Complete | Yes (already) | P0 | v2 webhook server + queue pipeline is in place; no runtime SQLite. |
| Throne page polling / wishlist scraping | Old bot polled Throne pages and wishlist snapshots (poll_throne_pages, sync_wishlist_snapshots) in bot/throne_tracker.py. |
Intentionally not ported | No | N/A | Current direction is webhook-first pricing and send payloads, not scraping. |
| Public send notifications | Old SendNotificationView in bot/event_views.py included rank/id/footer details. |
Complete | Yes (already) | P0 | v2 intentionally keeps public cards cleaner (no public ID/rank/footer internals). |
| Leaderboards | Old bot maintained two channel cards (event:domme_totals, event:sub_leaderboard) via sync_leaderboard_channel in bot/event_cog.py. |
Partial | Needs decision | P1 | v2 uses one main leaderboard + stats card (plus personal /leaderboard stats). This is a design shift, not a bug. |
| Counting | Old count restore/failure state machine in bot/event_cog.py (_handle_count_failure, process_count_restore_from_send). |
Partial | Yes | P0 | v2 now has rescue windows, countdown updates, and send-based restore; non-sub edge-case parity should continue to be validated against old behavior. |
| Send requests | Old SendRequestDecisionView in bot/event_cog.py with DM approve/ignore buttons. |
Partial | Yes | P0 | v2 has role restriction, DM review, accept/deny, reason modal, and pipeline insert; continue hardening duplicate-click and DM failure scenarios. |
| Manual sends | Old /add in bot/event_cog.py logged manual sends through tracker pipeline. |
Complete | Yes (already) | P0 | v2 /add uses normal send pipeline and queue posting. |
| Maintenance | Old maintenance toggle endpoints in bot/webhook_server.py (/admin/maintenance) and event refresh logic. |
Complete | Yes (already) | P0 | v2 has DB-backed maintenance state, queue release, and leaderboard status wiring. |
robctl / admin command breadth |
Old bot offered larger admin command surface (!throne status/list/search/addsend/addsub/adddomme, admin HTTP endpoints). |
Partial | Yes | P1 | v2 robctl now has friendly help and key leaderboard/sends/count paths; some throne commands remain planned placeholders. |
| Rules helper | Old prefix !rule topics in bot/event_cog.py (_RULE_RESPONSES, rule command). |
Missing | Needs decision | P2 | Not currently present in v2; easy to port as slash or prefix helper if wanted. |
| Reports (Rob issue reporting) | Old bot had event final-report posting, but no user-facing Rob issue /report command. |
Complete | Yes (already) | P1 | v2 now includes /report modal + acknowledgement + configured destination routing. |
| DM audit forwarding | Old DM audit relay in bot/event_cog.py (_forward_dm_for_audit). |
Missing | Needs decision | P3 | Sensitive/privacy-impacting; should be opt-in with clear policy before port. |
| Carl-bot warn relay | Old warn-log listener + courtesy DM in bot/event_cog.py (_process_carlbot_warn_message). |
Missing | Needs decision | P2 | Potentially useful moderation helper; requires channel/user configuration and safe parsing. |
| Blacklist operations | Old rob-blacklist, rob-unblacklist, throne-blacklist in bot/event_cog.py. |
Partial | Yes | P1 | v2 has blacklist repository and global interaction guard, but no equivalent admin command set yet. |
| Inactivity removal | Old inactivity loop and removal scheduling in bot/event_cog.py (inactivity_loop, _process_inactive_members). |
Missing | Needs decision | P2 | High-risk moderation behavior; should be dry-run + explicit policy review before porting. |
| Moderation helpers (verification/event-era extras) | Old verification/reaction-role/staff-review flows in bot/views.py and bot/ui/cards.py. |
Partial | Needs decision | P3 | Some helpers are outside current v2 scope and may belong in separate moderation tooling. |
| Event runtime / event windows / final event reports | Old event lifecycle + final report system in bot/event_cog.py and bot/event_config.py. |
Intentionally not ported | No | N/A | v2 direction explicitly avoids reintroducing legacy event-window runtime unless requested later. |
| UI/card system | Old code used mixed LayoutView/container helpers in bot/ui/components.py and bot/event_views.py. |
Complete | Yes (already) | P0 | v2 is Components V2-first, separator-based, purple-accent themed, and avoids classic embeds for new cards. |
- Core runtime parity now strong for webhook sends, queue posting, maintenance state, leaderboard refresh, and registration gating.
-
Biggest remaining optional ports from old Rob are moderation-side utilities (
!rule, warn relay, DM audit, inactivity automation, richer blacklist admin commands). - Intentionally excluded legacy systems remain excluded by design: event-window runtime/final reports, runtime SQLite coupling, and Throne page scraping as a primary pricing source.