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).

CommandDescription
!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)

CommandDescription
!join #channelJoin a channel
!part [#channel]Leave a channel
!chansList channels
!helpShow usage (PM)

Recipe data

Recipes are loaded from a JSON file at startup. Format:

{
  "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

KeyDefaultDescription
[contessa] recipes_path/var/contessa/recipes.jsonPath to recipes JSON file