kage-baileys 1.1.7 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AUTOMATIZACION.txt +142 -0
- package/WAProto/WAProto.proto +2 -0
- package/WAProto/index.d.ts +82080 -0
- package/engine-requirements.js +4 -4
- package/lib/Socket/index.js +10 -4
- package/lib/Utils/COUNTRY-DATA-LICENSE +540 -0
- package/lib/Utils/automation-tools.js +184 -0
- package/lib/Utils/browser-utils.js +3 -3
- package/lib/Utils/consented-media.js +66 -0
- package/lib/Utils/countries.json +1 -0
- package/lib/Utils/country-info.js +31 -0
- package/lib/Utils/generics.js +7 -7
- package/lib/Utils/messages.js +1 -1
- package/lib/Utils/status-archive.js +175 -0
- package/lib/Utils/status-contacts.js +57 -0
- package/lib/Utils/status-tools.js +231 -0
- package/lib/Utils/sync-action-utils.js +1 -0
- package/lib/Utils/view-once.js +48 -0
- package/lib/index.d.ts +354 -0
- package/lib/index.js +11 -42
- package/maintenance/automatizacion-check.txt +1248 -0
- package/maintenance/automatizacion-protobuf.txt +10 -0
- package/maintenance/revision-full-check.txt +1097 -0
- package/maintenance/revision-library-tests.tap +1088 -0
- package/maintenance/revision-protobuf.txt +5 -0
- package/maintenance/revision-syntax.txt +5 -0
- package/package.json +5 -3
- package/test/automation-v2.test.cjs +169 -0
- package/test/consented-media.test.cjs +33 -0
- package/test/revision.test.cjs +156 -0
- package/MANTENIMIENTO.txt +0 -54
- package/WAProto/WAProto.kage-original.proto +0 -5479
- package/WAProto/index.kage-original.js +0 -97692
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
AUTOMATIZACIÓN CHIAKI + KAGE BAILEYS — INSTRUCCIONES
|
|
2
|
+
|
|
3
|
+
INSTALACIÓN
|
|
4
|
+
1. Haz una copia de seguridad de tu proyecto, sesiones y base de datos.
|
|
5
|
+
2. Extrae Chiaki-corregido.zip en la carpeta del bot. Conserva tus sesiones y datos propios.
|
|
6
|
+
3. Usa Node.js 22.12.0 o superior. Ejecuta npm install y después npm start.
|
|
7
|
+
4. Si estás reemplazando una instalación previa y npm conserva la librería antigua,
|
|
8
|
+
ejecuta npm install --force antes de reiniciar.
|
|
9
|
+
5. Chiaki ya incluye vendor/kage-baileys-1.1.8-automatizacion.tgz. No necesitas
|
|
10
|
+
publicar Kage en npm ni instalar el otro ZIP aparte para utilizar Chiaki.
|
|
11
|
+
Los tres alias de Baileys de package.json apuntan al mismo paquete modificado.
|
|
12
|
+
6. El paquete original vendor/kage-baileys-1.1.8-revision.tgz se conserva por
|
|
13
|
+
integridad del archivo aportado, pero package.json NO lo utiliza.
|
|
14
|
+
|
|
15
|
+
AJUSTES CENTRALIZADOS
|
|
16
|
+
La implementación está en lib/options.js. plugins/_options.js solo registra
|
|
17
|
+
su exportación; no hay dos implementaciones de los interruptores.
|
|
18
|
+
Los antiguos comandos .autodescarga / .autoviewonce solo orientan al propietario.
|
|
19
|
+
|
|
20
|
+
.on autodescarga Archiva medios normales recibidos en este chat.
|
|
21
|
+
.off autodescarga Desactiva esa descarga en este chat.
|
|
22
|
+
.on autoviewonce Descarga y envía una copia normal en este chat.
|
|
23
|
+
.off autoviewonce Detiene ese reenvío automático en este chat.
|
|
24
|
+
.on guardarestados Guarda estados de contactos y envía copias a este privado.
|
|
25
|
+
.off guardarestados Deja de guardar/enviar automáticamente estados nuevos.
|
|
26
|
+
.on statuszip Cuando guardarestados está activo, entrega un ZIP por contacto.
|
|
27
|
+
.off statuszip Vuelve a entregar cada estado por separado.
|
|
28
|
+
.on statusreaction random ❤️ 🔥 👍 💜
|
|
29
|
+
Selecciona un emoji de la lista por estado.
|
|
30
|
+
.on statusreaction ❤️ Usa un emoji fijo.
|
|
31
|
+
.off statusreaction Desactiva únicamente las reacciones automáticas.
|
|
32
|
+
|
|
33
|
+
Solo el propietario del bot puede cambiar estas opciones. autodescarga y
|
|
34
|
+
autoviewonce son por chat, también se pueden habilitar por el dueño en un grupo.
|
|
35
|
+
guardarestados/statuszip se activan en el privado del propietario: las copias
|
|
36
|
+
no se envían a grupos. La configuración se persiste en la base de datos por cuenta.
|
|
37
|
+
Todo está desactivado inicialmente salvo ajustes previamente guardados.
|
|
38
|
+
La activación es una vez; no hace falta ejecutar un comando por cada medio recibido.
|
|
39
|
+
Usa el guardado y el reenvío únicamente con permiso de las personas remitentes.
|
|
40
|
+
|
|
41
|
+
AUTOVIEWONCE
|
|
42
|
+
Se atienden imageMessage, videoMessage y audioMessage; también se reconocen
|
|
43
|
+
los demás tipos de medios soportados por Baileys si llegan en un envoltorio válido.
|
|
44
|
+
Se reconocen viewOnceMessage, viewOnceMessageV2, viewOnceMessageV2Extension,
|
|
45
|
+
ephemeralMessage y la marca viewOnce directamente en el medio.
|
|
46
|
+
Primero se descarga y descifra el archivo entregado por WhatsApp. Después se
|
|
47
|
+
suben los bytes como un medio NUEVO, no como forward/copyNForward y sin viewOnce.
|
|
48
|
+
Se mantiene el texto, MIME, tipo de audio/PTT y GIF cuando están disponibles.
|
|
49
|
+
El mensaje original no se modifica. Se ignoran los envíos del propio bot y se
|
|
50
|
+
controlan duplicados y colas para evitar reenvíos en bucle.
|
|
51
|
+
Solo se procesa recepción en vivo (notify), no lotes históricos append.
|
|
52
|
+
Cambiar el interruptor a off durante la descarga evita el envío posterior.
|
|
53
|
+
|
|
54
|
+
ESTADOS
|
|
55
|
+
.estados Cuenta los estados recibidos disponibles por contacto.
|
|
56
|
+
.estados todos Lista IDs, tipo y reacción del bot por estado.
|
|
57
|
+
.estados historial Muestra caducidad y eliminaciones notificadas.
|
|
58
|
+
.estadoinfo E1 Muestra información, color original y reacción registrada.
|
|
59
|
+
.verestado E1 Envía el contenido de ese estado.
|
|
60
|
+
.descargarestado E1 Descarga individual y metadatos.
|
|
61
|
+
.estadoszip E1 ZIP de los estados disponibles del autor de E1.
|
|
62
|
+
.estadoszip 51987654321 ZIP de un contacto por su número conocido.
|
|
63
|
+
.estadoszip 123456789@lid ZIP por LID recibido. No se inventan números para LID.
|
|
64
|
+
.reaccionestado E1 🔥 Reacción manual. No activa la reacción automática.
|
|
65
|
+
.estadoemoji random ❤️ 🔥 Cambia la lista de emojis sin cambiar el interruptor on/off.
|
|
66
|
+
|
|
67
|
+
Solo se aceptan contactos guardados que consten en la sincronización de la cuenta
|
|
68
|
+
(nombre de agenda o marca isMyContact/isSaved). Un pushName, un notify o pertenecer
|
|
69
|
+
a un grupo NO prueba que alguien esté guardado. Si todavía no se sincronizaron
|
|
70
|
+
los contactos, la lista puede estar vacía. Los mapeos PN/LID usan datos reales.
|
|
71
|
+
|
|
72
|
+
Con guardarestados se guardan los archivos localmente y se envían al privado en
|
|
73
|
+
que el propietario activó el ajuste. Con statuszip se agrupan las recepciones
|
|
74
|
+
consecutivas de cada contacto durante unos 3 segundos, con un máximo de 10 segundos
|
|
75
|
+
por ráfaga; el ZIP incluye los estados recibidos disponibles de ese contacto.
|
|
76
|
+
Los ZIP pueden contener imágenes, videos, audios y texto, más informacion.json.
|
|
77
|
+
Los estados de texto se entregan como texto/TXT: NO se promete una imagen del
|
|
78
|
+
estado. Sus colores ARGB y fuente se conservan en informacion.json cuando llegan.
|
|
79
|
+
|
|
80
|
+
Cada estado muestra la reacción ENVIADA POR EL BOT o ninguna registrada. No se
|
|
81
|
+
promete conocer las reacciones de otros usuarios que WhatsApp no entregue.
|
|
82
|
+
La lista aleatoria admite hasta 50 emojis separados por espacios. Se utiliza
|
|
83
|
+
UN emoji por estado: no se envía una ráfaga de reacciones al mismo estado.
|
|
84
|
+
|
|
85
|
+
VIGENCIA Y ALMACENAMIENTO
|
|
86
|
+
received significa recibido y dentro de la ventana calculada de 24 horas, sin
|
|
87
|
+
borrado notificado. NO es una consulta remota que certifique que sigue publicado.
|
|
88
|
+
deleted significa que llegó un aviso de eliminación; expired indica caducidad.
|
|
89
|
+
Se reciben revocaciones y eventos messages.delete/messages.update.
|
|
90
|
+
La caché guarda hasta 500 entradas y conserva metadatos retirados hasta 48 horas.
|
|
91
|
+
Las copias locales ya archivadas permanecen aunque el estado original caduque
|
|
92
|
+
o sea eliminado: son archivos del servidor, NO estados todavía publicados.
|
|
93
|
+
.estados limpiar vacía la caché, NO borra las copias locales guardadas.
|
|
94
|
+
|
|
95
|
+
Medios normales: downloads/normal.
|
|
96
|
+
Estados guardados: downloads/status/<identificador de cuenta>.
|
|
97
|
+
Metadatos de estados: data/status/<identificador de cuenta>.json.
|
|
98
|
+
Permisos locales restringidos: directorios 0700 y archivos 0600.
|
|
99
|
+
Límite por medio: 32 MiB. Cuota de archivo: 512 MiB por directorio/cuenta de estados.
|
|
100
|
+
ZIP: hasta 64 MiB de archivos y 100 elementos; el manifiesto indica omisiones.
|
|
101
|
+
Colas acotadas: hasta 20 descargas/guardados pendientes. Debes limpiar tus copias
|
|
102
|
+
cuando ya no las necesites. No se elimina ni cambia el estado original del contacto.
|
|
103
|
+
|
|
104
|
+
MÉTODOS NUEVOS EN KAGE
|
|
105
|
+
La integración se instala al crear el socket en lib/Socket/index.js.
|
|
106
|
+
conn.getViewOnceContent(raw)
|
|
107
|
+
conn.normalizeViewOnceMessage(raw)
|
|
108
|
+
conn.downloadViewOnceMessage(raw, opciones)
|
|
109
|
+
conn.resendViewOnceMessage(raw, opciones)
|
|
110
|
+
conn.handleAutoViewOnce(raw, settings, opciones)
|
|
111
|
+
conn.enableMediaAutomation(settings) -> función para detener listeners
|
|
112
|
+
conn.saveReceivedStatus(entry, opciones)
|
|
113
|
+
conn.exportReceivedStatuses(author, opciones)
|
|
114
|
+
Los helpers también están disponibles en el export público de la librería.
|
|
115
|
+
|
|
116
|
+
En una aplicación independiente puedes crear el socket con:
|
|
117
|
+
const settings = { autoViewOnceChats: ['51987654321@s.whatsapp.net'] }
|
|
118
|
+
const sock = makeWASocket({ auth, kageTools: {
|
|
119
|
+
mediaAutomation: true, mediaSettings: settings, contactsOnly: true,
|
|
120
|
+
statusTracking: true, statusSettings: { statusSave: false, statusReaction: false }
|
|
121
|
+
} })
|
|
122
|
+
No actives otro listener independiente en Chiaki: handler.js ya integra estos helpers
|
|
123
|
+
con su configuración y evita un segundo procesamiento de los mismos eventos.
|
|
124
|
+
Los listeners auxiliares se retiran al cerrar la conexión.
|
|
125
|
+
|
|
126
|
+
WAPROTO
|
|
127
|
+
El esquema aportado ya incluye los tres envoltorios y los campos viewOnce.
|
|
128
|
+
No se inventaron números de campo ni métodos dentro de protobuf. La normalización
|
|
129
|
+
es una utilidad local, no un cambio del protocolo de WhatsApp. Se regeneraron
|
|
130
|
+
WAProto/index.js e index.d.ts desde WAProto.proto y las declaraciones públicas.
|
|
131
|
+
Se mantienen los campos y la compatibilidad binaria del esquema aportado.
|
|
132
|
+
|
|
133
|
+
PRUEBAS Y LÍMITES
|
|
134
|
+
Kage: npm run check — análisis de sintaxis y pruebas unitarias/de integración local.
|
|
135
|
+
Chiaki: npm run check y npm test.
|
|
136
|
+
Los informes de esta revisión están dentro de validation/ y maintenance/.
|
|
137
|
+
Las pruebas usan datos sintéticos, streams de descarga simulados y sockets de prueba.
|
|
138
|
+
NO se ha conectado esta revisión a una cuenta real ni se ha comprobado la entrega
|
|
139
|
+
por los servidores de WhatsApp. No se puede garantizar que funcione "sí o sí"
|
|
140
|
+
con cualquier versión, cuenta o cambio futuro del servicio.
|
|
141
|
+
No recupera archivos consumidos, borrados, caducados o claves que WhatsApp no entregue.
|
|
142
|
+
El servidor de WhatsApp puede rechazar descargas, envíos o reacciones.
|
package/WAProto/WAProto.proto
CHANGED
|
@@ -2290,6 +2290,8 @@ message Message {
|
|
|
2290
2290
|
optional DeviceSentMessage deviceSentMessage = 31;
|
|
2291
2291
|
optional MessageContextInfo messageContextInfo = 35;
|
|
2292
2292
|
optional ListMessage listMessage = 36;
|
|
2293
|
+
// Kage: preserve the actual wire envelope on receive. Local download/re-upload
|
|
2294
|
+
// helpers live in lib/Utils/view-once.js; no custom protobuf tags are required.
|
|
2293
2295
|
optional FutureProofMessage viewOnceMessage = 37;
|
|
2294
2296
|
optional OrderMessage orderMessage = 38;
|
|
2295
2297
|
optional ListResponseMessage listResponseMessage = 39;
|