🧪 Skills

OpenPet

Virtual pet (Tamagotchi-style) game for chat platforms. Triggers on pet commands like "feed pet", "pet status", "play with pet", "name pet", "pet sleep", "new pet". Supports multi-user across Discord,

v1.0.0
❤️ 0
⬇️ 1.6k
👁 1
Share

Description


name: openpet description: Virtual pet (Tamagotchi-style) game for chat platforms. Triggers on pet commands like "feed pet", "pet status", "play with pet", "name pet", "pet sleep", "new pet". Supports multi-user across Discord, WhatsApp, Telegram, etc. Each user gets their own pet that evolves based on care.

OpenPet

Virtual pet game. Each user gets one pet, tracked by {platform}_{userId}.

State

Pets stored in tamagotchi/pets/{platform}_{userId}.json:

{
  "name": "Blobby",
  "species": "blob",
  "hunger": 30,
  "happiness": 70,
  "energy": 50,
  "age": 5,
  "born": "2026-02-01T12:00:00Z",
  "lastUpdate": 1738442780000,
  "alive": true,
  "evolution": 1,
  "totalFeedings": 12,
  "totalPlays": 8,
  "ownerId": "202739061796896768",
  "platform": "discord",
  "ownerName": "mattzap"
}

Create tamagotchi/pets/ directory if missing.

Commands

Trigger Action
pet, pet status Show stats + ASCII art
feed pet hunger -30, happiness +5
play with pet happiness +25, energy -20
pet sleep energy +40, happiness +5
name pet [name] Set pet name
new pet Reset (only if dead or confirm)
pet help Show commands

New User Flow

  1. Any pet command from unknown user → create egg
  2. First interaction → hatch to blob
  3. Show welcome message + commands

Stats Display

    ╭──────────╮
    │ (◕‿◕)    │
    │   ♥      │
    │ "Name"   │
    ╰──────────╯
    
 ❤️ Happiness: ████████░░░░  70%
 🍖 Hunger:    ███░░░░░░░░░  30%
 ⚡ Energy:    █████░░░░░░░  50%

Use sprites from references/sprites.json. Mood = happy (≥70), neutral (40-69), sad (<40).

Evolution

Stage Requirement
egg → blob First interaction
blob → cat age ≥10, feedings ≥15, plays ≥10
cat → dragon age ≥30, feedings ≥50, plays ≥40

Check evolution after each interaction. Announce with fanfare.

Death

Pet dies if: hunger ≥ 100 OR happiness ≤ 0

BUT if immortalMode: true in config, pets don't die — they just get very sad and hungry. Stats cap at 99/1 instead of triggering death. Default is immortal mode ON.

Show memorial (if death enabled), offer new pet to restart.

Decay (Cron)

Set up cron job openpet-tick every 2 hours:

  • hunger +15, happiness -10, energy -5
  • Clamp all stats 0-100
  • Check death conditions
  • Alert owner if critical (hunger >80 or happiness <20)
  • Increment age daily

Platform Detection

Extract from message context:

  • Discord: discord_{userId}
  • WhatsApp: whatsapp_{phoneNumber}
  • Telegram: telegram_{chatId}
  • Signal: signal_{uuid}

Alerts

Send to user's origin platform when:

  • Pet is hungry (>80): "🍖 {name} is starving!"
  • Pet is sad (<20): "😢 {name} misses you!"
  • Pet died: "💀 {name} has passed away..."
  • Evolution: "✨ {name} evolved into a {species}!"

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs