An open API service indexing awesome lists of open source software.

https://github.com/voscarmv/santabot

Secret Santa Bot for WhatsApp
https://github.com/voscarmv/santabot

bot chatbot christmas match matching santa secret secret-santa sort whatsapp wwebjs

Last synced: 2 months ago
JSON representation

Secret Santa Bot for WhatsApp

Awesome Lists containing this project

README

          

# 🎅 SantaBot – WhatsApp Secret Santa Bot

Un bot de WhatsApp construido con **whatsapp-web.js** que organiza automáticamente un **intercambio de regalos (Secret Santa)** cuando es agregado a un grupo.

Cuando el bot entra al grupo:

* Saluda a todos 🎄
* Realiza el sorteo de manera automática 🎲
* Envía a cada participante un **mensaje privado** con la persona a la que le toca regalar 🎁🤫
* Se despide y **abandona el grupo** 👋

Ideal para grupos de amigos, familia o trabajo.

---

## ✨ Características

* 🤖 Automatización total del sorteo
* 🔒 Asignaciones **secretas** por mensaje privado
* 🚫 Evita que alguien se regale a sí mismo
* 🎄 Mensajes navideños listos para usar
* 👋 Sale del grupo automáticamente al finalizar
* ♻️ Autenticación persistente con `LocalAuth`

---

## 🧠 Cómo funciona

1. El bot es agregado a un grupo de WhatsApp
2. Detecta el evento `group_join`
3. Obtiene la lista de participantes del grupo
4. Ejecuta el algoritmo de Secret Santa usando [`@voscarmv/secret-santa`](https://www.npmjs.com/package/@voscarmv/secret-santa)
5. Envía a cada usuario su asignación **en privado**
6. Envía un mensaje final al grupo
7. Abandona el grupo

---

## 🛠️ Tecnologías usadas

* **Node.js**
* **whatsapp-web.js**
* **Puppeteer**
* **qrcode-terminal**
* **@voscarmv/secret-santa**

---

## 📦 Instalación

Clona el repositorio:

```bash
git clone https://github.com/voscarmv/santabot.git
cd santabot
```

Instala dependencias:

```bash
npm install
```

Asegúrate de tener Google Chrome instalado:

```bash
/usr/bin/google-chrome-stable
```

---

## ▶️ Uso

Ejecuta el bot:

```bash
node index.js
```

1. Escanea el **QR** desde WhatsApp
2. Agrega el bot a un grupo
3. Disfruta del intercambio 🎁🎄

> ⚠️ El bot **debe ser agregado**, no funciona si ya estaba en el grupo.

---

## 📁 Estructura básica

```text
santabot/
├── index.js
├── package.json
├── node_modules/
└── .wwebjs_auth/
```

---

## 🔐 Notas importantes

* El bot **no necesita ser admin**
* No puede volver a entrar al grupo sin invitación
* WhatsApp puede limitar bots en cuentas nuevas
* Uso bajo tu propia responsabilidad

---

## 🎁 Personalización

Puedes modificar fácilmente:

* 📝 Mensajes del bot
* ⏱️ Tiempos de espera (`sleep`)
* 🧑‍🎄 Idioma y tono
* 📛 Mostrar nombres en vez de números

---

## 📜 Licencia

GPL-3-or-latest

---

## 👤 Autor

**Oscar Mier**

* GitHub: [https://github.com/voscarmv](https://github.com/voscarmv)
* NPM: @voscarmv

---

🎄✨ ¡Feliz intercambio y felices fiestas! ✨🎄