@frogbotai/piece-telegram-bot 0.29.0 → 0.31.0
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/actions/index.d.ts +5 -5
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +165 -91
- package/dist/actions/index.js.map +1 -1
- package/dist/adapter.js +10 -9
- package/dist/adapter.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +36 -26
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -10
- package/dist/config.js.map +1 -1
- package/dist/define.js +1 -0
- package/dist/define.js.map +1 -1
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +23 -20
- package/dist/files.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +21 -13
- package/dist/index.js.map +1 -1
- package/dist/questions/index.js +2 -1
- package/dist/questions/index.js.map +1 -1
- package/dist/questions/keyboard.d.ts.map +1 -1
- package/dist/questions/keyboard.js +132 -76
- package/dist/questions/keyboard.js.map +1 -1
- package/dist/questions/notify.js +38 -23
- package/dist/questions/notify.js.map +1 -1
- package/dist/questions/parse.js +128 -53
- package/dist/questions/parse.js.map +1 -1
- package/dist/questions/render.js +21 -5
- package/dist/questions/render.js.map +1 -1
- package/dist/questions/settled.js +30 -9
- package/dist/questions/settled.js.map +1 -1
- package/dist/questions/state.js +10 -8
- package/dist/questions/state.js.map +1 -1
- package/dist/questions/supports.js +2 -1
- package/dist/questions/supports.js.map +1 -1
- package/dist/questions/telegramThread.js +11 -7
- package/dist/questions/telegramThread.js.map +1 -1
- package/dist/questions/updated.js +19 -14
- package/dist/questions/updated.js.map +1 -1
- package/dist/triggers/newUpdate.d.ts +2 -2
- package/dist/triggers/newUpdate.d.ts.map +1 -1
- package/dist/triggers/newUpdate.js +35 -21
- package/dist/triggers/newUpdate.js.map +1 -1
- package/dist/webhook.d.ts.map +1 -1
- package/dist/webhook.js +8 -7
- package/dist/webhook.js.map +1 -1
- package/package.json +4 -4
|
@@ -13,18 +13,22 @@ const updateTypes = z.enum([
|
|
|
13
13
|
'poll_answer',
|
|
14
14
|
'my_chat_member',
|
|
15
15
|
'chat_member',
|
|
16
|
-
'chat_join_request'
|
|
16
|
+
'chat_join_request'
|
|
17
17
|
]);
|
|
18
|
-
const input = z.object({
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
18
|
+
const input = z.object({
|
|
19
|
+
updateTypes: z.array(updateTypes).default([])
|
|
20
|
+
});
|
|
21
|
+
const jsonValue = z.lazy(()=>z.union([
|
|
22
|
+
z.string(),
|
|
23
|
+
z.number(),
|
|
24
|
+
z.boolean(),
|
|
25
|
+
z.null(),
|
|
26
|
+
z.array(jsonValue),
|
|
27
|
+
z.record(z.string(), jsonValue)
|
|
28
|
+
]));
|
|
29
|
+
const update = z.object({
|
|
30
|
+
update_id: z.number().optional()
|
|
31
|
+
}).catchall(jsonValue);
|
|
28
32
|
export const newUpdate = defineAppTrigger({
|
|
29
33
|
slug: 'newUpdate',
|
|
30
34
|
description: 'Trigger when the bot receives a selected Telegram update.',
|
|
@@ -34,18 +38,28 @@ export const newUpdate = defineAppTrigger({
|
|
|
34
38
|
output: update,
|
|
35
39
|
sample: {
|
|
36
40
|
update_id: 351114420,
|
|
37
|
-
message: {
|
|
41
|
+
message: {
|
|
42
|
+
message_id: 21,
|
|
43
|
+
text: 'Hello world',
|
|
44
|
+
chat: {
|
|
45
|
+
id: 55169542059,
|
|
46
|
+
type: 'private'
|
|
47
|
+
}
|
|
48
|
+
}
|
|
38
49
|
},
|
|
39
|
-
|
|
50
|
+
run ({ input, req }) {
|
|
40
51
|
const delivery = update.parse(req.data);
|
|
41
52
|
const selected = input.updateTypes;
|
|
42
|
-
const matches = selected.length === 0 || selected.some((type)
|
|
43
|
-
if (!matches)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
53
|
+
const matches = selected.length === 0 || selected.some((type)=>type in delivery);
|
|
54
|
+
if (!matches) return Promise.resolve([]);
|
|
55
|
+
const dedupeKey = delivery.update_id === undefined ? createHash('sha256').update(JSON.stringify(delivery)).digest('hex') : String(delivery.update_id);
|
|
56
|
+
return Promise.resolve([
|
|
57
|
+
{
|
|
58
|
+
dedupeKey,
|
|
59
|
+
data: delivery
|
|
60
|
+
}
|
|
61
|
+
]);
|
|
62
|
+
}
|
|
50
63
|
});
|
|
64
|
+
|
|
51
65
|
//# sourceMappingURL=newUpdate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/triggers/newUpdate.ts"],"names":["createHash","z","defineAppTrigger","updateTypes","enum","input","object","array","default","jsonValue","lazy","union","string","number","boolean","null","record","update","update_id","optional","catchall","newUpdate","slug","description","type","event","output","sample","message","message_id","text","chat","id","run","req","delivery","parse","data","selected","matches","length","some","Promise","resolve","dedupeKey","undefined","JSON","stringify","digest","String"],"mappings":"AAAA,SAASA,UAAU,QAAQ,cAAc;AAGzC,SAASC,CAAC,QAAQ,MAAM;AAExB,SAASC,gBAAgB,QAAQ,eAAe;AAEhD,MAAMC,cAAcF,EAAEG,IAAI,CAAC;IACzB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AAED,MAAMC,QAAQJ,EAAEK,MAAM,CAAC;IAAEH,aAAaF,EAAEM,KAAK,CAACJ,aAAaK,OAAO,CAAC,EAAE;AAAE;AACvE,MAAMC,YAAkCR,EAAES,IAAI,CAAC,IAC7CT,EAAEU,KAAK,CAAC;QACNV,EAAEW,MAAM;QACRX,EAAEY,MAAM;QACRZ,EAAEa,OAAO;QACTb,EAAEc,IAAI;QACNd,EAAEM,KAAK,CAACE;QACRR,EAAEe,MAAM,CAACf,EAAEW,MAAM,IAAIH;KACtB;AAGH,MAAMQ,SAAShB,EAAEK,MAAM,CAAC;IAAEY,WAAWjB,EAAEY,MAAM,GAAGM,QAAQ;AAAG,GAAGC,QAAQ,CAACX;AAEvE,OAAO,MAAMY,YAAYnB,iBAAiB;IACxCoB,MAAM;IACNC,aAAa;IACbC,MAAM;IACNC,OAAO;IACPpB;IACAqB,QAAQT;IACRU,QAAQ;QACNT,WAAW;QACXU,SAAS;YAAEC,YAAY;YAAIC,MAAM;YAAeC,MAAM;gBAAEC,IAAI;gBAAaR,MAAM;YAAU;QAAE;IAC7F;IACAS,KAAI,EAAE5B,KAAK,EAAE6B,GAAG,EAAE;QAChB,MAAMC,WAAWlB,OAAOmB,KAAK,CAACF,IAAIG,IAAI;QACtC,MAAMC,WAAWjC,MAAMF,WAAW;QAClC,MAAMoC,UAAUD,SAASE,MAAM,KAAK,KAAKF,SAASG,IAAI,CAAC,CAACjB,OAASA,QAAQW;QAEzE,IAAI,CAACI,SAAS,OAAOG,QAAQC,OAAO,CAAC,EAAE;QAEvC,MAAMC,YACJT,SAASjB,SAAS,KAAK2B,YACnB7C,WAAW,UAAUiB,MAAM,CAAC6B,KAAKC,SAAS,CAACZ,WAAWa,MAAM,CAAC,SAC7DC,OAAOd,SAASjB,SAAS;QAE/B,OAAOwB,QAAQC,OAAO,CAAC;YAAC;gBAAEC;gBAAWP,MAAMF;YAAS;SAAE;IACxD;AACF,GAAG","file":"newUpdate.js"}
|
package/dist/webhook.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,
|
|
1
|
+
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,wBAAgB,qBAAqB,CAAC,EACpC,GAAG,EACH,OAAO,GACR,EAAE;IACD,GAAG,EAAE,cAAc,CAAC;IACpB,OAAO,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC,oBAaA;AAED,wBAAgB,oBAAoB;;EAEnC"}
|
package/dist/webhook.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { timingSafeEqual } from 'node:crypto';
|
|
2
|
-
export
|
|
3
|
-
if (!options.webhookSecret)
|
|
4
|
-
return false;
|
|
2
|
+
export function verifyTelegramWebhook({ req, options }) {
|
|
3
|
+
if (!options.webhookSecret) return Promise.resolve(false);
|
|
5
4
|
const supplied = req.headers.get('x-telegram-bot-api-secret-token');
|
|
6
|
-
if (!supplied)
|
|
7
|
-
return false;
|
|
5
|
+
if (!supplied) return Promise.resolve(false);
|
|
8
6
|
const suppliedBytes = Buffer.from(supplied);
|
|
9
7
|
const expectedBytes = Buffer.from(options.webhookSecret);
|
|
10
|
-
return (suppliedBytes.length === expectedBytes.length && timingSafeEqual(suppliedBytes, expectedBytes));
|
|
8
|
+
return Promise.resolve(suppliedBytes.length === expectedBytes.length && timingSafeEqual(suppliedBytes, expectedBytes));
|
|
11
9
|
}
|
|
12
10
|
export function parseTelegramWebhook() {
|
|
13
|
-
return {
|
|
11
|
+
return {
|
|
12
|
+
event: 'update'
|
|
13
|
+
};
|
|
14
14
|
}
|
|
15
|
+
|
|
15
16
|
//# sourceMappingURL=webhook.js.map
|
package/dist/webhook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/webhook.ts"],"names":["timingSafeEqual","verifyTelegramWebhook","req","options","webhookSecret","Promise","resolve","supplied","headers","get","suppliedBytes","Buffer","from","expectedBytes","length","parseTelegramWebhook","event"],"mappings":"AAAA,SAASA,eAAe,QAAQ,cAAc;AAI9C,OAAO,SAASC,sBAAsB,EACpCC,GAAG,EACHC,OAAO,EAIR;IACC,IAAI,CAACA,QAAQC,aAAa,EAAE,OAAOC,QAAQC,OAAO,CAAC;IAEnD,MAAMC,WAAWL,IAAIM,OAAO,CAACC,GAAG,CAAC;IAEjC,IAAI,CAACF,UAAU,OAAOF,QAAQC,OAAO,CAAC;IAEtC,MAAMI,gBAAgBC,OAAOC,IAAI,CAACL;IAClC,MAAMM,gBAAgBF,OAAOC,IAAI,CAACT,QAAQC,aAAa;IAEvD,OAAOC,QAAQC,OAAO,CACpBI,cAAcI,MAAM,KAAKD,cAAcC,MAAM,IAAId,gBAAgBU,eAAeG;AAEpF;AAEA,OAAO,SAASE;IACd,OAAO;QAAEC,OAAO;IAAS;AAC3B","file":"webhook.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frogbotai/piece-telegram-bot",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.0",
|
|
4
4
|
"description": "telegram-bot tools for FrogBot.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Colby Gilbert",
|
|
@@ -23,17 +23,17 @@
|
|
|
23
23
|
"zod": "^4.3.6"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"frogbot": "0.
|
|
26
|
+
"frogbot": "0.31.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"typescript": "5.6.2",
|
|
30
|
-
"frogbot": "0.
|
|
30
|
+
"frogbot": "0.31.0"
|
|
31
31
|
},
|
|
32
32
|
"publishConfig": {
|
|
33
33
|
"access": "public"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
|
-
"build": "
|
|
36
|
+
"build": "node ../../../scripts/build-package.mjs",
|
|
37
37
|
"clean": "rm -rf dist",
|
|
38
38
|
"typecheck": "tsc --noEmit"
|
|
39
39
|
}
|