From b329951719059e3464deb02ad49020ca9c2bd254 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 15 Apr 2026 11:14:51 +0000 Subject: [PATCH] =?UTF-8?q?REQ:=20add=20Carl-bot=20migration=20scope=20?= =?UTF-8?q?=E2=80=94=20welcome=20DM,=20Wanderer=20role,=20link=20reminder?= =?UTF-8?q?=20DM?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../requests/REQ-2026-04-15-reaction-roles.md | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/docs/code-bridge/requests/REQ-2026-04-15-reaction-roles.md b/docs/code-bridge/requests/REQ-2026-04-15-reaction-roles.md index efb3b12..7cf2656 100644 --- a/docs/code-bridge/requests/REQ-2026-04-15-reaction-roles.md +++ b/docs/code-bridge/requests/REQ-2026-04-15-reaction-roles.md @@ -74,3 +74,46 @@ Add reaction role handling to Arbiter. The `#get-roles` channel has been rebuilt - Log adds/removes to console for debugging - Deploy pattern: backup → clone to /tmp → copy to /opt/arbiter-3.0 → restart arbiter-3 + +--- + +## Additional Scope — Carl-bot Migration + +Take over these two Carl-bot behaviors so Carl-bot can be removed. + +### 4. MODIFY `src/discord/events.js` +Register `guildMemberAdd` event: +- Assign Wanderer role (`1487267974367805545`) to new member +- Send welcome DM: + +``` +Hey {username}! Welcome to Firefrost Gaming! +You just landed as a Wanderer — the door is open, come explore! + +Quick links: +• Check out #rules first +• Say hi in #introductions +• Head to #get-roles to pick your path and grab your server channels + +Questions? We're here. Welcome to the family! +``` + +- Silent-fail if DMs are closed + +### 5. MODIFY `src/services/discordRoleSync.js` (or stripe.js) +When a subscriber reaches Awakened tier or above (i.e. after successful Stripe checkout assigns their role), send them a DM: + +``` +Hey {username}! You're now part of the Firefrost family! 🎉 + +One quick step — head to #link-your-account and use the /link command to connect your Minecraft account so we can whitelist you on our servers. + +See you in-game! +``` + +- This should fire from the Stripe checkout flow after role assignment +- Silent-fail if DMs are closed + +### Notes +- `GuildMembers` intent is already enabled — `guildMemberAdd` will work +- Check where luckpermsSync fires post-checkout — link reminder DM should fire at the same point