@frogbotai/piece-telegram-bot 0.29.0 → 0.30.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.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.js +36 -26
- package/dist/client.js.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 -18
- package/dist/files.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +20 -12
- 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.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.js +35 -21
- package/dist/triggers/newUpdate.js.map +1 -1
- package/dist/webhook.js +8 -7
- package/dist/webhook.js.map +1 -1
- package/package.json +4 -4
package/dist/client.js
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { telegramBotAuth } from './config.js';
|
|
3
|
-
const telegramResponse = z
|
|
4
|
-
.object({
|
|
3
|
+
const telegramResponse = z.object({
|
|
5
4
|
ok: z.boolean(),
|
|
6
5
|
result: z.unknown().optional(),
|
|
7
6
|
error_code: z.number().optional(),
|
|
8
7
|
description: z.string().optional(),
|
|
9
|
-
parameters: z.record(z.string(), z.unknown()).optional()
|
|
10
|
-
})
|
|
11
|
-
.passthrough();
|
|
8
|
+
parameters: z.record(z.string(), z.unknown()).optional()
|
|
9
|
+
}).passthrough();
|
|
12
10
|
export class TelegramApiError extends Error {
|
|
13
11
|
code;
|
|
14
12
|
description;
|
|
15
13
|
retryAfter;
|
|
16
|
-
constructor({ code, description, method, retryAfter
|
|
14
|
+
constructor({ code, description, method, retryAfter }){
|
|
17
15
|
super(`Telegram API ${method} failed${code ? ` (${code})` : ''}: ${description}`);
|
|
18
16
|
this.name = 'TelegramApiError';
|
|
19
17
|
this.code = code;
|
|
@@ -23,20 +21,21 @@ export class TelegramApiError extends Error {
|
|
|
23
21
|
}
|
|
24
22
|
function queryString(query) {
|
|
25
23
|
const params = new URLSearchParams();
|
|
26
|
-
Object.entries(query ?? {}).forEach(([key, value])
|
|
27
|
-
if (value !== undefined && value !== null)
|
|
28
|
-
params.set(key, String(value));
|
|
24
|
+
Object.entries(query ?? {}).forEach(([key, value])=>{
|
|
25
|
+
if (value !== undefined && value !== null) params.set(key, String(value));
|
|
29
26
|
});
|
|
30
27
|
const value = params.toString();
|
|
31
28
|
return value ? `?${value}` : '';
|
|
32
29
|
}
|
|
33
|
-
function apiError({ method, response, result
|
|
30
|
+
function apiError({ method, response, result }) {
|
|
34
31
|
const retryAfter = result.parameters?.retry_after;
|
|
35
32
|
return new TelegramApiError({
|
|
36
33
|
method,
|
|
37
34
|
code: result.error_code,
|
|
38
35
|
description: result.description ?? response.statusText,
|
|
39
|
-
...
|
|
36
|
+
...typeof retryAfter === 'number' ? {
|
|
37
|
+
retryAfter
|
|
38
|
+
} : {}
|
|
40
39
|
});
|
|
41
40
|
}
|
|
42
41
|
export function createTelegramBotClient({ auth: value }) {
|
|
@@ -44,43 +43,54 @@ export function createTelegramBotClient({ auth: value }) {
|
|
|
44
43
|
const apiUrl = (process.env.TELEGRAM_API_BASE_URL ?? 'https://api.telegram.org').replace(/\/+$/, '');
|
|
45
44
|
const baseUrl = `${apiUrl}/bot${auth.botToken}`;
|
|
46
45
|
return {
|
|
47
|
-
fileUrl(path) {
|
|
46
|
+
fileUrl (path) {
|
|
48
47
|
return `${apiUrl}/file/bot${auth.botToken}/${path.replace(/^\/+/, '')}`;
|
|
49
48
|
},
|
|
50
|
-
async call(method, body) {
|
|
49
|
+
async call (method, body) {
|
|
51
50
|
const multipart = body instanceof FormData;
|
|
52
51
|
const response = await fetch(`${baseUrl}/${method}`, {
|
|
53
52
|
method: 'POST',
|
|
54
|
-
headers: multipart ? undefined : {
|
|
55
|
-
|
|
53
|
+
headers: multipart ? undefined : {
|
|
54
|
+
'Content-Type': 'application/json'
|
|
55
|
+
},
|
|
56
|
+
body: multipart ? body : JSON.stringify(body ?? {})
|
|
56
57
|
});
|
|
57
58
|
const result = telegramResponse.parse(await response.json());
|
|
58
|
-
if (!response.ok || !result.ok)
|
|
59
|
-
|
|
59
|
+
if (!response.ok || !result.ok) throw apiError({
|
|
60
|
+
method,
|
|
61
|
+
response,
|
|
62
|
+
result
|
|
63
|
+
});
|
|
60
64
|
return result;
|
|
61
65
|
},
|
|
62
|
-
async request(endpoint, request) {
|
|
66
|
+
async request (endpoint, request) {
|
|
63
67
|
const path = endpoint.replace(/^\/+/, '');
|
|
64
68
|
const response = await fetch(`${baseUrl}/${path}${queryString(request.query)}`, {
|
|
65
69
|
method: request.method ?? 'GET',
|
|
66
|
-
headers: request.body === undefined
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
+
headers: request.body === undefined ? request.headers : {
|
|
71
|
+
'Content-Type': 'application/json',
|
|
72
|
+
...request.headers
|
|
73
|
+
},
|
|
74
|
+
body: request.body === undefined ? undefined : JSON.stringify(request.body)
|
|
70
75
|
});
|
|
71
76
|
const result = telegramResponse.parse(await response.json());
|
|
72
|
-
if (!response.ok ||
|
|
73
|
-
throw apiError({
|
|
77
|
+
if (!response.ok || typeof result.ok === 'boolean' && !result.ok) {
|
|
78
|
+
throw apiError({
|
|
79
|
+
method: path,
|
|
80
|
+
response,
|
|
81
|
+
result
|
|
82
|
+
});
|
|
74
83
|
}
|
|
75
84
|
return result;
|
|
76
85
|
},
|
|
77
|
-
async downloadFile(path) {
|
|
86
|
+
async downloadFile (path) {
|
|
78
87
|
const response = await fetch(this.fileUrl(path));
|
|
79
88
|
if (!response.ok) {
|
|
80
89
|
throw new Error(`Telegram file download failed (${response.status}): ${response.statusText}`);
|
|
81
90
|
}
|
|
82
91
|
return Buffer.from(await response.arrayBuffer()).toString('base64');
|
|
83
|
-
}
|
|
92
|
+
}
|
|
84
93
|
};
|
|
85
94
|
}
|
|
95
|
+
|
|
86
96
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/client.ts"],"names":["z","telegramBotAuth","telegramResponse","object","ok","boolean","result","unknown","optional","error_code","number","description","string","parameters","record","passthrough","TelegramApiError","Error","code","retryAfter","method","name","queryString","query","params","URLSearchParams","Object","entries","forEach","key","value","undefined","set","String","toString","apiError","response","retry_after","statusText","createTelegramBotClient","auth","parse","apiUrl","process","env","TELEGRAM_API_BASE_URL","replace","baseUrl","botToken","fileUrl","path","call","body","multipart","FormData","fetch","headers","JSON","stringify","json","request","endpoint","downloadFile","status","Buffer","from","arrayBuffer"],"mappings":"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","file":"client.js"}
|
package/dist/config.js
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export const telegramBotAuth = z.object({
|
|
3
|
-
botToken: z.string().min(1).meta({
|
|
3
|
+
botToken: z.string().min(1).meta({
|
|
4
|
+
label: 'Bot token',
|
|
5
|
+
secret: true
|
|
6
|
+
})
|
|
4
7
|
});
|
|
5
8
|
export const telegramBotOptions = z.object({
|
|
6
|
-
webhookSecret: z
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
webhookSecret: z.string().min(1).max(256).regex(/^[A-Za-z0-9_-]+$/, 'Webhook secret may contain letters, numbers, underscores, and hyphens.').optional().meta({
|
|
10
|
+
label: 'Webhook secret',
|
|
11
|
+
secret: true
|
|
12
|
+
}),
|
|
13
|
+
botUsername: z.string().min(1).optional().meta({
|
|
14
|
+
label: 'Bot username'
|
|
15
|
+
}),
|
|
16
|
+
allowedUserIds: z.array(z.string().min(1)).optional().meta({
|
|
17
|
+
label: 'Allowed user IDs'
|
|
18
|
+
})
|
|
15
19
|
});
|
|
20
|
+
|
|
16
21
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/config.ts"],"names":["z","telegramBotAuth","object","botToken","string","min","meta","label","secret","telegramBotOptions","webhookSecret","max","regex","optional","botUsername","allowedUserIds","array"],"mappings":"AAAA,SAASA,CAAC,QAAQ,MAAM;AAExB,OAAO,MAAMC,kBAAkBD,EAAEE,MAAM,CAAC;IACtCC,UAAUH,EAAEI,MAAM,GAAGC,GAAG,CAAC,GAAGC,IAAI,CAAC;QAAEC,OAAO;QAAaC,QAAQ;IAAK;AACtE,GAAG;AAEH,OAAO,MAAMC,qBAAqBT,EAAEE,MAAM,CAAC;IACzCQ,eAAeV,EACZI,MAAM,GACNC,GAAG,CAAC,GACJM,GAAG,CAAC,KACJC,KAAK,CACJ,oBACA,0EAEDC,QAAQ,GACRP,IAAI,CAAC;QAAEC,OAAO;QAAkBC,QAAQ;IAAK;IAChDM,aAAad,EAAEI,MAAM,GAAGC,GAAG,CAAC,GAAGQ,QAAQ,GAAGP,IAAI,CAAC;QAAEC,OAAO;IAAe;IACvEQ,gBAAgBf,EAAEgB,KAAK,CAAChB,EAAEI,MAAM,GAAGC,GAAG,CAAC,IAAIQ,QAAQ,GAAGP,IAAI,CAAC;QAAEC,OAAO;IAAmB;AACzF,GAAG","file":"config.js"}
|
package/dist/define.js
CHANGED
package/dist/define.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/define.ts"],"names":["createPieceHelpers","defineAction","defineAppTrigger"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,iBAAiB;AAKpD,OAAO,MAAM,EAAEC,YAAY,EAAEC,gBAAgB,EAAE,GAAGF,qBAG9C","file":"define.js"}
|
package/dist/files.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;iBAGvB,CAAC;AAQH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC;;;GAiD/F"}
|
package/dist/files.js
CHANGED
|
@@ -1,56 +1,61 @@
|
|
|
1
|
+
import { filesCollectionSlug } from 'frogbot/pieces';
|
|
1
2
|
import { z } from 'zod';
|
|
2
3
|
export const telegramFile = z.object({
|
|
3
|
-
fileId: z.union([
|
|
4
|
-
|
|
4
|
+
fileId: z.union([
|
|
5
|
+
z.string(),
|
|
6
|
+
z.number()
|
|
7
|
+
]),
|
|
8
|
+
name: z.string().optional()
|
|
5
9
|
});
|
|
6
10
|
const storedFile = z.object({
|
|
7
11
|
url: z.string(),
|
|
8
12
|
filename: z.string().optional(),
|
|
9
|
-
name: z.string().optional()
|
|
13
|
+
name: z.string().optional()
|
|
10
14
|
});
|
|
11
15
|
export async function loadTelegramFile(req, value) {
|
|
12
|
-
const collection = req
|
|
13
|
-
if (!collection) {
|
|
14
|
-
throw new Error('[frogbot] Telegram uploads require the files collection to be configured.');
|
|
15
|
-
}
|
|
16
|
+
const collection = filesCollectionSlug(req, 'Telegram');
|
|
16
17
|
const result = await req.frogbot.findByID({
|
|
17
18
|
collection,
|
|
18
19
|
id: value.fileId,
|
|
19
20
|
depth: 0,
|
|
20
21
|
req,
|
|
21
|
-
overrideAccess: false
|
|
22
|
+
overrideAccess: false
|
|
22
23
|
});
|
|
23
24
|
const file = storedFile.safeParse(result);
|
|
24
|
-
if (!file.success)
|
|
25
|
-
throw new Error(`[frogbot] File '${value.fileId}' is unavailable.`);
|
|
25
|
+
if (!file.success) throw new Error(`[frogbot] File '${value.fileId}' is unavailable.`);
|
|
26
26
|
const config = await req.frogbot.config._internal.payloadConfig;
|
|
27
27
|
const baseUrl = config.serverURL ?? req.url;
|
|
28
|
-
if (!baseUrl)
|
|
29
|
-
throw new Error(`[frogbot] File '${value.fileId}' has no resolvable URL.`);
|
|
28
|
+
if (!baseUrl) throw new Error(`[frogbot] File '${value.fileId}' has no resolvable URL.`);
|
|
30
29
|
const url = new URL(file.data.url, baseUrl);
|
|
31
30
|
const base = new URL(baseUrl);
|
|
32
31
|
const headers = new Headers();
|
|
33
|
-
if (![
|
|
32
|
+
if (![
|
|
33
|
+
'http:',
|
|
34
|
+
'https:'
|
|
35
|
+
].includes(url.protocol) || url.username || url.password) {
|
|
34
36
|
throw new Error(`[frogbot] File '${value.fileId}' has an unsafe URL.`);
|
|
35
37
|
}
|
|
36
38
|
if (url.origin === base.origin) {
|
|
37
|
-
for (const name of [
|
|
39
|
+
for (const name of [
|
|
40
|
+
'authorization',
|
|
41
|
+
'cookie'
|
|
42
|
+
]){
|
|
38
43
|
const header = req.headers.get(name);
|
|
39
|
-
if (header)
|
|
40
|
-
headers.set(name, header);
|
|
44
|
+
if (header) headers.set(name, header);
|
|
41
45
|
}
|
|
42
46
|
}
|
|
43
47
|
const response = await fetch(url, {
|
|
44
48
|
headers,
|
|
45
49
|
redirect: 'error',
|
|
46
|
-
signal: req.signal ?? undefined
|
|
50
|
+
signal: req.signal ?? undefined
|
|
47
51
|
});
|
|
48
52
|
if (!response.ok) {
|
|
49
53
|
throw new Error(`[frogbot] File '${value.fileId}' is unavailable (${response.status}).`);
|
|
50
54
|
}
|
|
51
55
|
return {
|
|
52
56
|
data: await response.blob(),
|
|
53
|
-
name: value.name ?? file.data.filename ?? file.data.name ?? 'upload'
|
|
57
|
+
name: value.name ?? file.data.filename ?? file.data.name ?? 'upload'
|
|
54
58
|
};
|
|
55
59
|
}
|
|
60
|
+
|
|
56
61
|
//# sourceMappingURL=files.js.map
|
package/dist/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/files.ts"],"names":["filesCollectionSlug","z","telegramFile","object","fileId","union","string","number","name","optional","storedFile","url","filename","loadTelegramFile","req","value","collection","result","frogbot","findByID","id","depth","overrideAccess","file","safeParse","success","Error","config","_internal","payloadConfig","baseUrl","serverURL","URL","data","base","headers","Headers","includes","protocol","username","password","origin","header","get","set","response","fetch","redirect","signal","undefined","ok","status","blob"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,iBAAiB;AACrD,SAASC,CAAC,QAAQ,MAAM;AAExB,OAAO,MAAMC,eAAeD,EAAEE,MAAM,CAAC;IACnCC,QAAQH,EAAEI,KAAK,CAAC;QAACJ,EAAEK,MAAM;QAAIL,EAAEM,MAAM;KAAG;IACxCC,MAAMP,EAAEK,MAAM,GAAGG,QAAQ;AAC3B,GAAG;AAEH,MAAMC,aAAaT,EAAEE,MAAM,CAAC;IAC1BQ,KAAKV,EAAEK,MAAM;IACbM,UAAUX,EAAEK,MAAM,GAAGG,QAAQ;IAC7BD,MAAMP,EAAEK,MAAM,GAAGG,QAAQ;AAC3B;AAEA,OAAO,eAAeI,iBAAiBC,GAAmB,EAAEC,KAAoC;IAC9F,MAAMC,aAAahB,oBAAoBc,KAAK;IAE5C,MAAMG,SAAS,MAAMH,IAAII,OAAO,CAACC,QAAQ,CAAC;QACxCH;QACAI,IAAIL,MAAMX,MAAM;QAChBiB,OAAO;QACPP;QACAQ,gBAAgB;IAClB;IACA,MAAMC,OAAOb,WAAWc,SAAS,CAACP;IAElC,IAAI,CAACM,KAAKE,OAAO,EAAE,MAAM,IAAIC,MAAM,CAAC,gBAAgB,EAAEX,MAAMX,MAAM,CAAC,iBAAiB,CAAC;IAErF,MAAMuB,SAAS,MAAMb,IAAII,OAAO,CAACS,MAAM,CAACC,SAAS,CAACC,aAAa;IAC/D,MAAMC,UAAUH,OAAOI,SAAS,IAAIjB,IAAIH,GAAG;IAE3C,IAAI,CAACmB,SAAS,MAAM,IAAIJ,MAAM,CAAC,gBAAgB,EAAEX,MAAMX,MAAM,CAAC,wBAAwB,CAAC;IAEvF,MAAMO,MAAM,IAAIqB,IAAIT,KAAKU,IAAI,CAACtB,GAAG,EAAEmB;IACnC,MAAMI,OAAO,IAAIF,IAAIF;IACrB,MAAMK,UAAU,IAAIC;IAEpB,IAAI,CAAC;QAAC;QAAS;KAAS,CAACC,QAAQ,CAAC1B,IAAI2B,QAAQ,KAAK3B,IAAI4B,QAAQ,IAAI5B,IAAI6B,QAAQ,EAAE;QAC/E,MAAM,IAAId,MAAM,CAAC,gBAAgB,EAAEX,MAAMX,MAAM,CAAC,oBAAoB,CAAC;IACvE;IAEA,IAAIO,IAAI8B,MAAM,KAAKP,KAAKO,MAAM,EAAE;QAC9B,KAAK,MAAMjC,QAAQ;YAAC;YAAiB;SAAS,CAAE;YAC9C,MAAMkC,SAAS5B,IAAIqB,OAAO,CAACQ,GAAG,CAACnC;YAE/B,IAAIkC,QAAQP,QAAQS,GAAG,CAACpC,MAAMkC;QAChC;IACF;IAEA,MAAMG,WAAW,MAAMC,MAAMnC,KAAK;QAChCwB;QACAY,UAAU;QACVC,QAAQlC,IAAIkC,MAAM,IAAIC;IACxB;IAEA,IAAI,CAACJ,SAASK,EAAE,EAAE;QAChB,MAAM,IAAIxB,MAAM,CAAC,gBAAgB,EAAEX,MAAMX,MAAM,CAAC,kBAAkB,EAAEyC,SAASM,MAAM,CAAC,EAAE,CAAC;IACzF;IAEA,OAAO;QACLlB,MAAM,MAAMY,SAASO,IAAI;QACzB5C,MAAMO,MAAMP,IAAI,IAAIe,KAAKU,IAAI,CAACrB,QAAQ,IAAIW,KAAKU,IAAI,CAACzB,IAAI,IAAI;IAC9D;AACF","file":"files.js"}
|
package/dist/index.d.ts
CHANGED
|
@@ -85,10 +85,10 @@ export declare const createTelegramBot: import("frogbot").PieceFactory<{
|
|
|
85
85
|
protectContent: z.ZodDefault<z.ZodBoolean>;
|
|
86
86
|
chatId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
87
87
|
mediaType: z.ZodEnum<{
|
|
88
|
-
animation: "animation";
|
|
89
88
|
photo: "photo";
|
|
90
|
-
sticker: "sticker";
|
|
91
89
|
video: "video";
|
|
90
|
+
sticker: "sticker";
|
|
91
|
+
animation: "animation";
|
|
92
92
|
}>;
|
|
93
93
|
media: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
94
94
|
fileId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
@@ -230,10 +230,10 @@ export declare const createTelegramBot: import("frogbot").PieceFactory<{
|
|
|
230
230
|
chatId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
231
231
|
media: z.ZodArray<z.ZodObject<{
|
|
232
232
|
type: z.ZodEnum<{
|
|
233
|
-
audio: "audio";
|
|
234
|
-
document: "document";
|
|
235
233
|
photo: "photo";
|
|
236
234
|
video: "video";
|
|
235
|
+
document: "document";
|
|
236
|
+
audio: "audio";
|
|
237
237
|
}>;
|
|
238
238
|
media: z.ZodString;
|
|
239
239
|
caption: z.ZodOptional<z.ZodString>;
|
|
@@ -578,8 +578,8 @@ export declare const createTelegramBot: import("frogbot").PieceFactory<{
|
|
|
578
578
|
slug: "answerCallbackQuery";
|
|
579
579
|
}, import("frogbot").PieceActionDefinition<z.ZodObject<{
|
|
580
580
|
method: z.ZodDefault<z.ZodEnum<{
|
|
581
|
-
POST: "POST";
|
|
582
581
|
GET: "GET";
|
|
582
|
+
POST: "POST";
|
|
583
583
|
PUT: "PUT";
|
|
584
584
|
PATCH: "PATCH";
|
|
585
585
|
DELETE: "DELETE";
|
|
@@ -610,10 +610,10 @@ export declare const createTelegramBot: import("frogbot").PieceFactory<{
|
|
|
610
610
|
edited_message: "edited_message";
|
|
611
611
|
channel_post: "channel_post";
|
|
612
612
|
edited_channel_post: "edited_channel_post";
|
|
613
|
-
poll: "poll";
|
|
614
613
|
callback_query: "callback_query";
|
|
615
614
|
inline_query: "inline_query";
|
|
616
615
|
chosen_inline_result: "chosen_inline_result";
|
|
616
|
+
poll: "poll";
|
|
617
617
|
poll_answer: "poll_answer";
|
|
618
618
|
my_chat_member: "my_chat_member";
|
|
619
619
|
chat_member: "chat_member";
|
|
@@ -631,7 +631,7 @@ export declare const createTelegramBot: import("frogbot").PieceFactory<{
|
|
|
631
631
|
type: "app";
|
|
632
632
|
event: string;
|
|
633
633
|
run(args: import("frogbot").PieceRunArgs<{
|
|
634
|
-
updateTypes: ("message" | "edited_message" | "channel_post" | "edited_channel_post" | "
|
|
634
|
+
updateTypes: ("message" | "edited_message" | "channel_post" | "edited_channel_post" | "callback_query" | "inline_query" | "chosen_inline_result" | "poll" | "poll_answer" | "my_chat_member" | "chat_member" | "chat_join_request")[];
|
|
635
635
|
}, {
|
|
636
636
|
webhookSecret?: string | undefined;
|
|
637
637
|
botUsername?: string | undefined;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { definePiece } from 'frogbot/pieces';
|
|
2
|
-
import { answerCallbackQuery, createInviteLink, customApiCall, deleteMessage, editMessageText, forwardMessage, getChat, getChatMember, getFile, pinMessage, sendAudio, sendChatAction, sendDocument, sendLocation, sendMedia, sendMediaGroup, sendPoll, sendTextMessage, unpinMessage
|
|
2
|
+
import { answerCallbackQuery, createInviteLink, customApiCall, deleteMessage, editMessageText, forwardMessage, getChat, getChatMember, getFile, pinMessage, sendAudio, sendChatAction, sendDocument, sendLocation, sendMedia, sendMediaGroup, sendPoll, sendTextMessage, unpinMessage } from './actions/index.js';
|
|
3
3
|
import { createFrogBotTelegramAdapter } from './adapter.js';
|
|
4
4
|
import { createTelegramBotClient } from './client.js';
|
|
5
5
|
import { telegramBotAuth, telegramBotOptions } from './config.js';
|
|
@@ -25,18 +25,20 @@ export const telegramBotActions = [
|
|
|
25
25
|
'getFile',
|
|
26
26
|
'createInviteLink',
|
|
27
27
|
'answerCallbackQuery',
|
|
28
|
-
'customApiCall'
|
|
28
|
+
'customApiCall'
|
|
29
|
+
];
|
|
30
|
+
export const telegramBotTriggers = [
|
|
31
|
+
'newUpdate'
|
|
29
32
|
];
|
|
30
|
-
export const telegramBotTriggers = ['newUpdate'];
|
|
31
33
|
export const telegramBotScopes = [];
|
|
32
34
|
const telegramBotWebhook = {
|
|
33
35
|
verify: verifyTelegramWebhook,
|
|
34
|
-
parse() {
|
|
36
|
+
parse () {
|
|
35
37
|
return parseTelegramWebhook();
|
|
36
|
-
}
|
|
38
|
+
}
|
|
37
39
|
};
|
|
38
40
|
const telegramBotChannel = {
|
|
39
|
-
adapter({ auth, options }) {
|
|
41
|
+
adapter ({ auth, options }) {
|
|
40
42
|
if (!options.webhookSecret) {
|
|
41
43
|
throw new Error('Telegram channels require a webhookSecret option.');
|
|
42
44
|
}
|
|
@@ -45,18 +47,21 @@ const telegramBotChannel = {
|
|
|
45
47
|
secretToken: options.webhookSecret,
|
|
46
48
|
userName: options.botUsername,
|
|
47
49
|
allowedUserIds: options.allowedUserIds,
|
|
48
|
-
mode: 'webhook'
|
|
50
|
+
mode: 'webhook'
|
|
49
51
|
});
|
|
50
52
|
},
|
|
51
|
-
async identity() {
|
|
53
|
+
async identity () {
|
|
52
54
|
return null;
|
|
53
55
|
},
|
|
54
|
-
questions: telegramQuestions
|
|
56
|
+
questions: telegramQuestions
|
|
55
57
|
};
|
|
56
58
|
export const createTelegramBot = definePiece({
|
|
57
59
|
slug: 'telegramBot',
|
|
58
60
|
label: 'Telegram',
|
|
59
|
-
admin: {
|
|
61
|
+
admin: {
|
|
62
|
+
description: 'Build chatbots and respond to Telegram updates',
|
|
63
|
+
group: 'Communication'
|
|
64
|
+
},
|
|
60
65
|
auth: telegramBotAuth,
|
|
61
66
|
options: telegramBotOptions,
|
|
62
67
|
client: createTelegramBotClient,
|
|
@@ -81,8 +86,11 @@ export const createTelegramBot = definePiece({
|
|
|
81
86
|
getFile,
|
|
82
87
|
createInviteLink,
|
|
83
88
|
answerCallbackQuery,
|
|
84
|
-
customApiCall
|
|
89
|
+
customApiCall
|
|
85
90
|
],
|
|
86
|
-
triggers: [
|
|
91
|
+
triggers: [
|
|
92
|
+
newUpdate
|
|
93
|
+
]
|
|
87
94
|
});
|
|
95
|
+
|
|
88
96
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["definePiece","answerCallbackQuery","createInviteLink","customApiCall","deleteMessage","editMessageText","forwardMessage","getChat","getChatMember","getFile","pinMessage","sendAudio","sendChatAction","sendDocument","sendLocation","sendMedia","sendMediaGroup","sendPoll","sendTextMessage","unpinMessage","createFrogBotTelegramAdapter","createTelegramBotClient","telegramBotAuth","telegramBotOptions","telegramQuestions","newUpdate","parseTelegramWebhook","verifyTelegramWebhook","telegramBotActions","telegramBotTriggers","telegramBotScopes","telegramBotWebhook","verify","parse","telegramBotChannel","adapter","auth","options","webhookSecret","Error","botToken","secretToken","userName","botUsername","allowedUserIds","mode","identity","questions","createTelegramBot","slug","label","admin","description","group","client","webhook","channel","actions","triggers"],"mappings":"AAAA,SAASA,WAAW,QAA8C,iBAAiB;AAGnF,SACEC,mBAAmB,EACnBC,gBAAgB,EAChBC,aAAa,EACbC,aAAa,EACbC,eAAe,EACfC,cAAc,EACdC,OAAO,EACPC,aAAa,EACbC,OAAO,EACPC,UAAU,EACVC,SAAS,EACTC,cAAc,EACdC,YAAY,EACZC,YAAY,EACZC,SAAS,EACTC,cAAc,EACdC,QAAQ,EACRC,eAAe,EACfC,YAAY,QACP,qBAAqB;AAC5B,SAASC,4BAA4B,QAAQ,eAAe;AAC5D,SAASC,uBAAuB,QAAgC,cAAc;AAC9E,SAASC,eAAe,EAAEC,kBAAkB,QAAQ,cAAc;AAClE,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,SAAS,QAAQ,0BAA0B;AACpD,SAASC,oBAAoB,EAAEC,qBAAqB,QAAQ,eAAe;AAE3E,OAAO,MAAMC,qBAAqB;IAChC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAU;AACX,OAAO,MAAMC,sBAAsB;IAAC;CAAY,CAAU;AAC1D,OAAO,MAAMC,oBAAoB,EAAE,CAAU;AAE7C,MAAMC,qBAAqB;IACzBC,QAAQL;IACRM;QACE,OAAOP;IACT;AACF;AAEA,MAAMQ,qBAAqB;IACzBC,SAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAE;QACvB,IAAI,CAACA,QAAQC,aAAa,EAAE;YAC1B,MAAM,IAAIC,MAAM;QAClB;QAEA,OAAOnB,6BAA6B;YAClCoB,UAAUJ,KAAKI,QAAQ;YACvBC,aAAaJ,QAAQC,aAAa;YAClCI,UAAUL,QAAQM,WAAW;YAC7BC,gBAAgBP,QAAQO,cAAc;YACtCC,MAAM;QACR;IACF;IACA,MAAMC;QACJ,OAAO;IACT;IACAC,WAAWvB;AACb;AAMA,OAAO,MAAMwB,oBAAoBhD,YAAY;IAC3CiD,MAAM;IACNC,OAAO;IACPC,OAAO;QAAEC,aAAa;QAAkDC,OAAO;IAAgB;IAC/FjB,MAAMd;IACNe,SAASd;IACT+B,QAAQjC;IACRkC,SAASxB;IACTyB,SAAStB;IACTuB,SAAS;QACPvC;QACAH;QACAF;QACAF;QACAG;QACAE;QACAC;QACAL;QACAP;QACAD;QACAE;QACAI;QACAS;QACAZ;QACAC;QACAC;QACAP;QACAD;QACAE;KACD;IACDuD,UAAU;QAACjC;KAAU;AACvB,GAAG","file":"index.js"}
|
package/dist/questions/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/questions/index.ts"],"names":["denyTelegramQuestion","rejectTelegramQuestion","staleTelegramQuestion","parseTelegramQuestion","renderTelegramQuestion","settleTelegramQuestion","supportsTelegramQuestion","updateTelegramQuestion","telegramQuestions","supports","render","parse","settled","updated","rejected","denied","stale"],"mappings":"AAGA,SAASA,oBAAoB,EAAEC,sBAAsB,EAAEC,qBAAqB,QAAQ,cAAc;AAClG,SAASC,qBAAqB,QAAQ,aAAa;AACnD,SAASC,sBAAsB,QAAQ,cAAc;AACrD,SAASC,sBAAsB,QAAQ,eAAe;AACtD,SAASC,wBAAwB,QAAQ,gBAAgB;AACzD,SAASC,sBAAsB,QAAQ,eAAe;AAEtD,OAAO,MAAMC,oBAA8D;IACzEC,UAAUH;IACVI,QAAQN;IACRO,OAAOR;IACPS,SAASP;IACTQ,SAASN;IACTO,UAAUb;IACVc,QAAQf;IACRgB,OAAOd;AACT,EAAE","file":"index.js"}
|