Skip to content

chris-cozy/kiby

Repository files navigation

Kiby v2.2.0

Kiby is a Discord virtual pet system where users adopt a Kiby, maintain core needs, and progress through competitive/social long-term loops. v2.2.0 introduces social system redesign (/playdate, /park), adventure danger-level UX updates, and expanded tutorial flow for social care.

Highlights

  • Guided onboarding tutorial:
    • auto-start on first adoption
    • replay/skip/status controls via /tutorial
    • funnel telemetry in PlayerProgress.onboarding
  • Timezone-based sleep scheduling with autocomplete timezone input
  • Automatic care decay and health simulation loops
  • Mixed leaderboard with real players and baseline competitors
  • Deterministic NPC simulation tiers (casual, active, competitive)
  • Health endpoint, graceful shutdown, and container-first deployment
  • Domain/service oriented architecture to support future Discord + web surfaces
  • Expanded care kit: /feed, /pet, /play, /cuddle, /train, /bathe
  • New social stat + mood-driven conversation and ambient Kiby behaviors
  • Player-local daily reset, streak shield, 3-slot quest board + bonus quest + reroll
  • Expanded item economy with consumables, toys, and adventure support items
  • Coin/item gifting with anti-abuse caps and fees
  • Async adventures with baseline duration options, checkpoint damage, and wounded-return failure flow
  • Adventure route expansion and risk loop updates:
    • no BP route start gates
    • Battle Power-dominant readiness
    • recommended route tiers: 0 / 90 / 180 / 300
    • new route: Obsidian Citadel
    • ETA variance windows and completion notifications
    • location visibility command (/adventure locations)
  • Dual event layer:
    • personal random world events
    • global campaign events with contribution rewards
  • Global event enhancements:
    • active-player goal scaling (24h activity window)
    • developer manual event trigger (/globalevent start)
    • scheduler-driven sporadic starts (eligibility + chance)
    • random event durations (24-72h) and random idle gaps (24-48h)
    • active-user start notifications (best-effort DM fanout)
  • Redesigned social loop:
    • /playdate send supports direct 1-on-1 playdates with any Kiby (players + NPCs)
    • player-owned targets keep opt-in + inbound anti-spam cooldown
    • non-NPC targets receive best-effort owner notification
    • /park send|status|leave adds asynchronous social care with duration scaling
  • Kiby language progression (v1):
    • tokenized Kiby flavor text
    • per-player translation unlock by exposure
    • /language command
  • Direct in-product feedback command (/feedback)
  • Leaderboard modes:
    • total
    • season (weekly/bi-weekly cadence)
    • players-only (developer-restricted)
  • Title unlock/equip system shown in leaderboard entries

Commands

Configuration

  • /adopt name:<name>: Adopt a Kiby
  • /revive: Revive your most recent fallen Kiby
  • /tutorial start|status|skip|replay
  • /sleep schedule set timezone:<IANA> start:<12 AM...11 PM> duration_hours:<1-9>
  • /sleep schedule view
  • /sleep schedule clear
  • /ambient view|set

Care

  • /feed: Increase hunger + XP
  • /pet: Increase affection + XP (allowed while asleep)
  • /play: Increase affection + XP
  • /cuddle: Increase affection + XP (allowed while asleep)
  • /train: Primary Battle Power growth action
  • /bathe

Economy And Progression

  • /shop list|buy: Purchase consumables
  • /inventory: View item inventory and Star Coin balance
  • /use: Consume an item to boost Kiby stats
  • /gift coins|item (recipient DM notification on successful transfer)

Social + Progression

  • /playdate send|settings
  • /park send|status|leave
  • /daily
  • /quests view|claim|reroll
  • /titles view|equip
  • /events view|claim
  • /adventure start|status|claim|locations
  • /language
  • /feedback category:<bug|balance|feature|ux|other> message:<text>

Information

  • /info: View your Kiby profile and rank
  • /cooldowns: View action cooldowns + current sleep state
  • /leaderboard: View mixed top leaderboard
  • /help: Command reference
  • /ping: Latency check

Developer

  • /system mode:<active_72h|all_installed> subject:<text> body:<text>
  • /globalevent start event:<event_key>

Behavior notes:

  • /events view now shows an idle state when no global event is active.
  • /events claim can return no-active-event when no campaign is currently running.
  • /playdate send can return receiver cooldown with remaining wait time.
  • /system mode:all_installed tries multiple candidate channels per server until one broadcast send succeeds.

Setup

Requirements

  • Node.js 20+
  • MongoDB 7+
  • Discord bot token and application

Install

npm install
cp .env.production.example .env

Set required values in .env:

  • TOKEN
  • MONGO_CONNECTION

Run

npm start

Dev

npm run dev
npm run lint
npm run test
npm run seed:npcs:reset

Deployment

Docker

docker build -t kiby:2.2.0 .
docker run --env-file .env -p 8080:8080 kiby:2.2.0

Docker Compose

docker compose up --build

Health check endpoint:

  • GET /health on HEALTH_PORT

Legal policy files:

  • docs/legal/README.md (index/current links)
  • docs/legal/terms/ (versioned Terms of Service)
  • docs/legal/privacy/ (versioned Privacy Policy)

Configuration

Use .env.production.example for all supported variables, including:

  • Runtime/logging
  • Care simulation intervals
  • Default sleep schedule
  • NPC population and tick cadence
  • Battle Power and adventure tuning
  • Global event scaling constants
  • Kiby language progression tuning

Architecture + Docs

  • docs/architecture.md
  • docs/gameplay.md
  • docs/deployment.md
  • docs/policy.md
  • docs/commands.md
  • docs/testing.md
  • docs/roadmap-completion.md

Notes

  • src/media is intentionally gitignored and required at runtime for embed assets.
  • This release is treated as a fresh production launch; no live migration path is assumed.
  • Global campaign events are intentionally sporadic (non-daily deterministic cadence).

About

This is a kirby pet discord bot. It functions as a digital tomagatchi, which users will have to take care of to maintain its life.

Topics

Resources

Stars

Watchers

Forks

Contributors