@xbibzlibrary/telebibz 0.4.4 → 3.0.1
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/CHANGELOG.md +35 -138
- package/LICENSE +1 -1
- package/NOTICE.md +9 -4
- package/README.md +173 -242
- package/examples/01-quickstart.js +13 -0
- package/examples/02-menu-tombol.js +22 -0
- package/examples/03-wizard.js +29 -0
- package/examples/04-broadcast.js +25 -0
- package/examples/05-kirim-file.js +19 -0
- package/examples/06-menu.js +35 -0
- package/examples/07-inline-query.js +18 -0
- package/index.d.ts +81 -0
- package/index.js +42 -0
- package/lib/api.js +154 -0
- package/lib/broadcast.js +35 -0
- package/lib/composer.js +174 -0
- package/lib/context.js +190 -0
- package/lib/errors.js +35 -0
- package/lib/file.js +41 -0
- package/lib/inline-query.js +28 -0
- package/lib/keyboard.js +83 -0
- package/lib/logger.js +38 -0
- package/lib/menus.js +90 -0
- package/lib/net.js +115 -0
- package/lib/ratelimit.js +61 -0
- package/lib/runner.js +45 -0
- package/lib/session.js +36 -0
- package/lib/telebibz.js +190 -0
- package/lib/wizard.js +81 -0
- package/package.json +35 -97
- package/test/all.test.js +334 -0
- package/CODE_OF_CONDUCT.md +0 -37
- package/CONTRIBUTING.md +0 -59
- package/CONTRIBUTION_RULES.md +0 -41
- package/GOVERNANCE.md +0 -47
- package/README.id.md +0 -292
- package/README.zh-CN.md +0 -292
- package/RELEASE_AUTOMATION.md +0 -78
- package/RELEASE_POLICY.md +0 -32
- package/SECURITY.md +0 -47
- package/SHOWCASE.md +0 -29
- package/SUPPORT.md +0 -30
- package/assets/readme-preview.html +0 -75
- package/assets/telebibz-logo.png +0 -0
- package/assets/telebibz-readme-preview.png +0 -0
- package/bin/telebibz.mjs +0 -3
- package/dist/generated/api.d.ts +0 -13
- package/dist/generated/api.d.ts.map +0 -1
- package/dist/generated/api.js +0 -192
- package/dist/generated/api.js.map +0 -1
- package/dist/src/api/client.d.ts +0 -62
- package/dist/src/api/client.d.ts.map +0 -1
- package/dist/src/api/client.js +0 -104
- package/dist/src/api/client.js.map +0 -1
- package/dist/src/api/errors.d.ts +0 -45
- package/dist/src/api/errors.d.ts.map +0 -1
- package/dist/src/api/errors.js +0 -65
- package/dist/src/api/errors.js.map +0 -1
- package/dist/src/api/index.d.ts +0 -6
- package/dist/src/api/index.d.ts.map +0 -1
- package/dist/src/api/index.js +0 -6
- package/dist/src/api/index.js.map +0 -1
- package/dist/src/api/telegram-types/LICENSE +0 -21
- package/dist/src/api/telegram-types/api.d.ts +0 -22
- package/dist/src/api/telegram-types/checklist.d.ts +0 -72
- package/dist/src/api/telegram-types/inline.d.ts +0 -692
- package/dist/src/api/telegram-types/langs.d.ts +0 -193
- package/dist/src/api/telegram-types/manage.d.ts +0 -1144
- package/dist/src/api/telegram-types/markup.d.ts +0 -268
- package/dist/src/api/telegram-types/message.d.ts +0 -1537
- package/dist/src/api/telegram-types/methods.d.ts +0 -2870
- package/dist/src/api/telegram-types/mod.d.ts +0 -14
- package/dist/src/api/telegram-types/passport.d.ts +0 -163
- package/dist/src/api/telegram-types/payment.d.ts +0 -570
- package/dist/src/api/telegram-types/rich.d.ts +0 -1010
- package/dist/src/api/telegram-types/settings.d.ts +0 -120
- package/dist/src/api/telegram-types/story.d.ts +0 -89
- package/dist/src/api/telegram-types/update.d.ts +0 -84
- package/dist/src/api/telegram.d.ts +0 -7
- package/dist/src/api/telegram.d.ts.map +0 -1
- package/dist/src/api/telegram.js +0 -2
- package/dist/src/api/telegram.js.map +0 -1
- package/dist/src/api/transport.d.ts +0 -68
- package/dist/src/api/transport.d.ts.map +0 -1
- package/dist/src/api/transport.js +0 -264
- package/dist/src/api/transport.js.map +0 -1
- package/dist/src/api/types.d.ts +0 -466
- package/dist/src/api/types.d.ts.map +0 -1
- package/dist/src/api/types.js +0 -2
- package/dist/src/api/types.js.map +0 -1
- package/dist/src/branding/terminal.d.ts +0 -77
- package/dist/src/branding/terminal.d.ts.map +0 -1
- package/dist/src/branding/terminal.js +0 -328
- package/dist/src/branding/terminal.js.map +0 -1
- package/dist/src/broadcast/broadcast.d.ts +0 -50
- package/dist/src/broadcast/broadcast.d.ts.map +0 -1
- package/dist/src/broadcast/broadcast.js +0 -56
- package/dist/src/broadcast/broadcast.js.map +0 -1
- package/dist/src/cache/cache.d.ts +0 -34
- package/dist/src/cache/cache.d.ts.map +0 -1
- package/dist/src/cache/cache.js +0 -41
- package/dist/src/cache/cache.js.map +0 -1
- package/dist/src/cli.d.ts +0 -2
- package/dist/src/cli.d.ts.map +0 -1
- package/dist/src/cli.js +0 -84
- package/dist/src/cli.js.map +0 -1
- package/dist/src/context/context.d.ts +0 -124
- package/dist/src/context/context.d.ts.map +0 -1
- package/dist/src/context/context.js +0 -302
- package/dist/src/context/context.js.map +0 -1
- package/dist/src/core/bot.d.ts +0 -204
- package/dist/src/core/bot.d.ts.map +0 -1
- package/dist/src/core/bot.js +0 -506
- package/dist/src/core/bot.js.map +0 -1
- package/dist/src/core/events.d.ts +0 -75
- package/dist/src/core/events.d.ts.map +0 -1
- package/dist/src/core/events.js +0 -35
- package/dist/src/core/events.js.map +0 -1
- package/dist/src/core/webhook-reply.d.ts +0 -34
- package/dist/src/core/webhook-reply.d.ts.map +0 -1
- package/dist/src/core/webhook-reply.js +0 -37
- package/dist/src/core/webhook-reply.js.map +0 -1
- package/dist/src/index.d.ts +0 -24
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -24
- package/dist/src/index.js.map +0 -1
- package/dist/src/keyboard/index.d.ts +0 -46
- package/dist/src/keyboard/index.d.ts.map +0 -1
- package/dist/src/keyboard/index.js +0 -55
- package/dist/src/keyboard/index.js.map +0 -1
- package/dist/src/middleware/compose.d.ts +0 -5
- package/dist/src/middleware/compose.d.ts.map +0 -1
- package/dist/src/middleware/compose.js +0 -17
- package/dist/src/middleware/compose.js.map +0 -1
- package/dist/src/observability/logger.d.ts +0 -78
- package/dist/src/observability/logger.d.ts.map +0 -1
- package/dist/src/observability/logger.js +0 -285
- package/dist/src/observability/logger.js.map +0 -1
- package/dist/src/plugins/plugin.d.ts +0 -38
- package/dist/src/plugins/plugin.d.ts.map +0 -1
- package/dist/src/plugins/plugin.js +0 -59
- package/dist/src/plugins/plugin.js.map +0 -1
- package/dist/src/queue/queue.d.ts +0 -77
- package/dist/src/queue/queue.d.ts.map +0 -1
- package/dist/src/queue/queue.js +0 -213
- package/dist/src/queue/queue.js.map +0 -1
- package/dist/src/router/router.d.ts +0 -61
- package/dist/src/router/router.d.ts.map +0 -1
- package/dist/src/router/router.js +0 -183
- package/dist/src/router/router.js.map +0 -1
- package/dist/src/state/conversation.d.ts +0 -56
- package/dist/src/state/conversation.d.ts.map +0 -1
- package/dist/src/state/conversation.js +0 -133
- package/dist/src/state/conversation.js.map +0 -1
- package/dist/src/state/forms.d.ts +0 -34
- package/dist/src/state/forms.d.ts.map +0 -1
- package/dist/src/state/forms.js +0 -44
- package/dist/src/state/forms.js.map +0 -1
- package/dist/src/state/menu.d.ts +0 -78
- package/dist/src/state/menu.d.ts.map +0 -1
- package/dist/src/state/menu.js +0 -127
- package/dist/src/state/menu.js.map +0 -1
- package/dist/src/storage/storage.d.ts +0 -146
- package/dist/src/storage/storage.d.ts.map +0 -1
- package/dist/src/storage/storage.js +0 -195
- package/dist/src/storage/storage.js.map +0 -1
- package/dist/src/telegram-features.d.ts +0 -33
- package/dist/src/telegram-features.d.ts.map +0 -1
- package/dist/src/telegram-features.js +0 -71
- package/dist/src/telegram-features.js.map +0 -1
- package/dist/src/testing.d.ts +0 -24
- package/dist/src/testing.d.ts.map +0 -1
- package/dist/src/testing.js +0 -38
- package/dist/src/testing.js.map +0 -1
- package/dist/src/utils/concurrency.d.ts +0 -25
- package/dist/src/utils/concurrency.d.ts.map +0 -1
- package/dist/src/utils/concurrency.js +0 -52
- package/dist/src/utils/concurrency.js.map +0 -1
- package/dist/src/utils/files.d.ts +0 -45
- package/dist/src/utils/files.d.ts.map +0 -1
- package/dist/src/utils/files.js +0 -53
- package/dist/src/utils/files.js.map +0 -1
- package/dist/src/utils/text.d.ts +0 -39
- package/dist/src/utils/text.d.ts.map +0 -1
- package/dist/src/utils/text.js +0 -56
- package/dist/src/utils/text.js.map +0 -1
- package/dist/src/webhook/handler.d.ts +0 -19
- package/dist/src/webhook/handler.d.ts.map +0 -1
- package/dist/src/webhook/handler.js +0 -141
- package/dist/src/webhook/handler.js.map +0 -1
- package/dist-cjs/generated/api.js +0 -194
- package/dist-cjs/package.json +0 -3
- package/dist-cjs/src/api/client.js +0 -107
- package/dist-cjs/src/api/errors.js +0 -74
- package/dist-cjs/src/api/index.js +0 -21
- package/dist-cjs/src/api/telegram-types/LICENSE +0 -21
- package/dist-cjs/src/api/telegram-types/api.d.ts +0 -22
- package/dist-cjs/src/api/telegram-types/checklist.d.ts +0 -72
- package/dist-cjs/src/api/telegram-types/inline.d.ts +0 -692
- package/dist-cjs/src/api/telegram-types/langs.d.ts +0 -193
- package/dist-cjs/src/api/telegram-types/manage.d.ts +0 -1144
- package/dist-cjs/src/api/telegram-types/markup.d.ts +0 -268
- package/dist-cjs/src/api/telegram-types/message.d.ts +0 -1537
- package/dist-cjs/src/api/telegram-types/methods.d.ts +0 -2870
- package/dist-cjs/src/api/telegram-types/mod.d.ts +0 -14
- package/dist-cjs/src/api/telegram-types/passport.d.ts +0 -163
- package/dist-cjs/src/api/telegram-types/payment.d.ts +0 -570
- package/dist-cjs/src/api/telegram-types/rich.d.ts +0 -1010
- package/dist-cjs/src/api/telegram-types/settings.d.ts +0 -120
- package/dist-cjs/src/api/telegram-types/story.d.ts +0 -89
- package/dist-cjs/src/api/telegram-types/update.d.ts +0 -84
- package/dist-cjs/src/api/telegram.js +0 -2
- package/dist-cjs/src/api/transport.js +0 -267
- package/dist-cjs/src/api/types.js +0 -2
- package/dist-cjs/src/branding/terminal.js +0 -338
- package/dist-cjs/src/broadcast/broadcast.js +0 -58
- package/dist-cjs/src/cache/cache.js +0 -45
- package/dist-cjs/src/cli.js +0 -86
- package/dist-cjs/src/context/context.js +0 -305
- package/dist-cjs/src/core/bot.js +0 -510
- package/dist-cjs/src/core/events.js +0 -38
- package/dist-cjs/src/core/webhook-reply.js +0 -42
- package/dist-cjs/src/index.js +0 -47
- package/dist-cjs/src/keyboard/index.js +0 -61
- package/dist-cjs/src/middleware/compose.js +0 -20
- package/dist-cjs/src/observability/logger.js +0 -293
- package/dist-cjs/src/plugins/plugin.js +0 -63
- package/dist-cjs/src/queue/queue.js +0 -219
- package/dist-cjs/src/router/router.js +0 -186
- package/dist-cjs/src/state/conversation.js +0 -139
- package/dist-cjs/src/state/forms.js +0 -47
- package/dist-cjs/src/state/menu.js +0 -133
- package/dist-cjs/src/storage/storage.js +0 -202
- package/dist-cjs/src/telegram-features.js +0 -76
- package/dist-cjs/src/testing.js +0 -45
- package/dist-cjs/src/utils/concurrency.js +0 -57
- package/dist-cjs/src/utils/files.js +0 -58
- package/dist-cjs/src/utils/text.js +0 -63
- package/dist-cjs/src/webhook/handler.js +0 -144
- package/docs/API.id.md +0 -1935
- package/docs/API.md +0 -1969
- package/docs/API.zh-CN.md +0 -1929
- package/docs/GETTING_STARTED.id.md +0 -85
- package/docs/GETTING_STARTED.md +0 -85
- package/docs/GETTING_STARTED.zh-CN.md +0 -85
- package/docs/GITHUB_PACKAGES.id.md +0 -82
- package/docs/GITHUB_PACKAGES.md +0 -82
- package/docs/GITHUB_PACKAGES.zh-CN.md +0 -82
- package/docs/README.md +0 -48
- package/docs/STORAGE.id.md +0 -105
- package/docs/STORAGE.md +0 -105
- package/docs/STORAGE.zh-CN.md +0 -105
- package/examples/README.md +0 -37
- package/examples/files.ts +0 -35
- package/examples/minimal.ts +0 -12
- package/examples/tsconfig.json +0 -9
- package/examples/webhook.ts +0 -42
- package/examples/wizard-registration.ts +0 -42
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/core/events.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,QAAQ;IACF,SAAS,GAAG,IAAI,GAAG,EAAqD,CAAC;IAE1F,EAAE,CAAyB,KAAQ,EAAE,QAA6B;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,QAA0C,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,CAAyB,KAAQ,EAAE,QAA6B;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,GAAG,CAAyB,KAAQ,EAAE,QAA6B;QACjE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,QAA0C,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,IAAI,CAAyB,KAAQ,EAAE,OAAkB;QAC7D,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAChC,OAAO,KAAK,EAAE,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;QACvC,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,0CAA0C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrH,CAAC;IAED,kBAAkB,KAAW,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtD,aAAa,CAAyB,KAAQ,IAAY,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;CACzG"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Webhook reply support (Telegraf-style): while handling a webhook update, the
|
|
3
|
-
* first outgoing API call can be answered through the webhook HTTP response
|
|
4
|
-
* itself instead of a separate request to api.telegram.org — Telegram executes
|
|
5
|
-
* the method for you. Only one call can ride the response; every other call
|
|
6
|
-
* goes through the transport as usual.
|
|
7
|
-
*
|
|
8
|
-
* The sink is carried in an AsyncLocalStorage, so concurrent updates (parallel
|
|
9
|
-
* across chats) each keep their own responder.
|
|
10
|
-
*/
|
|
11
|
-
export type WebhookReplyPayload = Record<string, unknown>;
|
|
12
|
-
export type WebhookReplySink = (payload: WebhookReplyPayload) => void;
|
|
13
|
-
/** Runs `fn` with a webhook reply sink active for every API call inside it. */
|
|
14
|
-
export declare function runWithWebhookReply<T>(sink: WebhookReplySink, fn: () => Promise<T>): Promise<T>;
|
|
15
|
-
/**
|
|
16
|
-
* Runs `fn` with webhook replies suppressed (library-internal calls such as
|
|
17
|
-
* the lazy `getMe` initialization must never claim the response slot).
|
|
18
|
-
*/
|
|
19
|
-
export declare function runWithoutWebhookReply<T>(fn: () => Promise<T>): Promise<T>;
|
|
20
|
-
/**
|
|
21
|
-
* Claims the webhook reply for `method`/`payload` if a sink is active and not
|
|
22
|
-
* yet used. Returns the synthesized transport response the caller should
|
|
23
|
-
* resolve with, or `undefined` when the call must go through the transport.
|
|
24
|
-
*/
|
|
25
|
-
export declare function claimWebhookReply(method: string, payload: Record<string, unknown> | undefined): {
|
|
26
|
-
status: number;
|
|
27
|
-
data: {
|
|
28
|
-
ok: true;
|
|
29
|
-
result: true;
|
|
30
|
-
};
|
|
31
|
-
} | undefined;
|
|
32
|
-
/** True while an unclaimed webhook reply is available (diagnostics/testing). */
|
|
33
|
-
export declare function hasWebhookReply(): boolean;
|
|
34
|
-
//# sourceMappingURL=webhook-reply.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-reply.d.ts","sourceRoot":"","sources":["../../../src/core/webhook-reply.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1D,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;AAUtE,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE/F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAI1E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,IAAI,CAAA;KAAE,CAAA;CAAE,GAAG,SAAS,CAQhK;AAED,gFAAgF;AAChF,wBAAgB,eAAe,IAAI,OAAO,CAGzC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
-
const storage = new AsyncLocalStorage();
|
|
3
|
-
/** Runs `fn` with a webhook reply sink active for every API call inside it. */
|
|
4
|
-
export function runWithWebhookReply(sink, fn) {
|
|
5
|
-
return storage.run({ sink, claimed: false, suppressed: false }, fn);
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Runs `fn` with webhook replies suppressed (library-internal calls such as
|
|
9
|
-
* the lazy `getMe` initialization must never claim the response slot).
|
|
10
|
-
*/
|
|
11
|
-
export function runWithoutWebhookReply(fn) {
|
|
12
|
-
const state = storage.getStore();
|
|
13
|
-
if (!state)
|
|
14
|
-
return fn();
|
|
15
|
-
return storage.run({ ...state, suppressed: true }, fn);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Claims the webhook reply for `method`/`payload` if a sink is active and not
|
|
19
|
-
* yet used. Returns the synthesized transport response the caller should
|
|
20
|
-
* resolve with, or `undefined` when the call must go through the transport.
|
|
21
|
-
*/
|
|
22
|
-
export function claimWebhookReply(method, payload) {
|
|
23
|
-
const state = storage.getStore();
|
|
24
|
-
if (!state || state.claimed || state.suppressed)
|
|
25
|
-
return undefined;
|
|
26
|
-
state.claimed = true;
|
|
27
|
-
state.sink({ method, ...(payload ?? {}) });
|
|
28
|
-
// Telegram never sends the method result back to the webhook response, so
|
|
29
|
-
// the caller resolves with a synthetic success (same as Telegraf).
|
|
30
|
-
return { status: 200, data: { ok: true, result: true } };
|
|
31
|
-
}
|
|
32
|
-
/** True while an unclaimed webhook reply is available (diagnostics/testing). */
|
|
33
|
-
export function hasWebhookReply() {
|
|
34
|
-
const state = storage.getStore();
|
|
35
|
-
return state !== undefined && !state.claimed;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=webhook-reply.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-reply.js","sourceRoot":"","sources":["../../../src/core/webhook-reply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAsBrD,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAc,CAAC;AAEpD,+EAA+E;AAC/E,MAAM,UAAU,mBAAmB,CAAI,IAAsB,EAAE,EAAoB;IACjF,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAI,EAAoB;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAA4C;IAC5F,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3C,0EAA0E;IAC1E,mEAAmE;IACnE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;AAC3D,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,OAAO,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AAC/C,CAAC"}
|
package/dist/src/index.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export * from "./core/bot.js";
|
|
2
|
-
export * from "./core/webhook-reply.js";
|
|
3
|
-
export * from "./core/events.js";
|
|
4
|
-
export * from "./api/index.js";
|
|
5
|
-
export * from "./context/context.js";
|
|
6
|
-
export * from "./middleware/compose.js";
|
|
7
|
-
export * from "./router/router.js";
|
|
8
|
-
export * from "./keyboard/index.js";
|
|
9
|
-
export * from "./storage/storage.js";
|
|
10
|
-
export * from "./cache/cache.js";
|
|
11
|
-
export * from "./queue/queue.js";
|
|
12
|
-
export * from "./plugins/plugin.js";
|
|
13
|
-
export * from "./webhook/handler.js";
|
|
14
|
-
export * from "./utils/text.js";
|
|
15
|
-
export * from "./utils/files.js";
|
|
16
|
-
export * from "./utils/concurrency.js";
|
|
17
|
-
export * from "./broadcast/broadcast.js";
|
|
18
|
-
export * from "./state/conversation.js";
|
|
19
|
-
export * from "./state/forms.js";
|
|
20
|
-
export * from "./state/menu.js";
|
|
21
|
-
export * from "./telegram-features.js";
|
|
22
|
-
export { buildTerminalBranding, printTerminalBranding, printTeleBibzBanner, paintRainbow, printStatusLine, runStartupSequence, startTeleBibzBanner } from "./branding/terminal.js";
|
|
23
|
-
export * from "./observability/logger.js";
|
|
24
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACnL,cAAc,2BAA2B,CAAC"}
|
package/dist/src/index.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export * from "./core/bot.js";
|
|
2
|
-
export * from "./core/webhook-reply.js";
|
|
3
|
-
export * from "./core/events.js";
|
|
4
|
-
export * from "./api/index.js";
|
|
5
|
-
export * from "./context/context.js";
|
|
6
|
-
export * from "./middleware/compose.js";
|
|
7
|
-
export * from "./router/router.js";
|
|
8
|
-
export * from "./keyboard/index.js";
|
|
9
|
-
export * from "./storage/storage.js";
|
|
10
|
-
export * from "./cache/cache.js";
|
|
11
|
-
export * from "./queue/queue.js";
|
|
12
|
-
export * from "./plugins/plugin.js";
|
|
13
|
-
export * from "./webhook/handler.js";
|
|
14
|
-
export * from "./utils/text.js";
|
|
15
|
-
export * from "./utils/files.js";
|
|
16
|
-
export * from "./utils/concurrency.js";
|
|
17
|
-
export * from "./broadcast/broadcast.js";
|
|
18
|
-
export * from "./state/conversation.js";
|
|
19
|
-
export * from "./state/forms.js";
|
|
20
|
-
export * from "./state/menu.js";
|
|
21
|
-
export * from "./telegram-features.js";
|
|
22
|
-
export { buildTerminalBranding, printTerminalBranding, printTeleBibzBanner, paintRainbow, printStatusLine, runStartupSequence, startTeleBibzBanner } from "./branding/terminal.js";
|
|
23
|
-
export * from "./observability/logger.js";
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACnL,cAAc,2BAA2B,CAAC"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import type { InlineKeyboardButton, InlineKeyboardMarkup, KeyboardButton, ReplyKeyboardMarkup, ReplyMarkup } from "../api/types.js";
|
|
2
|
-
export declare class InlineKeyboard {
|
|
3
|
-
private readonly rows;
|
|
4
|
-
static from(rows: InlineKeyboardButton[][]): InlineKeyboard;
|
|
5
|
-
text(text: string, callbackData: string): this;
|
|
6
|
-
url(text: string, url: string): this;
|
|
7
|
-
webApp(text: string, url: string): this;
|
|
8
|
-
pay(text?: string): this;
|
|
9
|
-
copy(text: string, copiedText: string): this;
|
|
10
|
-
switchInline(text: string, query?: string): this;
|
|
11
|
-
switchInlineCurrent(text: string, query?: string): this;
|
|
12
|
-
login(text: string, url: string, options?: Record<string, unknown>): this;
|
|
13
|
-
game(text: string): this;
|
|
14
|
-
button(button: InlineKeyboardButton): this;
|
|
15
|
-
row(...buttons: InlineKeyboardButton[]): this;
|
|
16
|
-
conditional(condition: boolean, factory: (keyboard: this) => this): this;
|
|
17
|
-
grid(buttons: InlineKeyboardButton[], columns: number): this;
|
|
18
|
-
build(): InlineKeyboardMarkup;
|
|
19
|
-
asReplyMarkup(): InlineKeyboardMarkup;
|
|
20
|
-
private ensureRow;
|
|
21
|
-
}
|
|
22
|
-
export declare class ReplyKeyboard {
|
|
23
|
-
private readonly rows;
|
|
24
|
-
private options;
|
|
25
|
-
text(text: string): this;
|
|
26
|
-
contact(text: string): this;
|
|
27
|
-
location(text: string): this;
|
|
28
|
-
poll(text: string, type?: "quiz" | "regular"): this;
|
|
29
|
-
webApp(text: string, url: string): this;
|
|
30
|
-
requestUsers(text: string, options?: Record<string, unknown>): this;
|
|
31
|
-
requestChat(text: string, options?: Record<string, unknown>): this;
|
|
32
|
-
resized(resize?: boolean): this;
|
|
33
|
-
oneTime(oneTime?: boolean): this;
|
|
34
|
-
persistent(persistent?: boolean): this;
|
|
35
|
-
placeholder(text: string): this;
|
|
36
|
-
selective(selective?: boolean): this;
|
|
37
|
-
button(button: KeyboardButton): this;
|
|
38
|
-
row(...buttons: KeyboardButton[]): this;
|
|
39
|
-
grid(buttons: KeyboardButton[], columns: number): this;
|
|
40
|
-
build(options?: Omit<ReplyKeyboardMarkup, "keyboard">): ReplyKeyboardMarkup;
|
|
41
|
-
asReplyMarkup(): ReplyKeyboardMarkup;
|
|
42
|
-
private ensureRow;
|
|
43
|
-
}
|
|
44
|
-
export declare function removeKeyboard(selective?: boolean): ReplyMarkup;
|
|
45
|
-
export declare function forceReply(placeholder?: string, selective?: boolean): ReplyMarkup;
|
|
46
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/keyboard/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
export class InlineKeyboard {
|
|
2
|
-
rows = [];
|
|
3
|
-
static from(rows) { const keyboard = new InlineKeyboard(); keyboard.rows.push(...rows.map((row) => [...row])); return keyboard; }
|
|
4
|
-
text(text, callbackData) { return this.button({ text, callback_data: callbackData }); }
|
|
5
|
-
url(text, url) { return this.button({ text, url }); }
|
|
6
|
-
webApp(text, url) { return this.button({ text, web_app: { url } }); }
|
|
7
|
-
pay(text = "Pay") { return this.button({ text, pay: true }); }
|
|
8
|
-
copy(text, copiedText) { return this.button({ text, copy_text: { text: copiedText } }); }
|
|
9
|
-
switchInline(text, query = "") { return this.button({ text, switch_inline_query: query }); }
|
|
10
|
-
switchInlineCurrent(text, query = "") { return this.button({ text, switch_inline_query_current_chat: query }); }
|
|
11
|
-
login(text, url, options = {}) { return this.button({ text, login_url: { url, ...options } }); }
|
|
12
|
-
game(text) { return this.button({ text, callback_game: {} }); }
|
|
13
|
-
button(button) { this.ensureRow().push(validateInlineButton(button)); return this; }
|
|
14
|
-
row(...buttons) { this.rows.push(buttons.map(validateInlineButton)); return this; }
|
|
15
|
-
conditional(condition, factory) { return condition ? factory(this) : this; }
|
|
16
|
-
grid(buttons, columns) { if (!Number.isInteger(columns) || columns < 1)
|
|
17
|
-
throw new RangeError("columns must be a positive integer"); for (let index = 0; index < buttons.length; index += columns)
|
|
18
|
-
this.rows.push(buttons.slice(index, index + columns).map(validateInlineButton)); return this; }
|
|
19
|
-
build() { return { inline_keyboard: this.rows.map((row) => [...row]) }; }
|
|
20
|
-
asReplyMarkup() { return this.build(); }
|
|
21
|
-
ensureRow() { const row = this.rows.at(-1); if (row)
|
|
22
|
-
return row; const next = []; this.rows.push(next); return next; }
|
|
23
|
-
}
|
|
24
|
-
export class ReplyKeyboard {
|
|
25
|
-
rows = [];
|
|
26
|
-
options = {};
|
|
27
|
-
text(text) { return this.button({ text }); }
|
|
28
|
-
contact(text) { return this.button({ text, request_contact: true }); }
|
|
29
|
-
location(text) { return this.button({ text, request_location: true }); }
|
|
30
|
-
poll(text, type) { return this.button({ text, request_poll: type ? { type } : {} }); }
|
|
31
|
-
webApp(text, url) { return this.button({ text, web_app: { url } }); }
|
|
32
|
-
requestUsers(text, options = {}) { return this.button({ text, request_users: options }); }
|
|
33
|
-
requestChat(text, options = {}) { return this.button({ text, request_chat: options }); }
|
|
34
|
-
resized(resize = true) { this.options.resize_keyboard = resize; return this; }
|
|
35
|
-
oneTime(oneTime = true) { this.options.one_time_keyboard = oneTime; return this; }
|
|
36
|
-
persistent(persistent = true) { this.options.is_persistent = persistent; return this; }
|
|
37
|
-
placeholder(text) { this.options.input_field_placeholder = text; return this; }
|
|
38
|
-
selective(selective = true) { this.options.selective = selective; return this; }
|
|
39
|
-
button(button) { this.ensureRow().push(button); return this; }
|
|
40
|
-
row(...buttons) { this.rows.push([...buttons]); return this; }
|
|
41
|
-
grid(buttons, columns) { if (!Number.isInteger(columns) || columns < 1)
|
|
42
|
-
throw new RangeError("columns must be a positive integer"); for (let index = 0; index < buttons.length; index += columns)
|
|
43
|
-
this.rows.push(buttons.slice(index, index + columns)); return this; }
|
|
44
|
-
build(options = {}) { return { keyboard: this.rows.map((row) => [...row]), ...this.options, ...options }; }
|
|
45
|
-
asReplyMarkup() { return this.build(); }
|
|
46
|
-
ensureRow() { const row = this.rows.at(-1); if (row)
|
|
47
|
-
return row; const next = []; this.rows.push(next); return next; }
|
|
48
|
-
}
|
|
49
|
-
export function removeKeyboard(selective = false) { return { remove_keyboard: true, ...(selective ? { selective: true } : {}) }; }
|
|
50
|
-
export function forceReply(placeholder, selective = false) { return { force_reply: true, ...(placeholder ? { input_field_placeholder: placeholder } : {}), ...(selective ? { selective: true } : {}) }; }
|
|
51
|
-
function validateInlineButton(button) { if (!button.text)
|
|
52
|
-
throw new Error("Inline keyboard button text is required."); const actions = [button.url, button.callback_data, button.web_app, button.login_url, button.switch_inline_query, button.switch_inline_query_current_chat, button.callback_game, button.pay, button.copy_text].filter((value) => value !== undefined); if (actions.length !== 1)
|
|
53
|
-
throw new Error(`Inline button ${button.text} must contain exactly one action.`); if (button.callback_data && new TextEncoder().encode(button.callback_data).length > 64)
|
|
54
|
-
throw new RangeError("callback_data must be at most 64 bytes."); return { ...button }; }
|
|
55
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/keyboard/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export type Next = () => Promise<void>;
|
|
2
|
-
export type Middleware<Context> = (ctx: Context, next: Next) => void | Promise<void>;
|
|
3
|
-
export declare function compose<Context>(middleware: readonly Middleware<Context>[]): (ctx: Context) => Promise<void>;
|
|
4
|
-
export declare function middleware<Context>(handler: Middleware<Context>): Middleware<Context>;
|
|
5
|
-
//# sourceMappingURL=compose.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/middleware/compose.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACvC,MAAM,MAAM,UAAU,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAErF,wBAAgB,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAY5G;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAoB"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export function compose(middleware) {
|
|
2
|
-
return async function run(ctx) {
|
|
3
|
-
let index = -1;
|
|
4
|
-
const dispatch = async (position) => {
|
|
5
|
-
if (position <= index)
|
|
6
|
-
throw new Error("next() called multiple times");
|
|
7
|
-
index = position;
|
|
8
|
-
const handler = middleware[position];
|
|
9
|
-
if (!handler)
|
|
10
|
-
return;
|
|
11
|
-
await handler(ctx, () => dispatch(position + 1));
|
|
12
|
-
};
|
|
13
|
-
await dispatch(0);
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export function middleware(handler) { return handler; }
|
|
17
|
-
//# sourceMappingURL=compose.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/middleware/compose.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,OAAO,CAAU,UAA0C;IACzE,OAAO,KAAK,UAAU,GAAG,CAAC,GAAY;QACpC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACf,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAgB,EAAiB,EAAE;YACzD,IAAI,QAAQ,IAAI,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACvE,KAAK,GAAG,QAAQ,CAAC;YACjB,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC;QACF,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAU,OAA4B,IAAyB,OAAO,OAAO,CAAC,CAAC,CAAC"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import type { Update } from "../api/types.js";
|
|
2
|
-
export type LogLevel = "silent" | "error" | "warn" | "info" | "debug" | "trace";
|
|
3
|
-
export type LogFormat = "pretty" | "json";
|
|
4
|
-
export type LogContext = Record<string, unknown>;
|
|
5
|
-
export interface LogEntry {
|
|
6
|
-
timestamp: string;
|
|
7
|
-
level: Exclude<LogLevel, "silent">;
|
|
8
|
-
event: string;
|
|
9
|
-
context?: LogContext; /** Pre-rendered human line; the default sink writes it verbatim. */
|
|
10
|
-
text?: string;
|
|
11
|
-
}
|
|
12
|
-
export type LoggerSink = (entry: LogEntry) => void;
|
|
13
|
-
export interface LoggerOptions {
|
|
14
|
-
level?: LogLevel;
|
|
15
|
-
format?: LogFormat;
|
|
16
|
-
color?: boolean;
|
|
17
|
-
sink?: LoggerSink;
|
|
18
|
-
includeUpdateContent?: boolean;
|
|
19
|
-
redactKeys?: readonly string[];
|
|
20
|
-
context?: LogContext;
|
|
21
|
-
stream?: NodeJS.WriteStream;
|
|
22
|
-
}
|
|
23
|
-
export declare function redact(value: unknown, keys?: readonly string[]): unknown;
|
|
24
|
-
export interface UpdateSummary {
|
|
25
|
-
updateId: number;
|
|
26
|
-
type: string;
|
|
27
|
-
chatId?: number | string;
|
|
28
|
-
fromUserId?: number;
|
|
29
|
-
messageId?: number;
|
|
30
|
-
text?: string;
|
|
31
|
-
callbackData?: string;
|
|
32
|
-
}
|
|
33
|
-
export interface IncomingLog {
|
|
34
|
-
/** Displayed as "[ => ] {kind} From ..." — e.g. "Message", "Callback", "Update". */
|
|
35
|
-
kind: string;
|
|
36
|
-
fromId?: number | string | undefined;
|
|
37
|
-
nickname?: string | undefined;
|
|
38
|
-
contentLabel?: string | undefined;
|
|
39
|
-
content?: string | undefined;
|
|
40
|
-
truncated?: boolean | undefined;
|
|
41
|
-
context?: LogContext | undefined;
|
|
42
|
-
}
|
|
43
|
-
export declare const INCOMING_TEXT_LIMIT = 50;
|
|
44
|
-
/** Formats a date as `dd/mm/yyyy hh:mm:ss` in local time. */
|
|
45
|
-
export declare function formatLocalStamp(date?: Date): string;
|
|
46
|
-
/**
|
|
47
|
-
* Builds the human-readable description of an incoming update used for the
|
|
48
|
-
* `[ => ] Message From ...` terminal lines. Text messages and commands are
|
|
49
|
-
* truncated to 50 characters; callback button data is shown in full.
|
|
50
|
-
*/
|
|
51
|
-
export declare function describeIncomingUpdate(update: Update): IncomingLog;
|
|
52
|
-
export declare function summarizeUpdate(update: Update, includeContent?: boolean): UpdateSummary;
|
|
53
|
-
export declare class Logger {
|
|
54
|
-
readonly level: LogLevel;
|
|
55
|
-
readonly format: LogFormat;
|
|
56
|
-
readonly color: boolean;
|
|
57
|
-
readonly includeUpdateContent: boolean;
|
|
58
|
-
private readonly sink;
|
|
59
|
-
private readonly redactKeys;
|
|
60
|
-
private readonly baseContext;
|
|
61
|
-
constructor(options?: LoggerOptions);
|
|
62
|
-
child(context: LogContext): Logger;
|
|
63
|
-
trace(event: string, context?: LogContext): void;
|
|
64
|
-
debug(event: string, context?: LogContext): void;
|
|
65
|
-
info(event: string, context?: LogContext): void;
|
|
66
|
-
warn(event: string, context?: LogContext): void;
|
|
67
|
-
error(event: string, context?: LogContext): void;
|
|
68
|
-
/**
|
|
69
|
-
* Logs an incoming update as the human-readable terminal line:
|
|
70
|
-
* `[ => ] Message From {id} {nickname} {dd/mm/yyyy} {hh:mm:ss}` followed by
|
|
71
|
-
* an indented content line. In `json` format it emits a structured entry
|
|
72
|
-
* with the event name `update.received`.
|
|
73
|
-
*/
|
|
74
|
-
incoming(input: IncomingLog): void;
|
|
75
|
-
private write;
|
|
76
|
-
}
|
|
77
|
-
export declare function createLogger(options?: LoggerOptions): Logger;
|
|
78
|
-
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/observability/logger.ts"],"names":[],"mappings":"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"}
|