Yukiko — personaje neko kawaii
🐱 Open Source · 100% Gratuito

Yukiko
Bot

Tu compañera neko kawaii multiplataforma.
Discord, Telegram y WhatsApp — un solo bot, todo gratis.

Todo lo que Yukiko sabe hacer

Cada módulo está disponible en las tres plataformas. Sin diferencias, sin limitaciones según la plataforma.

🎭

Roleplay

Abrazos, besos, palmaditas y más de 10 acciones con GIFs animados via Tenor. Contadores de quién da y recibe más.

hug kiss pat slap dance +8 más
💰

Economía

Sistema de monedas con recompensas diarias, transferencias, tienda de ítems, mascotas, matrimonios y clasificaciones.

balance daily transfer shop pet top
🤖

Inteligencia Artificial

Chat con GPT-4o con personalidad kawaii, generación de imágenes con DALL-E 3, roleplay IA y traducción instantánea.

ask imagine rp translate
🔨

Moderación

Advertencias, baneos, limpieza de mensajes, cambio de prefijo por grupo y estadísticas de uso de comandos.

warn ban clear prefix stats
🔞

Contenido +18

Sistema de verificación por capas: solo en grupos, activado por admin y cada usuario confirma edad en privado. Fuentes: Danbooru + RedGifs.

hentai redgifs verify18 adult on/off
🎵

Música

Reproducción via Lavalink con soporte de YouTube y Spotify (metadatos). Cola, pausa, saltar, volumen — en Discord.

play queue skip volume

Referencia de comandos

Prefijo por defecto: / — configurable por grupo con /prefix

/hug @usuario
alias: abrazo
Abraza a alguien con un GIF kawaii. Lleva la cuenta de abrazos dados y recibidos.
⏱ 3s
/kiss @usuario
alias: beso
Besa a alguien con un GIF animado de anime.
⏱ 3s
/pat @usuario
alias: caricia, palmadita
Acaricia la cabeza a alguien. OwO
⏱ 3s
/slap @usuario
alias: golpear
Dale una bofetada a alguien. Con cariño (o no).
⏱ 3s
/dance
alias: bailar
Yukiko baila para ti con un GIF anime.
/balance
alias: bal, coins, dinero
Muestra tu saldo, nivel, XP y rango actual en el servidor.
/daily
alias: diario
Recoge tu recompensa diaria de monedas. Cadencia de 24 horas.
⏱ 24h
/transfer @usuario cantidad
alias: enviar, pagar
Transfiere monedas a otro usuario del grupo.
/top
alias: ranking, leaderboard
Muestra el top 10 de usuarios con más monedas del servidor.
/shop
alias: tienda
Abre la tienda para comprar ítems, roles y objetos especiales.
/ask <pregunta>
alias: pregunta, ia, ai, gpt
Pregúntale cualquier cosa a Yukiko IA (GPT-4o). Responde en español con personalidad kawaii.
⏱ 5s
/imagine <descripción>
alias: generar, dream, draw
Genera una imagen anime con DALL-E 3 a partir de tu descripción.
⏱ 30s
/rp <acción o diálogo>
alias: roleplay-ai, rpai
Roleplay con Yukiko IA como personaje neko. Responde en primera persona.
⏱ 10s
/translate <idioma> <texto>
alias: traducir, tr
Traduce texto a cualquier idioma. Ej: /translate inglés Hola mundo
⏱ 5s
/warn @usuario <razón>
alias: advertir
Emite una advertencia a un usuario del grupo. Requiere ser admin.
🛡 Admin👥 Grupo
/ban @usuario <razón>
alias: banear
Banea a un usuario del bot en el grupo actual. Admin del bot.
🛡 Admin
/clear <número>
alias: purge, limpiar
Elimina los últimos N mensajes del chat. Solo Discord.
🛡 Admin
/prefix <nuevo>
Cambia el prefijo del bot en este grupo (por defecto /).
🛡 Admin👥 Grupo
/adult on|off
Activa/desactiva el módulo +18 en el grupo. Solo admins del grupo.
🔞 +18🛡 Admin👥 Grupo
/verify18
alias: verify
Solicita acceso al contenido +18. El admin del bot aprueba/rechaza.
🔞 +18
/hentai <tags>
alias: h, lewd
Imagen aleatoria de Danbooru por tags. Requiere verificación de edad y grupo activado.
🔞 Verificado👥 Grupo
/redgifs <búsqueda>
alias: rgif
GIF +18 de RedGifs. Requiere verificación de edad y grupo activado.
🔞 Verificado👥 Grupo
/help
alias: ayuda, comandos
Muestra todos los comandos disponibles en la plataforma actual.
/stats
alias: estadísticas
Estadísticas de uso del bot: comandos ejecutados, usuarios activos, uptime.
/ping
Verifica que el bot está online y muestra la latencia.

Tres plataformas, un bot

Yukiko funciona de forma nativa en las tres plataformas con la misma experiencia.

💜

Discord

Integración completa con slash commands, embeds ricos, música con Lavalink y moderación avanzada.

  • Slash commands nativos (/)
  • Embeds con imágenes y botones
  • Módulo de música completo
  • Roles y permisos nativos
  • Guild commands para testing
🔵

Telegram

Bot nativo via Grammy con soporte de grupos e inline queries. Comandos registrados en BotFather.

  • Comandos registrados en BotFather
  • Soporte de grupos y supergrupos
  • Privacidad configurable (DISABLE)
  • Respuestas con GIFs e imágenes
  • Sin token de pago requerido
💚

WhatsApp

Via Baileys (protocolo WhatsApp Web). Autenticación por QR, sin API oficial necesaria.

  • Auth por QR code (como WA Web)
  • Sesión persistente en disco
  • Prefijo personalizable por grupo
  • Soporte de stickers y media
  • Uso personal/privado

