塔玛agotchi 风格的虚拟宠物游戏,支持 Telegram 小程序,具备社交拜访、友谊、约会玩伴与死亡机制。当用户发送 /pet 或 virtual pet 时,回复...
Cross-platform skill — same files work in both ~/.openclaw/workspace/skills/pet/ and ~/.hermes/skills/games/pet/. Both runtimes parse the agentskills.io frontmatter; OpenClaw uses the openclaw.requires block, Hermes uses metadata.hermes.
User types /pet in Telegram. Agent yanıt olarak şu plain-text'i yollar (inline_keyboard'a ihtiyaç YOK — Telegram client t.me/<bot>/<app> URL'ini otomatik "Open" butonuna çevirir):
text
🐣 OpenClaw Pet seni bekliyor!
https://t.me/OpenClawTamagotchi_bot/pet
🥚 Yumurtaya dokun, hayvanını keşfet → 🐧🐱🐕🐠🐥
Visit (başkasının pet'ini gör): https://t.me/OpenClawTamagotchi_bot/pet?startapp=pet_<userId>
Memorial (ölmüş pet anıtı): https://t.me/OpenClawTamagotchi_bot/pet?startapp=memorial_<userId>
/card/<userId>.png — 1080×1350 paylaşım kartı)BotFather'da Mini App kaydet: text
/newapp → @OpenClawTamagotchi_bot
Title: OpenClaw Pet
Short name: pet
URL: https://romantic-workforce-stranger-journey.trycloudflare.com
Server + tunnel: bash
pip3 install pillow # pet card PNG için
python3 server.py & # localhost:8080
cloudflared tunnel --url http://localhost:8080
(Opsiyonel) Named tunnel (URL kalıcı, viral patlama için kritik): bash
cloudflared tunnel create openclaw-pet
cloudflared tunnel route dns openclaw-pet pet.<your-domain>
cloudflared tunnel run openclaw-pet
bash
./install.sh # her iki runtime'a kurar (varsa)
Veya manuel:
~/.openclaw/workspace/skills/pet/ (zaten burada)~/.hermes/skills/games/pet/ (symlink veya kopya)EndpointMethodAçıklama/GETMini App HTML/card/<userId>.pngGETPaylaşım kartı PNG (Pillow)/api/petPOSTAction dispatcher
POST actions: create, feed, play, sleep, visit, befriend, playdate, friends, memorial, revive.
Storage: users/{userId}.json (alive), memorial/{userId}.json (dead).
lastFed'den 3 gün → sad, 7 gün → dead. Decay her load'da apply_decay() ile uygulanıyor.initData HMAC validation TODO — production öncesi BOT_TOKEN ile imza doğrulaması ekle.