Telegram: use Grammy types directly, add typed Probe/Audit to plugin interface (#8403)

* Telegram: replace duplicated types with Grammy imports, add Probe/Audit generics to plugin interface

* Telegram: remove legacy forward metadata (deprecated in Bot API 7.0), simplify required-field checks

* Telegram: clean up remaining legacy references and unnecessary casts

* Telegram: keep RequestInit parameter type in proxy fetch (addresses review feedback)

* Telegram: add exhaustiveness guard to resolveForwardOrigin switch
This commit is contained in:
Christian Klotz
2026-02-04 10:09:28 +00:00
committed by GitHub
parent 6341819d74
commit da6de49815
12 changed files with 110 additions and 270 deletions

View File

@@ -1,4 +1,5 @@
import type { TelegramContext, TelegramMessage } from "./bot/types.js";
import type { Message } from "@grammyjs/types";
import type { TelegramContext } from "./bot/types.js";
import { createDedupeCache } from "../infra/dedupe.js";
const MEDIA_GROUP_TIMEOUT_MS = 500;
@@ -7,7 +8,7 @@ const RECENT_TELEGRAM_UPDATE_MAX = 2000;
export type MediaGroupEntry = {
messages: Array<{
msg: TelegramMessage;
msg: Message;
ctx: TelegramContext;
}>;
timer: ReturnType<typeof setTimeout>;
@@ -16,12 +17,12 @@ export type MediaGroupEntry = {
export type TelegramUpdateKeyContext = {
update?: {
update_id?: number;
message?: TelegramMessage;
edited_message?: TelegramMessage;
message?: Message;
edited_message?: Message;
};
update_id?: number;
message?: TelegramMessage;
callbackQuery?: { id?: string; message?: TelegramMessage };
message?: Message;
callbackQuery?: { id?: string; message?: Message };
};
export const resolveTelegramUpdateId = (ctx: TelegramUpdateKeyContext) =>