@xbibzlibrary/telebibz 0.3.2 → 0.4.2

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +34 -1
  2. package/README.id.md +65 -5
  3. package/README.md +46 -6
  4. package/README.zh-CN.md +75 -15
  5. package/dist/src/api/client.d.ts.map +1 -1
  6. package/dist/src/api/client.js +12 -0
  7. package/dist/src/api/client.js.map +1 -1
  8. package/dist/src/context/context.d.ts +46 -1
  9. package/dist/src/context/context.d.ts.map +1 -1
  10. package/dist/src/context/context.js +107 -0
  11. package/dist/src/context/context.js.map +1 -1
  12. package/dist/src/core/bot.d.ts +48 -3
  13. package/dist/src/core/bot.d.ts.map +1 -1
  14. package/dist/src/core/bot.js +95 -7
  15. package/dist/src/core/bot.js.map +1 -1
  16. package/dist/src/core/webhook-reply.d.ts +34 -0
  17. package/dist/src/core/webhook-reply.d.ts.map +1 -0
  18. package/dist/src/core/webhook-reply.js +37 -0
  19. package/dist/src/core/webhook-reply.js.map +1 -0
  20. package/dist/src/index.d.ts +2 -1
  21. package/dist/src/index.d.ts.map +1 -1
  22. package/dist/src/index.js +2 -1
  23. package/dist/src/index.js.map +1 -1
  24. package/dist/src/observability/logger.d.ts.map +1 -1
  25. package/dist/src/observability/logger.js +4 -1
  26. package/dist/src/observability/logger.js.map +1 -1
  27. package/dist/src/webhook/handler.d.ts +8 -0
  28. package/dist/src/webhook/handler.d.ts.map +1 -1
  29. package/dist/src/webhook/handler.js +26 -6
  30. package/dist/src/webhook/handler.js.map +1 -1
  31. package/dist-cjs/src/api/client.js +12 -0
  32. package/dist-cjs/src/context/context.js +107 -0
  33. package/dist-cjs/src/core/bot.js +97 -8
  34. package/dist-cjs/src/core/webhook-reply.js +42 -0
  35. package/dist-cjs/src/index.js +7 -1
  36. package/dist-cjs/src/observability/logger.js +4 -1
  37. package/dist-cjs/src/webhook/handler.js +26 -6
  38. package/docs/API.id.md +48 -4
  39. package/docs/API.md +48 -4
  40. package/docs/API.zh-CN.md +48 -4
  41. package/package.json +1 -1
