feat: rewrite as moderation bot #11

Merged
naomi merged 3 commits from feat/modbot into main 2026-03-24 20:35:26 -07:00
Owner

Summary

  • Replaces the old AI companion bot with a full Discord moderation system
  • Adds 8 slash commands: warn, mute, unmute, kick, softban, ban, unban, prune
  • Adds logging for member join/leave, activity (messages, threads, voice), and moderation actions
  • Audit log integration captures manual bans, kicks, timeouts, and unbans
  • All applicable actions post sanctions to the Hikari sanction API
  • All commands are ephemeral, use Components v2, and enforce permission + role hierarchy checks

Test plan

  • Run pnpm register to register all 8 commands to the guild
  • Verify each command appears in Discord and is only visible to members with the appropriate permissions
  • Test each command against a valid target and confirm mod log entry, DM notification, and sanction record
  • Test each command against an invalid target (equal/higher role, self, bot) and confirm correct error response
  • Perform a manual ban, kick, and timeout in the Discord UI and confirm audit log handler picks them up
  • Perform a manual unban and confirm it logs correctly without creating a sanction
  • Verify join/leave messages appear in the welcome log channel
  • Verify message edits, deletes, thread events, and voice state changes appear in the activity log channel

This issue was created with help from Hikari~ 🌸

## Summary - Replaces the old AI companion bot with a full Discord moderation system - Adds 8 slash commands: `warn`, `mute`, `unmute`, `kick`, `softban`, `ban`, `unban`, `prune` - Adds logging for member join/leave, activity (messages, threads, voice), and moderation actions - Audit log integration captures manual bans, kicks, timeouts, and unbans - All applicable actions post sanctions to the Hikari sanction API - All commands are ephemeral, use Components v2, and enforce permission + role hierarchy checks ## Test plan - [ ] Run `pnpm register` to register all 8 commands to the guild - [ ] Verify each command appears in Discord and is only visible to members with the appropriate permissions - [ ] Test each command against a valid target and confirm mod log entry, DM notification, and sanction record - [ ] Test each command against an invalid target (equal/higher role, self, bot) and confirm correct error response - [ ] Perform a manual ban, kick, and timeout in the Discord UI and confirm audit log handler picks them up - [ ] Perform a manual unban and confirm it logs correctly without creating a sanction - [ ] Verify join/leave messages appear in the welcome log channel - [ ] Verify message edits, deletes, thread events, and voice state changes appear in the activity log channel ✨ This issue was created with help from Hikari~ 🌸
hikari added 1 commit 2026-03-24 20:16:00 -07:00
feat: rewrite as moderation bot (Keiko)
Node.js CI / CI (pull_request) Failing after 15s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 54s
76e559876b
Replaces the old AI companion bot with a full Discord moderation system.

Commands: warn, mute, unmute, kick, softban, ban, unban, prune
Logging: member join/leave, activity (messages/threads/voice), mod actions
Audit log: captures manual bans, kicks, timeouts, and unbans
Sanctions: posts to Hikari sanction API for all applicable actions

All commands are ephemeral and use Components v2. Permission and role
hierarchy checks are enforced on every applicable command.
hikari added 1 commit 2026-03-24 20:20:30 -07:00
feat: pre-fetch guild members on boot
Node.js CI / CI (pull_request) Failing after 14s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 51s
679f46c967
hikari added 1 commit 2026-03-24 20:22:11 -07:00
chore: disable strictPeerDependencies
Node.js CI / CI (pull_request) Successful in 27s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 55s
b6e21f310b
naomi merged commit 1c31a49bc4 into main 2026-03-24 20:35:26 -07:00
naomi deleted branch feat/modbot 2026-03-24 20:35:26 -07:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nhcarrigan/keiko#11