@builderbot/provider-meta 1.3.5-alpha.3 → 1.3.5-alpha.5
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/dist/index.cjs
CHANGED
|
@@ -13389,6 +13389,27 @@ async function downloadFile(url, Token) {
|
|
|
13389
13389
|
}
|
|
13390
13390
|
}
|
|
13391
13391
|
|
|
13392
|
+
/**
|
|
13393
|
+
* Verify Meta JWT token validity
|
|
13394
|
+
* @param token - The JWT token to verify
|
|
13395
|
+
* @returns Token verification result
|
|
13396
|
+
*/
|
|
13397
|
+
async function verifyToken(token) {
|
|
13398
|
+
const response = await axios.get('https://graph.facebook.com/debug_token', {
|
|
13399
|
+
params: {
|
|
13400
|
+
input_token: token,
|
|
13401
|
+
access_token: token,
|
|
13402
|
+
},
|
|
13403
|
+
});
|
|
13404
|
+
return response.data;
|
|
13405
|
+
}
|
|
13406
|
+
/**
|
|
13407
|
+
* Get the profile of a WhatsApp user
|
|
13408
|
+
* @param version - The version of the WhatsApp API
|
|
13409
|
+
* @param numberId - The ID of the WhatsApp user
|
|
13410
|
+
* @param token - The token of the WhatsApp user
|
|
13411
|
+
* @returns The profile of the WhatsApp user
|
|
13412
|
+
*/
|
|
13392
13413
|
async function getProfile(version, numberId, token) {
|
|
13393
13414
|
const response = await axios.get(`https://graph.facebook.com/${version}/${numberId}`, {
|
|
13394
13415
|
headers: {
|
|
@@ -13768,7 +13789,7 @@ class MetaProvider extends bot.ProviderClass {
|
|
|
13768
13789
|
screen: screenName,
|
|
13769
13790
|
data: data ? data : { '<CUSTOM_KEY>': '<CUSTOM_VALUE>' },
|
|
13770
13791
|
},
|
|
13771
|
-
...(isDraftFlow && { mode: 'draft' })
|
|
13792
|
+
...(isDraftFlow && { mode: 'draft' }),
|
|
13772
13793
|
},
|
|
13773
13794
|
},
|
|
13774
13795
|
},
|
|
@@ -14012,9 +14033,19 @@ class MetaProvider extends bot.ProviderClass {
|
|
|
14012
14033
|
.get('/webhook', this.vendor.verifyToken)
|
|
14013
14034
|
.post('/webhook', this.vendor.incomingMsg);
|
|
14014
14035
|
}
|
|
14036
|
+
/**
|
|
14037
|
+
* Get the profile of a WhatsApp user
|
|
14038
|
+
* @returns The profile of the WhatsApp user
|
|
14039
|
+
*/
|
|
14015
14040
|
async afterHttpServerInit() {
|
|
14016
14041
|
try {
|
|
14017
14042
|
const { version, numberId, jwtToken } = this.globalVendorArgs;
|
|
14043
|
+
// Verify token first
|
|
14044
|
+
const tokenVerification = await verifyToken(jwtToken);
|
|
14045
|
+
if (!tokenVerification.data?.is_valid) {
|
|
14046
|
+
throw new Error('Invalid token');
|
|
14047
|
+
}
|
|
14048
|
+
// Get profile
|
|
14018
14049
|
const profile = await getProfile(version, numberId, jwtToken);
|
|
14019
14050
|
const host = {
|
|
14020
14051
|
...profile,
|
|
@@ -14024,13 +14055,30 @@ class MetaProvider extends bot.ProviderClass {
|
|
|
14024
14055
|
this.emit('ready');
|
|
14025
14056
|
}
|
|
14026
14057
|
catch (err) {
|
|
14058
|
+
const errorMap = {
|
|
14059
|
+
'Invalid token': { title: '🔑 TOKEN ERROR', msg: 'Check META_ACCESS_TOKEN in .env' },
|
|
14060
|
+
timeout: { title: '🌐 TIMEOUT', msg: 'Meta API not responding' },
|
|
14061
|
+
'401': { title: '🔐 UNAUTHORIZED', msg: 'Invalid credentials' },
|
|
14062
|
+
'403': { title: '🚫 FORBIDDEN', msg: 'Token lacks permissions' },
|
|
14063
|
+
'500': { title: '🔧 SERVER ERROR', msg: 'Meta API issues' },
|
|
14064
|
+
};
|
|
14065
|
+
const errorKey = err.message.includes('Invalid token')
|
|
14066
|
+
? 'Invalid token'
|
|
14067
|
+
: err.message.includes('timeout')
|
|
14068
|
+
? 'timeout'
|
|
14069
|
+
: err.response?.status === 401
|
|
14070
|
+
? '401'
|
|
14071
|
+
: err.response?.status === 403
|
|
14072
|
+
? '403'
|
|
14073
|
+
: err.response?.status >= 500
|
|
14074
|
+
? '500'
|
|
14075
|
+
: 'default';
|
|
14076
|
+
const error = errorMap[errorKey] || { title: '🟠 ERROR AUTH', msg: 'Check credentials' };
|
|
14027
14077
|
this.emit('notice', {
|
|
14028
|
-
title:
|
|
14029
|
-
instructions: [
|
|
14030
|
-
`Error connecting to META, make sure you have the correct credentials, .env`,
|
|
14031
|
-
`https://builderbot.vercel.app/en/providers/meta`,
|
|
14032
|
-
],
|
|
14078
|
+
title: error.title,
|
|
14079
|
+
instructions: [error.msg, 'https://builderbot.app/en/providers/meta'],
|
|
14033
14080
|
});
|
|
14081
|
+
this.emit('error', err);
|
|
14034
14082
|
}
|
|
14035
14083
|
}
|
|
14036
14084
|
initVendor() {
|
package/dist/meta/provider.d.ts
CHANGED
|
@@ -15,6 +15,10 @@ declare class MetaProvider extends ProviderClass<MetaInterface> implements MetaI
|
|
|
15
15
|
};
|
|
16
16
|
constructor(args: MetaGlobalVendorArgs);
|
|
17
17
|
protected beforeHttpServerInit(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Get the profile of a WhatsApp user
|
|
20
|
+
* @returns The profile of the WhatsApp user
|
|
21
|
+
*/
|
|
18
22
|
protected afterHttpServerInit(): Promise<void>;
|
|
19
23
|
protected initVendor(): Promise<any>;
|
|
20
24
|
protected fixPrefixMetaNumber: (phoneNumber: string) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/meta/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAS,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kDAAkD,CAAA;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAQjF,OAAO,KAAK,MAAM,eAAe,CAAA;AAMjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EACR,oBAAoB,EACpB,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,eAAe,EACf,eAAe,EAClB,MAAM,SAAS,CAAA;AAIhB,cAAM,YAAa,SAAQ,aAAa,CAAC,aAAa,CAAE,YAAW,aAAa;IACrE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;IACnB,KAAK,EAAE,KAAK,CAAc;IAE1B,gBAAgB,EAAE,oBAAoB,CAQ5C;IACM,SAAS;;;MAGf;gBAEW,IAAI,EAAE,oBAAoB;IAUtC,SAAS,CAAC,oBAAoB,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/meta/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { getMediaUrl } from './mediaUrl';
|
|
2
2
|
export { downloadFile, fileTypeFromFile } from './downloadFile';
|
|
3
3
|
export { processIncomingMessage } from './processIncomingMsg';
|
|
4
|
-
export { getProfile } from './profile';
|
|
4
|
+
export { getProfile, verifyToken } from './profile';
|
|
5
5
|
export { parseMetaNumber } from './number';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA"}
|
package/dist/utils/profile.d.ts
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import type { WhatsAppProfile } from '~/types';
|
|
2
|
+
/**
|
|
3
|
+
* Verify Meta JWT token validity
|
|
4
|
+
* @param token - The JWT token to verify
|
|
5
|
+
* @returns Token verification result
|
|
6
|
+
*/
|
|
7
|
+
declare function verifyToken(token: string): Promise<any>;
|
|
8
|
+
/**
|
|
9
|
+
* Get the profile of a WhatsApp user
|
|
10
|
+
* @param version - The version of the WhatsApp API
|
|
11
|
+
* @param numberId - The ID of the WhatsApp user
|
|
12
|
+
* @param token - The token of the WhatsApp user
|
|
13
|
+
* @returns The profile of the WhatsApp user
|
|
14
|
+
*/
|
|
2
15
|
declare function getProfile(version: string, numberId: string, token: string): Promise<WhatsAppProfile>;
|
|
3
|
-
export { getProfile };
|
|
16
|
+
export { getProfile, verifyToken };
|
|
4
17
|
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/utils/profile.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,iBAAe,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAUpG;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/utils/profile.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C;;;;GAIG;AACH,iBAAe,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAQtD;AAED;;;;;;GAMG;AACH,iBAAe,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAUpG;AAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@builderbot/provider-meta",
|
|
3
|
-
"version": "1.3.5-alpha.
|
|
3
|
+
"version": "1.3.5-alpha.5",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"author": "vicente1992 <vic_ortiz20@hotmail.es>",
|
|
6
6
|
"homepage": "https://github.com/vicente1992/bot-whatsapp#readme",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"tslib": "^2.6.2",
|
|
62
62
|
"tsm": "^2.3.0"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "f24fef3c8787b34a1fc239ef215eef119b663031"
|
|
65
65
|
}
|