feat: new slash commands and bug fixes (#23)
Node.js CI / CI (push) Successful in 29s
Security Scan and Upload / Security & DefectDojo Upload (push) Failing after 11m44s

## Summary

- **feat**: Add `/remind` owner-only command — sends a meeting waiting room notification to a specified user in `#general`
- **fix**: Prevent duplicate DM notifications when a message matches both `respondToMention` and `notifyNameMention` patterns
- **feat**: Port `/alt-text` and `/query` commands from Cordelia — owner-only, AI-powered, using Amari's personality
- **feat**: Add `/research` command — owner-only, web-search-backed query returning results as a markdown file attachment
- **fix**: Suppress non-critical RetroAchievements fetch errors (job retries every 10 minutes)

Closes #19, #20, #21, #22
Also resolves #2 (unhandled HTTP rejections from RA API)

Reviewed-on: #23
Co-authored-by: Hikari <hikari@nhcarrigan.com>
Co-committed-by: Hikari <hikari@nhcarrigan.com>
This commit was merged in pull request #23.
This commit is contained in:
2026-03-12 23:47:46 -07:00
committed by Naomi Carrigan
parent 8f2cd94c82
commit a36d706eed
9 changed files with 502 additions and 11 deletions
+54
View File
@@ -1,4 +1,17 @@
[
{
"name": "alt-text",
"type": 1,
"description": "Generate descriptive alt-text for an image.",
"options": [
{
"name": "image",
"description": "The image to generate alt-text for.",
"type": 11,
"required": true
}
]
},
{
"name": "create-ticket",
"type": 1,
@@ -61,6 +74,47 @@
}
]
},
{
"name": "remind",
"type": 1,
"description": "Sends a meeting reminder notification to the specified user.",
"options": [
{
"name": "user",
"description": "The user to send the meeting reminder to.",
"type": 6,
"required": true
}
]
},
{
"name": "research",
"type": 1,
"description": "Research a topic using web search.",
"options": [
{
"name": "prompt",
"description": "The topic or question to research.",
"type": 3,
"required": true,
"max_length": 2000
}
]
},
{
"name": "query",
"type": 1,
"description": "Ask Amari a question.",
"options": [
{
"name": "prompt",
"description": "The question you would like to ask.",
"type": 3,
"required": true,
"max_length": 2000
}
]
},
{
"name": "Forward to Naomi",
"type": 3