feat(bots): anonConfess + shitpostLeaderboard built-in bots

- ConfessBot: polls for /confess messages, deletes original, reposts anonymous
- LeaderboardBot: daily top-10 message count recap from DB
- BotFunc extended with *sql.DB param for DB-reading bots
- Both types registered in runner + BotManager UI
This commit is contained in:
2026-07-15 19:46:09 -04:00
parent 49ea7c4e3b
commit f6322fb779
6 changed files with 183 additions and 4 deletions
+12
View File
@@ -13,6 +13,18 @@ const BOT_TYPE_CONFIGS: Record<string, { label: string; fields: { key: string; l
{ key: 'poll_minutes', label: 'POLL INTERVAL (min)', type: 'number', placeholder: '30' },
],
},
confess: {
label: 'Anonymous Confessions',
fields: [
{ key: 'channel_id', label: 'CONFESSIONS CHANNEL', type: 'channel', placeholder: 'where confessions land' },
],
},
leaderboard: {
label: 'Shitpost Leaderboard',
fields: [
{ key: 'channel_id', label: 'CHANNEL', type: 'channel', placeholder: 'where recaps land' },
],
},
};
export function BotManager() {