@@ -175,6 +175,113 @@ export class Context {
175
175
  async getUserProfilePhotos(userId = this.from?.id, extra = {}) { if (!userId)
176
176
  throw new Error("No user in this update."); return this.api.call("getUserProfilePhotos", { user_id: userId, ...extra }); }
177
177
  async getFile(fileId) { return this.api.methods.getFile({ file_id: fileId }); }
178
+ // ─────────────────────────────────────────────────────────────────────────────
179
+ // Admin & moderation (full Telegraf-parity surface; chat defaults to ctx.chat)
180
+ // ─────────────────────────────────────────────────────────────────────────────
181
+ requireChatId() { if (this.chat?.id === undefined)
182
+ throw new Error("This update has no chat to act on."); return this.chat.id; }
183
+ async banChatMember(userId, untilDate, extra = {}) {
184
+ return this.api.call("banChatMember", { chat_id: this.requireChatId(), user_id: userId, ...(untilDate !== undefined ? { until_date: untilDate } : {}), ...extra });
185
+ }
186
+ async unbanChatMember(userId, onlyIfBanned, extra = {}) {
187
+ return this.api.call("unbanChatMember", { chat_id: this.requireChatId(), user_id: userId, ...(onlyIfBanned !== undefined ? { only_if_banned: onlyIfBanned } : {}), ...extra });
188
+ }
189
+ async restrictChatMember(userId, permissions, untilDate, extra = {}) {
190
+ return this.api.call("restrictChatMember", { chat_id: this.requireChatId(), user_id: userId, permissions, ...(untilDate !== undefined ? { until_date: untilDate } : {}), ...extra });
191
+ }
192
+ async promoteChatMember(userId, extra = {}) {
193
+ return this.api.call("promoteChatMember", { chat_id: this.requireChatId(), user_id: userId, ...extra });
194
+ }
195
+ async banChatSenderChat(senderChatId, extra = {}) {
196
+ return this.api.call("banChatSenderChat", { chat_id: this.requireChatId(), sender_chat_id: senderChatId, ...extra });
197
+ }
198
+ async unbanChatSenderChat(senderChatId, extra = {}) {
199
+ return this.api.call("unbanChatSenderChat", { chat_id: this.requireChatId(), sender_chat_id: senderChatId, ...extra });
200
+ }
201
+ // ── Chat management ──
202
+ async setChatTitle(title) { return this.api.call("setChatTitle", { chat_id: this.requireChatId(), title }); }
203
+ async setChatDescription(description) { return this.api.call("setChatDescription", { chat_id: this.requireChatId(), description }); }
204
+ async setChatPhoto(photo) { return this.api.call("setChatPhoto", { chat_id: this.requireChatId(), photo }); }
205
+ async deleteChatPhoto() { return this.api.call("deleteChatPhoto", { chat_id: this.requireChatId() }); }
206
+ async setChatPermissions(permissions, extra = {}) {
207
+ return this.api.call("setChatPermissions", { chat_id: this.requireChatId(), permissions, ...extra });
208
+ }
209
+ async leaveChat() { return this.api.call("leaveChat", { chat_id: this.requireChatId() }); }
210
+ async unpinAllChatMessages(extra = {}) { return this.api.call("unpinAllChatMessages", { chat_id: this.requireChatId(), ...extra }); }
211
+ async setChatStickerSet(stickerSetName) { return this.api.call("setChatStickerSet", { chat_id: this.requireChatId(), sticker_set_name: stickerSetName }); }
212
+ async deleteChatStickerSet() { return this.api.call("deleteChatStickerSet", { chat_id: this.requireChatId() }); }
213
+ // ── Chat & member info ──
214
+ async getChatAdministrators() { return this.api.call("getChatAdministrators", { chat_id: this.requireChatId() }); }
215
+ async getChatMemberCount() { return this.api.call("getChatMemberCount", { chat_id: this.requireChatId() }); }
216
+ async getChatMember(userId) { return this.api.call("getChatMember", { chat_id: this.requireChatId(), user_id: userId }); }
217
+ // ── Invite links ──
218
+ async exportChatInviteLink() { return this.api.call("exportChatInviteLink", { chat_id: this.requireChatId() }); }
219
+ async createChatInviteLink(extra = {}) { return this.api.call("createChatInviteLink", { chat_id: this.requireChatId(), ...extra }); }
220
+ async editChatInviteLink(inviteLink, extra = {}) { return this.api.call("editChatInviteLink", { chat_id: this.requireChatId(), invite_link: inviteLink, ...extra }); }
221
+ async revokeChatInviteLink(inviteLink) { return this.api.call("revokeChatInviteLink", { chat_id: this.requireChatId(), invite_link: inviteLink }); }
222
+ // ── Join requests ──
223
+ async approveChatJoinRequest(userId) { return this.api.call("approveChatJoinRequest", { chat_id: this.requireChatId(), user_id: userId }); }
224
+ async declineChatJoinRequest(userId) { return this.api.call("declineChatJoinRequest", { chat_id: this.requireChatId(), user_id: userId }); }
225
+ // ── Polls, live location, games, invoices ──
226
+ async replyWithQuiz(question, options, extra = {}) {
227
+ return this.sendMethod("sendPoll", { question, options, type: "quiz" }, extra);
228
+ }
229
+ async stopPoll(messageId = this.message?.message_id, extra = {}) {
230
+ if (messageId === undefined)
231
+ throw new Error("Cannot stop a poll without a message id.");
232
+ return this.api.call("stopPoll", { chat_id: this.requireChatId(), message_id: messageId, ...extra });
233
+ }
234
+ async editMessageLiveLocation(latitude, longitude, extra = {}) {
235
+ return this.api.call("editMessageLiveLocation", { chat_id: this.chat?.id, message_id: this.message?.message_id, latitude, longitude, ...extra });
236
+ }
237
+ async stopMessageLiveLocation(extra = {}) {
238
+ return this.api.call("stopMessageLiveLocation", { chat_id: this.chat?.id, message_id: this.message?.message_id, ...extra });
239
+ }
240
+ async replyWithGame(gameShortName, extra = {}) {
241
+ return this.sendMethod("sendGame", { game_short_name: gameShortName }, extra);
242
+ }
243
+ async setGameScore(userId, score, extra = {}) {
244
+ return this.api.call("setGameScore", { chat_id: this.chat?.id, message_id: this.message?.message_id, user_id: userId, score, ...extra });
245
+ }
246
+ async getGameHighScores(userId = this.from?.id, extra = {}) {
247
+ if (userId === undefined)
248
+ throw new Error("No user in this update; pass a user_id explicitly.");
249
+ return this.api.call("getGameHighScores", { chat_id: this.chat?.id, message_id: this.message?.message_id, user_id: userId, ...extra });
250
+ }
251
+ async replyWithInvoice(title, description, payload, providerToken, currency, prices, extra = {}) {
252
+ return this.sendMethod("sendInvoice", { title, description, payload, provider_token: providerToken, currency, prices }, extra);
253
+ }
254
+ // ── Forum topics ──
255
+ async createForumTopic(name, extra = {}) { return this.api.call("createForumTopic", { chat_id: this.requireChatId(), name, ...extra }); }
256
+ async editForumTopic(extra = {}) {
257
+ return this.api.call("editForumTopic", { chat_id: this.requireChatId(), message_thread_id: this.message?.message_thread_id, ...extra });
258
+ }
259
+ async closeForumTopic(messageThreadId = this.message?.message_thread_id) {
260
+ if (messageThreadId === undefined)
261
+ throw new Error("Cannot act on a forum topic without a message_thread_id.");
262
+ return this.api.call("closeForumTopic", { chat_id: this.requireChatId(), message_thread_id: messageThreadId });
263
+ }
264
+ async reopenForumTopic(messageThreadId = this.message?.message_thread_id) {
265
+ if (messageThreadId === undefined)
266
+ throw new Error("Cannot act on a forum topic without a message_thread_id.");
267
+ return this.api.call("reopenForumTopic", { chat_id: this.requireChatId(), message_thread_id: messageThreadId });
268
+ }
269
+ async deleteForumTopic(messageThreadId = this.message?.message_thread_id) {
270
+ if (messageThreadId === undefined)
271
+ throw new Error("Cannot act on a forum topic without a message_thread_id.");
272
+ return this.api.call("deleteForumTopic", { chat_id: this.requireChatId(), message_thread_id: messageThreadId });
273
+ }
274
+ async unpinAllForumTopicMessages(messageThreadId = this.message?.message_thread_id) {
275
+ if (messageThreadId === undefined)
276
+ throw new Error("Cannot act on a forum topic without a message_thread_id.");
277
+ return this.api.call("unpinAllForumTopicMessages", { chat_id: this.requireChatId(), message_thread_id: messageThreadId });
278
+ }
279
+ async getForumTopicIconStickers() { return this.api.call("getForumTopicIconStickers", {}); }
280
+ async editGeneralForumTopic(name) { return this.api.call("editGeneralForumTopic", { chat_id: this.requireChatId(), name }); }
281
+ async closeGeneralForumTopic() { return this.api.call("closeGeneralForumTopic", { chat_id: this.requireChatId() }); }
282
+ async reopenGeneralForumTopic() { return this.api.call("reopenGeneralForumTopic", { chat_id: this.requireChatId() }); }
283
+ async hideGeneralForumTopic() { return this.api.call("hideGeneralForumTopic", { chat_id: this.requireChatId() }); }
284
+ async unhideGeneralForumTopic() { return this.api.call("unhideGeneralForumTopic", { chat_id: this.requireChatId() }); }
178
285
  withReplyMarkup(markup) { this.state.reply_markup = markup; return this; }
179
286
  }
