refactor: align commands and interaction handler with project style

- Replace forwardToOwner embed approach with getComponentsForNaomi + Components V2
- Extract InteractionCreate handler to src/events/handleInteractionCreate.ts
- Replace deployGlobal.ts script with static commands.json payload
- Fix minor error handling in createTask and onboardMentee
This commit is contained in:
2026-03-03 11:44:20 -08:00
parent 1b40c529f9
commit 94247c2a68
7 changed files with 174 additions and 195 deletions
+60 -59
View File
@@ -1,86 +1,87 @@
[
{
"name": "onboard-mentee",
"description": "Onboard a new mentee to the nhcarrigan-mentorship GitHub org",
"options": [
{
"name": "mentee",
"description": "The mentee's Discord user",
"type": 6,
"required": true
},
{
"name": "mentee_name",
"description": "The mentee's full name",
"type": 3,
"required": true
},
{
"name": "github_username",
"description": "The mentee's GitHub username",
"type": 3,
"required": true
}
]
},
{
"name": "create-task",
"description": "Create an AI-augmented task on Leantime",
"options": [
{
"name": "title",
"description": "The task title",
"type": 3,
"required": true
},
{
"name": "description",
"description": "Additional context for the task (AI will expand this)",
"type": 3,
"required": false
},
{
"name": "priority",
"description": "Task priority level",
"type": 4,
"required": false,
"choices": [
{ "name": "Urgent", "value": 1 },
{ "name": "High", "value": 2 },
{ "name": "Medium", "value": 3 },
{ "name": "Low", "value": 4 }
]
}
]
},
{
"name": "create-issue",
"description": "Create an AI-augmented issue on a Gitea repository",
"type": 1,
"description": "Creates a Gitea issue with an AI-generated body.",
"options": [
{
"name": "owner",
"description": "The repository owner",
"description": "The owner of the repository.",
"type": 3,
"required": true
},
{
"name": "repo",
"description": "The repository name",
"description": "The name of the repository.",
"type": 3,
"required": true
},
{
"name": "title",
"description": "The issue title",
"description": "The issue title.",
"type": 3,
"required": true
},
{
"name": "description",
"description": "Additional context for the issue (AI will expand this)",
"description": "Optional additional context for the issue body.",
"type": 3,
"required": false
}
]
},
{
"name": "create-task",
"type": 1,
"description": "Creates a Leantime task with an AI-generated description.",
"options": [
{
"name": "title",
"description": "The task title.",
"type": 3,
"required": true
},
{
"name": "description",
"description": "Optional additional context for the task description.",
"type": 3,
"required": false
},
{
"name": "priority",
"description": "The task priority level (1-5, default 3).",
"type": 4,
"required": false
}
]
},
{
"name": "onboard-mentee",
"type": 1,
"description": "Onboards a new mentee by setting up their GitHub repository.",
"options": [
{
"name": "mentee_name",
"description": "The mentee's full name.",
"type": 3,
"required": true
},
{
"name": "github_username",
"description": "The mentee's GitHub username.",
"type": 3,
"required": true
},
{
"name": "mentee",
"description": "The mentee's Discord account.",
"type": 6,
"required": true
}
]
},
{
"name": "Forward to Naomi",
"type": 3
}
]