@builderbot/provider-venom 0.1.3-alpha.22
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/README.md +11 -0
- package/dist/index.cjs +30329 -0
- package/dist/index.d.ts +119 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/server.d.ts +38 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils.d.ts +12 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +58 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { ProviderClass } from '@builderbot/bot';
|
|
2
|
+
import { BotContext, BotCtxMiddlewareOptions, SendOptions } from '@builderbot/bot/dist/types';
|
|
3
|
+
import venom from 'venom-bot';
|
|
4
|
+
|
|
5
|
+
import { VenomHttpServer } from './server';
|
|
6
|
+
import { SaveFileOptions } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* ⚙️ VenomProvider: Es una clase tipo adaptor
|
|
9
|
+
* que extiende clases de ProviderClass (la cual es como interfaz para sber que funciones rqueridas)
|
|
10
|
+
* https://github.com/orkestral/venom
|
|
11
|
+
*/
|
|
12
|
+
declare class VenomProvider extends ProviderClass {
|
|
13
|
+
globalVendorArgs: {
|
|
14
|
+
name: string;
|
|
15
|
+
gifPlayback: boolean;
|
|
16
|
+
port: number;
|
|
17
|
+
};
|
|
18
|
+
vendor: venom.Whatsapp;
|
|
19
|
+
http: VenomHttpServer | undefined;
|
|
20
|
+
constructor(args: {
|
|
21
|
+
name: string;
|
|
22
|
+
gifPlayback: boolean;
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @param port
|
|
27
|
+
* @param opts
|
|
28
|
+
* @returns
|
|
29
|
+
*/
|
|
30
|
+
initHttpServer: (port: number, opts: Pick<BotCtxMiddlewareOptions, 'blacklist'>) => void;
|
|
31
|
+
/**
|
|
32
|
+
* Iniciamos el Proveedor Venom
|
|
33
|
+
*/
|
|
34
|
+
init: () => Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Generamos QR Code pra escanear con el Whatsapp
|
|
37
|
+
*/
|
|
38
|
+
generateQr: (qr: string) => Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Mapeamos los eventos nativos de https://docs.orkestral.io/venom/#/?id=events
|
|
41
|
+
* para tener un standar de eventos
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
busEvents: () => {
|
|
45
|
+
event: string;
|
|
46
|
+
func: (payload: venom.Message & {
|
|
47
|
+
lat?: string;
|
|
48
|
+
lng?: string;
|
|
49
|
+
name: string;
|
|
50
|
+
}) => void;
|
|
51
|
+
}[];
|
|
52
|
+
/**
|
|
53
|
+
* Iniciamos y mapeamos el BusEvent
|
|
54
|
+
* Ejemplo:
|
|
55
|
+
* this.vendor.onMessage() 👉 this.vendor["onMessage"]()
|
|
56
|
+
*/
|
|
57
|
+
initBusEvents: () => void;
|
|
58
|
+
/**
|
|
59
|
+
* Enviar botones
|
|
60
|
+
* @private
|
|
61
|
+
* @param {*} number
|
|
62
|
+
* @param {*} message
|
|
63
|
+
* @param {*} buttons []
|
|
64
|
+
* @returns
|
|
65
|
+
*/
|
|
66
|
+
sendButtons: (number: string, message: any, buttons?: any[]) => Promise<Object>;
|
|
67
|
+
/**
|
|
68
|
+
* Enviar audio
|
|
69
|
+
* @alpha
|
|
70
|
+
* @param {string} number
|
|
71
|
+
* @param {string} message
|
|
72
|
+
* @param {boolean} voiceNote optional
|
|
73
|
+
* @example await sendMessage('+XXXXXXXXXXX', 'audio.mp3')
|
|
74
|
+
*/
|
|
75
|
+
sendAudio: (number: string, audioPath: string) => Promise<unknown>;
|
|
76
|
+
/**
|
|
77
|
+
* Enviar imagen
|
|
78
|
+
* @param {*} number
|
|
79
|
+
* @param {*} imageUrl
|
|
80
|
+
* @param {*} text
|
|
81
|
+
* @returns
|
|
82
|
+
*/
|
|
83
|
+
sendImage: (number: string, filePath: string, text: string) => Promise<venom.SendFileResult>;
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
* @param {string} number
|
|
87
|
+
* @param {string} filePath
|
|
88
|
+
* @example await sendMessage('+XXXXXXXXXXX', './document/file.pdf')
|
|
89
|
+
*/
|
|
90
|
+
sendFile: (number: string, filePath: string, text: string) => Promise<unknown>;
|
|
91
|
+
/**
|
|
92
|
+
* Enviar video
|
|
93
|
+
* @param {*} number
|
|
94
|
+
* @param {*} imageUrl
|
|
95
|
+
* @param {*} text
|
|
96
|
+
* @returns
|
|
97
|
+
*/
|
|
98
|
+
sendVideo: (number: string, filePath: string, text: string) => Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Enviar imagen o multimedia
|
|
101
|
+
* @param {*} number
|
|
102
|
+
* @param {*} mediaInput
|
|
103
|
+
* @param {*} message
|
|
104
|
+
* @returns
|
|
105
|
+
*/
|
|
106
|
+
sendMedia: (number: string, mediaUrl: string, text: string) => Promise<unknown>;
|
|
107
|
+
/**
|
|
108
|
+
* Enviar mensaje al usuario
|
|
109
|
+
* @param {*} userId
|
|
110
|
+
* @param {*} message
|
|
111
|
+
* @param {*} param2
|
|
112
|
+
* @returns
|
|
113
|
+
*/
|
|
114
|
+
sendMessage: (number: string, message: string, options?: SendOptions) => Promise<any>;
|
|
115
|
+
private generateFileName;
|
|
116
|
+
saveFile: (ctx: Partial<venom.Message & BotContext>, options?: SaveFileOptions) => Promise<string>;
|
|
117
|
+
}
|
|
118
|
+
export { VenomProvider };
|
|
119
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAS,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAoB,uBAAuB,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAO/G,OAAO,KAAK,MAAM,WAAW,CAAA;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAOzC;;;;GAIG;AACH,cAAM,aAAc,SAAQ,aAAa;IACrC,gBAAgB;;;;MAAkD;IAClE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAA;IACtB,IAAI,EAAE,eAAe,GAAG,SAAS,CAAA;gBACrB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE;IAOxD;;;;;OAKG;IACH,cAAc,SAAU,MAAM,QAAQ,KAAK,uBAAuB,EAAE,WAAW,CAAC,UAe/E;IAED;;OAEG;IACH,IAAI,sBAkCH;IAED;;OAEG;IACH,UAAU,OAAc,MAAM,mBAU7B;IAED;;;;OAIG;IACH,SAAS;;wBAGe,MAAM,OAAO,GAAG;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,MAAM,CAAA;SAAE;QAmCnF;IAED;;;;OAIG;IACH,aAAa,aASZ;IAED;;;;;;;OAOG;IACH,WAAW,WAAkB,MAAM,WAAW,GAAG,sCAWhD;IAED;;;;;;;OAOG;IAEH,SAAS,WAAkB,MAAM,aAAa,MAAM,sBAEnD;IAED;;;;;;OAMG;IACH,SAAS,WAAkB,MAAM,YAAY,MAAM,QAAQ,MAAM,mCAEhE;IAED;;;;;OAKG;IAEH,QAAQ,WAAkB,MAAM,YAAY,MAAM,QAAQ,MAAM,sBAG/D;IAED;;;;;;OAMG;IACH,SAAS,WAAkB,MAAM,YAAY,MAAM,QAAQ,MAAM,mBAEhE;IAED;;;;;;OAMG;IACH,SAAS,WAAkB,MAAM,YAAY,MAAM,QAAQ,MAAM,sBAWhE;IAED;;;;;;OAMG;IACH,WAAW,WAAkB,MAAM,WAAW,MAAM,YAAY,WAAW,KAAG,QAAQ,GAAG,CAAC,CAMzF;IAED,OAAO,CAAC,gBAAgB,CAAmE;IAE3F,QAAQ,QAAe,QAAQ,MAAM,OAAO,GAAG,UAAU,CAAC,YAAW,eAAe,KAAQ,QAAQ,MAAM,CAAC,CAa1G;CACJ;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import EventEmitter from 'node:events';
|
|
3
|
+
import polka, { Polka } from 'polka';
|
|
4
|
+
|
|
5
|
+
import { VenomProvider } from '.';
|
|
6
|
+
import { BotCtxMiddleware } from './types';
|
|
7
|
+
export declare class VenomHttpServer extends EventEmitter {
|
|
8
|
+
#private;
|
|
9
|
+
server: Polka;
|
|
10
|
+
port: number;
|
|
11
|
+
constructor(botName: string, _port: number);
|
|
12
|
+
/**
|
|
13
|
+
* Contruir HTTP Server
|
|
14
|
+
*/
|
|
15
|
+
protected buildHTTPServer(): Polka;
|
|
16
|
+
/**
|
|
17
|
+
* Iniciar el servidor HTTP
|
|
18
|
+
*/
|
|
19
|
+
start(vendor: BotCtxMiddleware, port?: number, args?: {
|
|
20
|
+
botName: string;
|
|
21
|
+
}): void;
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @param _
|
|
25
|
+
* @param res
|
|
26
|
+
*/
|
|
27
|
+
protected indexHome: polka.Middleware;
|
|
28
|
+
stop(): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @param inHandleCtx
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
export declare const inHandleCtx: <T extends Pick<VenomProvider, "sendMessage" | "vendor"> & {
|
|
36
|
+
provider: VenomProvider;
|
|
37
|
+
}>(ctxPolka: (bot: T, req: any, res: any) => Promise<void>) => (req: any, res: any) => any;
|
|
38
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,aAAa,CAAA;AAGtC,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAK1C,qBAAa,eAAgB,SAAQ,YAAY;;IACtC,MAAM,EAAE,KAAK,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;gBAGP,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAO1C;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,KAAK;IAOlC;;OAEG;IAEH,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;IAczE;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAMpC;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAWxB;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW;cACmD,aAAa;2BAC5C,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,WAEjE,GAAG,OAAO,GAAG,QAoBlB,CAAA"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,GAAG;IAAE,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC,CAAA;AACzE,MAAM,WAAW,eAAe;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
declare const venomCleanNumber: (number: string, full?: boolean) => string;
|
|
3
|
+
declare const writeFilePromise: (pathQr: string, response: {
|
|
4
|
+
type: string;
|
|
5
|
+
data: Buffer;
|
|
6
|
+
}) => Promise<boolean>;
|
|
7
|
+
declare const notMatches: (matches: RegExpMatchArray | null) => boolean;
|
|
8
|
+
declare const venomGenerateImage: (base: string, name?: string) => Promise<void | Error>;
|
|
9
|
+
declare const venomDownloadMedia: (url: string) => Promise<string>;
|
|
10
|
+
declare const venomisValidNumber: (rawNumber: string) => boolean;
|
|
11
|
+
export { venomCleanNumber, venomGenerateImage, venomisValidNumber, venomDownloadMedia, writeFilePromise, notMatches };
|
|
12
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAMA,QAAA,MAAM,gBAAgB,WAAY,MAAM,SAAQ,OAAO,KAAW,MAIjE,CAAA;AAED,QAAA,MAAM,gBAAgB,WAAY,MAAM,YAAY;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAG,QAAQ,OAAO,CAOnG,CAAA;AAED,QAAA,MAAM,UAAU,YAAa,gBAAgB,GAAG,IAAI,KAAG,OAEtD,CAAA;AAED,QAAA,MAAM,kBAAkB,SAAgB,MAAM,SAAQ,MAAM,KAAc,QAAQ,IAAI,GAAG,KAAK,CAe7F,CAAA;AAED,QAAA,MAAM,kBAAkB,QAAS,MAAM,KAAG,QAAQ,MAAM,CAqBvD,CAAA;AAED,QAAA,MAAM,kBAAkB,cAAe,MAAM,KAAG,OAI/C,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@builderbot/provider-venom",
|
|
3
|
+
"version": "0.1.3-alpha.22",
|
|
4
|
+
"description": "Now I’m the model of a modern major general / The venerated Virginian veteran whose men are all / Lining up, to put me up on a pedestal / Writin’ letters to relatives / Embellishin’ my elegance and eloquence / But the elephant is in the room / The truth is in ya face when ya hear the British cannons go / BOOM",
|
|
5
|
+
"keywords": [],
|
|
6
|
+
"author": "Leifer Mendez <leifer33@gmail.com>",
|
|
7
|
+
"license": "ISC",
|
|
8
|
+
"main": "dist/index.cjs",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"type": "module",
|
|
11
|
+
"files": [
|
|
12
|
+
"./dist/"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "rimraf dist && rollup --config",
|
|
16
|
+
"test": "npx uvu -r tsm ./__tests__",
|
|
17
|
+
"test:coverage": "npx c8 npm run test"
|
|
18
|
+
},
|
|
19
|
+
"directories": {
|
|
20
|
+
"lib": "dist",
|
|
21
|
+
"test": "__tests__"
|
|
22
|
+
},
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "git+https://github.com/codigoencasa/bot-whatsapp.git"
|
|
26
|
+
},
|
|
27
|
+
"bugs": {
|
|
28
|
+
"url": "https://github.com/codigoencasa/bot-whatsapp/issues"
|
|
29
|
+
},
|
|
30
|
+
"homepage": "https://github.com/codigoencasa/bot-whatsapp#readme",
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@builderbot/bot": "^0.1.3-alpha.22",
|
|
33
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
34
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
35
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
36
|
+
"@types/body-parser": "^1.19.5",
|
|
37
|
+
"@types/mime-types": "^2.1.4",
|
|
38
|
+
"@types/node": "^20.11.5",
|
|
39
|
+
"@types/polka": "^0.5.7",
|
|
40
|
+
"@types/proxyquire": "^1.3.31",
|
|
41
|
+
"@types/qr-image": "^3.2.9",
|
|
42
|
+
"@types/sinon": "^17.0.3",
|
|
43
|
+
"mime-types": "^2.1.35",
|
|
44
|
+
"pino": "^8.17.2",
|
|
45
|
+
"proxyquire": "^2.1.3",
|
|
46
|
+
"qr-image": "^3.2.0",
|
|
47
|
+
"rimraf": "^5.0.5",
|
|
48
|
+
"rollup-plugin-typescript2": "^0.36.0",
|
|
49
|
+
"sino": "^0.0.3",
|
|
50
|
+
"sinon": "^17.0.1"
|
|
51
|
+
},
|
|
52
|
+
"dependencies": {
|
|
53
|
+
"body-parser": "^1.20.2",
|
|
54
|
+
"polka": "^0.5.2",
|
|
55
|
+
"venom-bot": "^5.0.21"
|
|
56
|
+
},
|
|
57
|
+
"gitHead": "e52a9fe13d30d65b650a54b6e116953c949b1158"
|
|
58
|
+
}
|