Commit Graph

15 Commits

Author SHA1 Message Date
hikari 01d6da8a33 fix: disable mention pings in log messages
Node.js CI / CI (push) Successful in 28s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m51s
Add allowedMentions: { parse: [] } to all three log message builders
(activityMessage, modLogMessage, memberMessage) to prevent automated
log entries from accidentally pinging users.

Closes #12
2026-03-25 08:32:43 -07:00
hikari 1c31a49bc4 feat: rewrite as moderation bot (#11)
Node.js CI / CI (push) Successful in 29s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 55s
## 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~ 🌸

Reviewed-on: #11
Co-authored-by: Hikari <hikari@nhcarrigan.com>
Co-committed-by: Hikari <hikari@nhcarrigan.com>
2026-03-24 20:35:26 -07:00
naomi 76fe838987 chore: 2000 character chunks
Node.js CI / Lint and Test (push) Successful in 41s
2025-10-10 18:00:25 -07:00
naomi bfc52fbe85 feat: okay i hate the multiple messages, lets chunk instead
Node.js CI / Lint and Test (push) Successful in 36s
2025-10-10 17:58:21 -07:00
naomi 4300cf0d3f feat: add web search, stagger responses
Node.js CI / Lint and Test (push) Successful in 39s
2025-10-10 17:53:36 -07:00
naomi 94a4d7e043 fix: i figured out the thread issue
Node.js CI / Lint and Test (push) Successful in 39s
2025-10-09 16:23:27 -07:00
naomi 918c2982ac fix: okay i do not think the owner check is correct
Node.js CI / Lint and Test (push) Successful in 41s
2025-10-09 15:08:10 -07:00
naomi 2de490a3d7 fix: cost indentation
Node.js CI / Lint and Test (push) Successful in 39s
2025-10-09 15:06:52 -07:00
naomi 8eb0c19709 fix: guild intents
Node.js CI / Lint and Test (push) Successful in 39s
2025-10-09 15:05:56 -07:00
naomi 595c68deb6 fix: guild message intent
Node.js CI / Lint and Test (push) Successful in 39s
2025-10-09 15:03:34 -07:00
naomi ffb07f041d fix: missed a couple things guess was not quite done
Node.js CI / Lint and Test (push) Successful in 39s
2025-10-09 15:02:23 -07:00
naomi f20823f567 fix: couple of last copy-paste errors
Node.js CI / Lint and Test (push) Successful in 38s
2025-10-09 14:58:29 -07:00
naomi b384522ae1 feat: analytics
Node.js CI / Lint and Test (push) Successful in 40s
2025-10-09 14:57:26 -07:00
naomi eb554922b3 fix: server stuff
Node.js CI / Lint and Test (push) Successful in 39s
2025-10-09 14:25:16 -07:00
naomi 68f7eabe2c feat: initial prototype
Code Analysis / SonarQube (push) Failing after 19s
Node.js CI / Lint and Test (push) Has been cancelled
2025-10-09 11:28:47 -07:00