180
287
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/context/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/context/context.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,14 @@ import { PluginManager, type Plugin } from "../plugins/plugin.js";
10
10
  import { Logger, type LoggerOptions } from "../observability/logger.js";
11
11
  import { type Wizard } from "../state/conversation.js";
12
12
  import { type BroadcastOptions, type BroadcastReport } from "../broadcast/broadcast.js";
13
+ import { type WebhookReplySink } from "./webhook-reply.js";
14
+ import type { ContextOptions } from "../context/context.js";
15
+ /** Thrown when a single update exceeds `handlerTimeout`; the handler keeps running in the background. */
16
+ export declare class UpdateTimeoutError extends Error {
17
+ readonly name: string;
18
+ readonly updateId: number;
19
+ constructor(updateId: number, timeoutMs: number);
20
+ }
13
21
  export type BotStatus = "created" | "initialized" | "starting" | "running" | "stopping" | "stopped" | "error";
14
22
  export type BotContext<S extends object = Record<string, unknown>> = Context<S>;
15
23
  export interface BotOptions<S extends object = Record<string, unknown>> {
@@ -35,6 +43,15 @@ export interface BotOptions<S extends object = Record<string, unknown>> {
35
43
  updates?: {
36
44
  concurrency?: number;
37
45
  };
46
+ /**
47
+ * Per-update processing timeout in milliseconds (default `90000`, matching
48
+ * Telegraf; `Infinity` disables). On timeout the update error flow runs
49
+ * (`update:error`, `bot:error`, `catch()` boundary) and `handleUpdate()`
50
+ * rejects, while the handler keeps running to completion in the background.
51
+ */
52
+ handlerTimeout?: number;
53
+ /** Custom `Context` subclass instantiated for every update (Telegraf's `contextType`). */
54
+ contextType?: new (options: ContextOptions<S>) => Context<S>;
38
55
  router?: RouterOptions;
39
56
  logger?: Logger | LoggerOptions;
40
57
  branding?: boolean;
@@ -63,8 +80,18 @@ export declare class Bot<S extends object = Record<string, unknown>> {
63
80
  private me?;
64
81
  /** Caps how many updates run at once (default: unlimited). */
65
82
  private readonly updateLimiter;
83
+ /** Per-update timeout in ms; `Infinity` disables. */
84
+ private readonly handlerTimeoutMs;
85
+ /** Context class instantiated per update (default `Context`). */
86
+ private readonly contextType;
66
87
  /** Per-chat processing chains: parallel across chats, ordered within a chat. */
67
88
  private readonly chatChains;
89
+ /**
90
+ * Identifies the update chain executing in the current async context so
91
+ * `stop()` called from inside a handler never deadlocks waiting on itself
92
+ * (Telegraf allows `bot.stop()` from within a handler).
93
+ */
94
+ private readonly currentUpdateChain;
68
95
  /** Memoized init so a burst of updates triggers exactly one getMe call. */
69
96
  private initOnce;
70
97
  private readonly brandingEnabled;
@@ -80,6 +107,8 @@ export declare class Bot<S extends object = Record<string, unknown>> {
80
107
  use(...middleware: Middleware<Context<S>>[]): this;
81
108
  command(name: string, handler: Middleware<Context<S>>): this;
82
109
  callback(pattern: string | RegExp, handler: Middleware<Context<S>>): this;
110
+ /** Telegraf-style alias for `callback()`: registers a handler for callback-query button data. */
111
+ action(pattern: string | RegExp, handler: Middleware<Context<S>>): this;
83
112
  onText(text: string, handler: Middleware<Context<S>>): this;
84
113
  onRegex(expression: RegExp, handler: Middleware<Context<S>>): this;
85
114
  /** Registers a handler for update types: `bot.on("message:photo", handler)` or `bot.on(["message:text", "callback_query:data"], handler)`. */
@@ -101,13 +130,20 @@ export declare class Bot<S extends object = Record<string, unknown>> {
101
130
  cancelCommand?: string;
102
131
  }): this;
103
132
  init(): Promise<this>;
104
- start(): Promise<void>;
133
+ start(options?: {
134
+ timeout?: number;
135
+ allowedUpdates?: string[];
136
+ dropPendingUpdates?: boolean;
137
+ }): Promise<void>;
105
138
  launch(options?: {
106
139
  mode: "polling";
107
140
  timeout?: number;
108
141
  allowedUpdates?: string[];
142
+ dropPendingUpdates?: boolean;
109
143
  }): Promise<void>;
110
144
  stop(): Promise<void>;
145
+ /** Waits (bounded by `handlerTimeout`) for updates that are still processing. */
146
+ private drainInFlightUpdates;
111
147
  restart(): Promise<void>;
112
148
  health(): Promise<HealthStatus>;
113
149
  getMe(): Promise<User>;
@@ -118,8 +154,17 @@ export declare class Bot<S extends object = Record<string, unknown>> {
118
154
  * updates for the same chat are processed strictly in arrival order so
119
155
  * sessions, wizards, and conversations never interleave. Rejects for this
120
156
  * update's failure (as before) without affecting other updates.
157
+ *
158
+ * `options.webhookReply` installs a Telegraf-style responder: the first
159
+ * outgoing API call during this update is answered through the webhook HTTP
160
+ * response instead of a separate request, and resolves with `true` because
161
+ * Telegram never sends the method result back to a webhook response.
121
162
  */
122
- handleUpdate(update: Update): Promise<void>;
163
+ handleUpdate(update: Update, options?: {
164
+ webhookReply?: WebhookReplySink;
165
+ }): Promise<void>;
166
+ /** Rejects with `UpdateTimeoutError` after `timeoutMs` unless `promise` settles first; `timeoutMs <= 0` or a non-finite value disables the guard. */
167
+ private withTimeout;
123
168
  /**
124
169
  * Handles a whole batch of updates at once: every chat in the batch is
125
170
  * processed immediately (parallel across chats, ordered per chat), so a
@@ -136,7 +181,7 @@ export declare class Bot<S extends object = Record<string, unknown>> {
136
181
  * bursts deliver completely instead of failing.
137
182
  */
138
183
  broadcast(chatIds: readonly ChatId[], send: (chatId: ChatId) => Promise<unknown>, options?: BroadcastOptions): Promise<BroadcastReport>;
139
- /** Runs init() once even when many updates arrive concurrently. */
184
+ /** Runs init() once even when many updates arrive concurrently; never claims a webhook reply slot. */
140
185
  private ensureInitialized;
141
186
  private processUpdate;
142
187
  private runUpdate;
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../../src/core/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../../src/core/bot.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,17 @@ import { printStatusLine, printTeleBibzBanner, runStartupSequence, startTeleBibz
11
11
  import { conversationKeyFromContext } from "../state/conversation.js";
12
12
  import { runBroadcast } from "../broadcast/broadcast.js";
13
13
  import { Limiter } from "../utils/concurrency.js";
14
+ import { runWithWebhookReply, runWithoutWebhookReply } from "./webhook-reply.js";
15
+ import { AsyncLocalStorage } from "node:async_hooks";
16
+ /** Thrown when a single update exceeds `handlerTimeout`; the handler keeps running in the background. */
17
+ export class UpdateTimeoutError extends Error {
18
+ name = "UpdateTimeoutError";
19
+ updateId;
20
+ constructor(updateId, timeoutMs) {
21
+ super(`Update ${updateId} handler timed out after ${timeoutMs}ms`);
22
+ this.updateId = updateId;
23
+ }
24
+ }
14
25
  export class Bot {
15
26
  api;
16
27
  router;
@@ -28,8 +39,18 @@ export class Bot {
28
39
  me;
29
40
  /** Caps how many updates run at once (default: unlimited). */
30
41
  updateLimiter;
42
+ /** Per-update timeout in ms; `Infinity` disables. */
43
+ handlerTimeoutMs;
44
+ /** Context class instantiated per update (default `Context`). */
45
+ contextType;
31
46
  /** Per-chat processing chains: parallel across chats, ordered within a chat. */
32
47
  chatChains = new Map();
48
+ /**
49
+ * Identifies the update chain executing in the current async context so
50
+ * `stop()` called from inside a handler never deadlocks waiting on itself
51
+ * (Telegraf allows `bot.stop()` from within a handler).
52
+ */
53
+ currentUpdateChain = new AsyncLocalStorage();
33
54
  /** Memoized init so a burst of updates triggers exactly one getMe call. */
34
55
  initOnce;
35
56
  brandingEnabled;
@@ -59,6 +80,8 @@ export class Bot {
59
80
  });
60
81
  this.plugins = new PluginManager(this);
61
82
  this.updateLimiter = new Limiter(config.updates?.concurrency ?? Infinity);
83
+ this.handlerTimeoutMs = config.handlerTimeout ?? 90_000;
84
+ this.contextType = config.contextType ?? Context;
62
85
  this.pollingOptions = {
63
86
  allowedUpdates: config.polling?.allowedUpdates ?? [],
64
87
  limit: config.polling?.limit ?? 100,
@@ -81,6 +104,8 @@ export class Bot {
81
104
  use(...middleware) { this.middlewares.push(...middleware); return this; }
82
105
  command(name, handler) { this.router.command(name, handler); return this; }
83
106
  callback(pattern, handler) { this.router.callback(pattern, handler); return this; }
107
+ /** Telegraf-style alias for `callback()`: registers a handler for callback-query button data. */
108
+ action(pattern, handler) { this.router.callback(pattern, handler); return this; }
84
109
  onText(text, handler) { this.router.text(text, handler); return this; }
85
110
  onRegex(expression, handler) { this.router.regex(expression, handler); return this; }
86
111
  /** Registers a handler for update types: `bot.on("message:photo", handler)` or `bot.on(["message:text", "callback_query:data"], handler)`. */
@@ -152,7 +177,7 @@ export class Bot {
152
177
  throw error;
153
178
  }
154
179
  }
155
- async start() { await this.launch({ mode: "polling" }); }
180
+ async start(options = {}) { await this.launch({ mode: "polling", ...options }); }
156
181
  async launch(options = { mode: "polling" }) {
157
182
  if (options.mode !== "polling")
158
183
  throw new Error("Use createWebhookHandler() for webhook mode.");
@@ -177,6 +202,11 @@ export class Bot {
177
202
  }
178
203
  if (this.statusValue === "running")
179
204
  return;
205
+ if (options.dropPendingUpdates) {
206
+ // Same mechanism Telegraf uses: drop everything Telegram is holding for
207
+ // this bot before the first getUpdates call.
208
+ await this.api.call("deleteWebhook", { drop_pending_updates: true });
209
+ }
180
210
  this.statusValue = "starting";
181
211
  this.startupLog("bot.starting", { mode: options.mode });
182
212
  await this.events.emit("bot:starting", { bot: this });
@@ -194,6 +224,9 @@ export class Bot {
194
224
  await this.events.emit("bot:stopping", { bot: this });
195
225
  this.pollingAbort?.abort();
196
226
  this.pollingAbort = undefined;
227
+ // Graceful shutdown: wait for updates still being processed (bounded by
228
+ // handlerTimeout) so sessions finish writing before plugins are disposed.
229
+ await this.drainInFlightUpdates();
197
230
  await this.plugins.stop();
198
231
  await this.plugins.dispose();
199
232
  this.statusValue = "stopped";
@@ -203,6 +236,17 @@ export class Bot {
203
236
  this.logger.info("bot.stopped");
204
237
  await this.events.emit("bot:stopped", { bot: this });
205
238
  }
239
+ /** Waits (bounded by `handlerTimeout`) for updates that are still processing. */
240
+ async drainInFlightUpdates() {
241
+ // A handler calling stop() must not wait on its own chain (deadlock); it
242
+ // keeps running in the background, exactly like Telegraf.
243
+ const current = this.currentUpdateChain.getStore();
244
+ const inFlight = [...this.chatChains.values()].filter((chain) => chain !== current);
245
+ if (inFlight.length === 0)
246
+ return;
247
+ this.logger.info("bot.draining_updates", { inFlight: inFlight.length });
248
+ await this.withTimeout(Promise.allSettled(inFlight), this.handlerTimeoutMs, -1);
249
+ }
206
250
  async restart() { await this.stop(); await this.start(); }
207
251
  async health() {
208
252
  try {
@@ -221,18 +265,62 @@ export class Bot {
221
265
  * updates for the same chat are processed strictly in arrival order so
222
266
  * sessions, wizards, and conversations never interleave. Rejects for this
223
267
  * update's failure (as before) without affecting other updates.
268
+ *
269
+ * `options.webhookReply` installs a Telegraf-style responder: the first
270
+ * outgoing API call during this update is answered through the webhook HTTP
271
+ * response instead of a separate request, and resolves with `true` because
272
+ * Telegram never sends the method result back to a webhook response.
224
273
  */
225
- async handleUpdate(update) {
274
+ async handleUpdate(update, options = {}) {
226
275
  const key = this.conversationKey(update);
227
276
  const previous = this.chatChains.get(key);
228
- const run = (previous ?? Promise.resolve()).catch(() => undefined).then(() => this.processUpdate(update));
277
+ const execute = options.webhookReply === undefined
278
+ ? () => this.processUpdate(update)
279
+ : () => runWithWebhookReply(options.webhookReply, () => this.processUpdate(update));
280
+ // The chain waits for the real completion so same-chat ordering holds
281
+ // even when the caller-facing await below is released by a timeout. The
282
+ // chain is installed as the current AsyncLocalStorage value so a handler
283
+ // calling bot.stop() is excluded from the drain set.
284
+ const run = (previous ?? Promise.resolve()).catch(() => undefined).then(() => this.currentUpdateChain.run(tail, execute));
229
285
  const tail = run.then(() => undefined, () => undefined);
230
286
  this.chatChains.set(key, tail);
231
287
  void tail.then(() => {
232
288
  if (this.chatChains.get(key) === tail)
233
289
  this.chatChains.delete(key);
234
290
  });
235
- await run;
291
+ try {
292
+ await this.withTimeout(run, this.handlerTimeoutMs, update.update_id);
293
+ }
294
+ catch (error) {
295
+ if (!(error instanceof UpdateTimeoutError))
296
+ throw error;
297
+ // A timed-out update follows the same error flow as a failed handler;
298
+ // the handler itself keeps running to completion in the background.
299
+ this.logger.error("update.handler_timeout", { updateId: update.update_id, timeoutMs: this.handlerTimeoutMs });
300
+ await this.events.emit("update:error", { update, error });
301
+ await this.events.emit("bot:error", { bot: this, error });
302
+ if (this.errorHandler) {
303
+ await this.errorHandler(error, new Context({ update, api: this.api, session: {}, services: this.services, me: this.me }));
304
+ return;
305
+ }
306
+ throw error;
307
+ }
308
+ }
309
+ /** Rejects with `UpdateTimeoutError` after `timeoutMs` unless `promise` settles first; `timeoutMs <= 0` or a non-finite value disables the guard. */
310
+ async withTimeout(promise, timeoutMs, updateId) {
311
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0)
312
+ return promise;
313
+ let timer;
314
+ const timeout = new Promise((_, reject) => {
315
+ timer = setTimeout(() => reject(new UpdateTimeoutError(updateId, timeoutMs)), timeoutMs);
316
+ });
317
+ try {
318
+ return await Promise.race([promise, timeout]);
319
+ }
320
+ finally {
321
+ if (timer !== undefined)
322
+ clearTimeout(timer);
323
+ }
236
324
  }
237
325
  /**
238
326
  * Handles a whole batch of updates at once: every chat in the batch is
@@ -262,12 +350,12 @@ export class Bot {
262
350
  async broadcast(chatIds, send, options) {
263
351
  return runBroadcast(chatIds, send, options);
264
352
  }
265
- /** Runs init() once even when many updates arrive concurrently. */
353
+ /** Runs init() once even when many updates arrive concurrently; never claims a webhook reply slot. */
266
354
  ensureInitialized() {
267
355
  if (this.me)
268
356
  return Promise.resolve();
269
357
  if (!this.initOnce) {
270
- this.initOnce = this.init().then(() => { this.initOnce = undefined; }, (error) => {
358
+ this.initOnce = runWithoutWebhookReply(() => this.init()).then(() => { this.initOnce = undefined; }, (error) => {
271
359
  this.initOnce = undefined;
272
360
  throw error;
273
361
  });
@@ -293,7 +381,7 @@ export class Bot {
293
381
  await this.ensureInitialized();
294
382
  if (!this.me)
295
383
  return;
296
- const ctx = new Context({ update, api: this.api, session, services: this.services, me: this.me });
384
+ const ctx = new this.contextType({ update, api: this.api, session, services: this.services, me: this.me });
297
385
  await this.events.emit("update", { update });
298
386
  if (message) {
299
387
  await this.events.emit("message", { message });
@@ -1 +1 @@
1
- {"version":3,"file":"bot.js","sourceRoot":"","sources":["../../../src/core/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../../../src/core/bot.ts"],"names":[],"mappings":"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"}