# contessa Recipe suggestion bot. Suggests random recipes by meal type, lists available dishes per category, and gives full step-by-step recipes on request. ## Dependencies No external libraries required. ## Commands All commands require channel context (`@plugin.require_chanmsg`). | Command | Description | |---------|-------------| | `!breakfast [list]` | Random breakfast suggestion, or list all breakfast dishes | | `!lunch [list]` | Random lunch suggestion, or list all lunch dishes | | `!dinner [list]` | Random dinner suggestion, or list all dinner dishes | | `!snack [list]` | Random snack suggestion, or list all snacks | | `!recipe ` | Full recipe: description, ingredients, steps (3 lines) | ### Admin (owner) | Command | Description | |---------|-------------| | `!join #channel` | Join a channel | | `!part [#channel]` | Leave a channel | | `!chans` | List channels | | `!help` | Show usage (PM) | ## Recipe data Recipes are loaded from a JSON file at startup. Format: ```json { "breakfast": [ { "name": "Dish Name", "description": "One-line description.", "ingredients": ["item 1", "item 2"], "steps": ["Step one.", "Step two.", "Step three."] } ], "lunch": [...], "dinner": [...], "snack": [...] } ``` The included `recipes.json` has 24 recipes per category (96 total), covering both Egyptian/Middle Eastern and Western/European dishes. `!recipe` matches by exact name first, then by substring across all categories. ## Config keys | Key | Default | Description | |-----|---------|-------------| | `[contessa] recipes_path` | `/var/contessa/recipes.json` | Path to recipes JSON file |