-
-
Notifications
You must be signed in to change notification settings - Fork 663
Open
Description
Are you using the latest version of the library?
- I have checked and am using the latest version of the library.
What type of session are you experiencing this issue on?
Multi-device and I have set multiDevice to true in my config OR am using the --multi-device flag
What type of host account are you experiencing this issue on?
Personal account (normal)
Mode
EASY API/CLI
Current Behavior
un bot que sea divertido y bromista y responda cuando lo mencionen con cosas tontas
Expected Behavior
que suceda lo que dije
Steps To Reproduce
name: Mensaje Chistoso en Nuevo Issue
on:
issues:
types: [opened]
jobs:
add-humorous-comment:
runs-on: ubuntu-latest
steps:
- name: Comentar con humor
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Esto es un placeholder. En un bot real, llamarías a la API de GitHub
# para añadir un comentario al issue recién abierto.
# Por ejemplo, usando gh api
o un script Node/Python.
# Ejemplo muy básico de cómo usar `gh api` para comentar:
ISSUE_NUMBER=${{ github.event.issue.number }}
REPO_FULL_NAME=${{ github.repository }}
HUMOR_MESSAGE="¡Gracias por abrir este issue! Espero que encontrar la solución sea más fácil que explicarle a mi abuela qué es un repositorio de GitHub. 😄"
echo "Adding comment to issue #$ISSUE_NUMBER in $REPO_FULL_NAME"
# Este comando usaría la CLI de GitHub para comentar.
# Asegúrate de que `gh` esté disponible en el entorno de Actions.
# gh api repos/$REPO_FULL_NAME/issues/$ISSUE_NUMBER/comments \
# --method POST \
# -F body="$HUMOR_MESSAGE"
# O podrías ejecutar un script de Python/Node.js que use Octokit/PyGithub
echo "::set-output name=comment_body::$HUMOR_MESSAGE"
create() code OR full CLI command + CONFIG
// index.js (o tu archivo principal)
const { create, Client } = require('@open-wa/wa-automate');
// Define tu objeto de configuración
const configObject = {
sessionId: 'mi_bot_chistoso', // Un ID único para tu sesión de WhatsApp
multiDevice: true, // ¡Importante para Multi-Device!
authTimeout: 60, // Tiempo de espera para autenticación (en segundos)
qrTimeout: 0, // 0 para esperar indefinidamente por el QR
headless: true, // Ejecutar en segundo plano (sin ventana de navegador visible)
cacheEnabled: false, // Deshabilitar cache para algunos escenarios
restartOnCrash: start, // Reiniciar el bot si hay un crash
logConsole: true, // Mostrar logs en la consola
popup: true, // Mostrar la ventana emergente del navegador (si headless es false)
// userDataDir: './data', // Directorio para almacenar los datos de la sesión (opcional)
// executablePath: '/usr/bin/google-chrome', // Si usas Chrome y no Chromium (opcional)
// useChrome: true, // Usar Chrome en lugar de Chromium (requiere Chrome instalado)
autoRefresh: true, // Esto está bloqueado a 'true' y no se puede apagar.
// Opciones adicionales para el Easy API (si lo usas dentro de tu código)
// port: 8080,
// host: 'localhost',
// generateApiDocs: true, // Generar documentación de la API Swagger/OpenAPI
// apiHost: 'http://mi-dominio.com:8080',
// authKey: 'TU_CLAVE_SEGURA_API', // Para proteger tu API
};
function start(client) {
console.log('Cliente de WhatsApp iniciado.');
// Aquí iría la lógica de tu bot
client.onMessage(async (message) => {
console.log(`Mensaje recibido de ${message.sender.pushname}: ${message.body}`);
if (message.body === 'chiste') {
const chistes = [
"¿Qué le dice una impresora a otra? ¿Esa hoja es tuya o es impresión mía?",
"¿Cuál es el colmo de un electricista? No tener corriente con su pareja.",
"Mi tostadora es tan inteligente que casi me hace el café. Pero no. Todavía.",
"Programar es como resolver un rompecabezas de 1000 piezas, pero sin la imagen de referencia y con piezas que se muerden entre sí."
];
await client.sendText(message.from, `¡Aquí va uno! ${chistes[Math.floor(Math.random() * chistes.length)]}`);
} else if (message.body === 'hola') {
await client.sendText(message.from, '¡Hola! ¿Necesitas un bot o un psicólogo? Porque con mi humor, a veces confunden. 😄');
} else if (message.body.toLowerCase().includes('bot eres chistoso')) {
await client.sendText(message.from, 'Dicen que soy el alma de la fiesta... si la fiesta es una línea de comandos. 😜');
}
});
client.onStateChanged((state) => {
console.log('[Estado del cliente]', state);
// Manejar desconexiones, etc.
if (state === 'CONFLICT' || state === 'UNLAUNCHED') client.forceRefocus();
});
}
// Crea el cliente con el objeto de configuración
create(configObject)
.then((client) => start(client))
.catch((err) => console.error('Error al iniciar el cliente:', err));
DEBUG INFO
{
"WA_VERSION": "2.3000.1024008389",
"WA_AUTOMATE_VERSION": "4.76.0",
"BROWSER_VERSION": "Chrome/131.0.6778.204",
"START_TS": 1750355906924,
"RAM_INFO": "Total: 8.22 GB | Free: 0.53 GB",
"PPTR_VERSION": "23.11.1",
"LATEST_VERSION": true,
"CLI": true,
"PATCH_HASH": "bd446",
"LAUNCH_TIME_MS": 111451,
"ACC_TYPE": "PERSONAL",
"chats": 297,
"messages": 507,
"contacts": 3038,
"isBiz": false,
"isMd": true,
"INSTANCE_ID": "3755e010-5115-403a-bbf8-72e15a539613"
}
Environment
- OS: Windows 10
- Node: 22.16.0
- npm: 10.9.2
Screenshots/Logs
No response
Anything else?
No response
Metadata
Metadata
Assignees
Labels
No labels