Puesta en marcha

Desde cero hasta funcionando. Usa los scripts de instalación automática para las dependencias.

01

Clonar el repositorio

Clona el repo y entra en el directorio.

# Clonar
git clone git@github.com:joseangelalejo/yukiko.git
cd yukiko
02

Instalar dependencias del sistema

Usa el script automático según tu SO. También disponible para Windows.

# Arch Linux (usa pacman)
bash scripts/install-arch.sh

# Windows (PowerShell como Admin)
Set-ExecutionPolicy Bypass -Scope Process
.\scripts\install-windows.ps1

# Windows (alternativa con Python)
python scripts/install-windows.py
03

Configurar variables de entorno

Copia el ejemplo y rellena tus tokens. Todo lo gratuito viene marcado.

cp .env.example .env
# Edita .env con tu editor favorito
nano .env   # o: code .env
04

Base de datos — Neon PostgreSQL (gratuito)

Crea un proyecto en neon.tech, copia la connection string y aplica las migraciones.

# Instalar dependencias Node
npm install

# Aplicar migraciones (Drizzle ORM)
npx drizzle-kit push

# Ver tablas en el navegador
bash scripts/db-studio.sh
05

Tokens de bots

Discord en developer.discord.com · Telegram con @BotFather · WhatsApp usa QR (sin token).

# Ver guía completa de configuración de cada plataforma:
cat docs/PLATFORM_SETUP.md
06

Arrancar en desarrollo

Levanta todos los bots y la web de administración a la vez.

# Todo junto
npm run dev

# O por separado
npm run dev:discord
npm run dev:telegram
npm run dev:whatsapp
npm run dev:web    # → http://localhost:3000
07

Producción — Homelab / VPS

Para 24/7 usa PM2 en tu servidor. El CI/CD de GitHub Actions lo automatiza.

# En tu servidor (Ubuntu homelab / VPS)
npm install -g pm2 tsx
pm2 start ecosystem.config.cjs
pm2 save && pm2 startup

# La web va a Vercel (gratuito):
cd web && npx vercel --prod

100% gratuito en producción

Cada servicio tiene plan gratuito generoso. Lo que no lo tiene lo levantamos en el homelab Proxmox.

🐘

Neon PostgreSQL

Base de datos serverless. 0.5 GB gratis, conexión nativa con Vercel.

GRATIS

Vercel

Hosting de la web Next.js. CI/CD automático desde GitHub.

GRATIS
🔴

Redis

Cache y rate limiting. Self-hosted en homelab con Docker.

HOMELAB
🎭

Tenor API

GIFs para roleplay (hugs, kisses, etc). API Key gratuita via Google Cloud.

GRATIS
📈

Grafana + Prometheus

Monitorización y dashboards. Self-hosted en homelab Proxmox.

HOMELAB
🤖

OpenAI (opcional)

GPT-4o + DALL-E 3. De pago pero <$1/mes con uso moderado.

OPCIONAL $
🐳

Docker + Compose

Contenedores para bots, Redis, Lavalink, Grafana, Prometheus.

GRATIS
🎵

Lavalink

Servidor de audio para música Discord. Self-hosted, open source.

HOMELAB
🖥️

Homelab Proxmox VE

32 GB DDR4. Bots 24/7 via PM2 o Docker en VM Ubuntu.

HOMELAB

GitHub Actions

CI/CD: lint → deploy web (Vercel) → deploy bots (SSH al homelab).

GRATIS
📄

GitHub Pages

Esta página de documentación. Deploy automático con GitHub Actions.

GRATIS
🔞

Danbooru + RedGifs

APIs gratuitas para contenido +18 con cuenta (tier gratuito suficiente).

GRATIS

Estructura del proyecto

Monorepo con workspaces npm. Cada plataforma y módulo es independiente.

yukiko/ ├── core/ # Tipos, registry y utils compartidos entre plataformas │ └── src/ │ ├── types.ts # CommandContext, Command, YukikoUser, YukikoGroup... │ ├── registry.ts # Registro global de comandos con cooldowns │ └── utils.ts # Helpers compartidos ├── platforms/ │ ├── discord/src/index.ts # Discord.js — slash commands, embeds, música │ ├── telegram/src/index.ts # Grammy — comandos Telegram, BotFather │ └── whatsapp/src/index.ts # Baileys — protocolo WA Web, QR auth ├── modules/ │ ├── roleplay/ # GIFs via Tenor API │ ├── economy/ # Monedas, niveles, mascotas, matrimonios │ ├── adult/ # Danbooru + RedGifs con sistema de verificación │ ├── ai/ # GPT-4o + DALL-E 3 (OpenAI) │ └── moderation/ # Warn, ban, clear, logs ├── web/ # Next.js — landing + admin + monitor (→ Vercel) │ └── app/ │ ├── page.tsx # Landing pública │ ├── admin/ # Panel de administración │ ├── admin/verifications/ # Aprobar solicitudes +18 │ └── monitor/ # Métricas en tiempo real ├── db/ # Schema Drizzle ORM (Neon PostgreSQL) │ ├── schema.ts # users, groups, economy, adult, logs... │ └── index.ts # Cliente Drizzle con connection pool ├── ssh-cli/ # CLI remota para gestionar el bot desde Arch ├── docker/ # Dockerfile.bot, prometheus.yml, lavalink.yml ├── scripts/ # setup, dev, health-check, backup, ngrok... ├── docs/ # Esta documentación (GitHub Pages) │ └── index.html # ← Estás aquí └── .github/workflows/ └── deploy.yml # CI/CD: lint → Vercel + SSH homelab + Pages