aboutsummaryrefslogtreecommitdiffstats
path: root/docs/contessa.md
blob: b1d2e2729b4e0195f23f73d25d57f7cce5809720 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# 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 <name>` | 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 |