first commit

This commit is contained in:
2026-02-12 22:11:52 -06:00
commit 25d05e0e86
37 changed files with 4492 additions and 0 deletions

63
bot/commands/example.py Normal file
View File

@@ -0,0 +1,63 @@
"""
Example command module - Copy this pattern for your domain.
This module demonstrates:
1. Registering a handler with the command registry
2. Using the AI parser with custom prompts
3. Making API calls
"""
from bot.command_registry import register_module
import ai.parser as ai_parser
async def handle_example(message, session, parsed):
"""
Handler for 'example' interaction type.
Args:
message: Discord message object
session: {token, user_uuid, username}
parsed: Parsed JSON from AI parser
"""
action = parsed.get("action", "unknown")
token = session["token"]
user_uuid = session["user_uuid"]
if action == "check":
await message.channel.send(
f"Checking example items for {session['username']}..."
)
elif action == "add":
item_name = parsed.get("item_name", "unnamed")
await message.channel.send(f"Adding example item: **{item_name}**")
else:
await message.channel.send(f"Unknown example action: {action}")
def validate_example_json(data):
"""Validate parsed JSON for example commands. Return list of errors."""
errors = []
if not isinstance(data, dict):
return ["Response must be a JSON object"]
if "error" in data:
return []
if "action" not in data:
errors.append("Missing required field: action")
action = data.get("action")
if action == "add" and "item_name" not in data:
errors.append("Missing required field for add: item_name")
return errors
# Register the module
register_module("example", handle_example)
# Register the validator
ai_parser.register_validator("example", validate_example_json)