docs: move grammY research note to docs/grammy.md

main
Peter Steinberger 2025-12-07 22:53:58 +01:00
parent ebc852b358
commit 1595fb8739
3 changed files with 19 additions and 12 deletions

View File

@ -568,7 +568,7 @@ Examples:
program program
.command("relay:telegram") .command("relay:telegram")
.description("Auto-reply to Telegram (Bot API, long-poll)") .description("Auto-reply to Telegram (Bot API via grammY)")
.option("--verbose", "Verbose logging", false) .option("--verbose", "Verbose logging", false)
.option("--webhook", "Run webhook server instead of long-poll", false) .option("--webhook", "Run webhook server instead of long-poll", false)
.option( .option(
@ -583,6 +583,10 @@ Examples:
"--port <port>", "--port <port>",
"Port for webhook server (default 8787)", "Port for webhook server (default 8787)",
) )
.option(
"--webhook-url <url>",
"Public webhook URL to register (overrides localhost autodetect)",
)
.addHelpText( .addHelpText(
"after", "after",
` `
@ -608,15 +612,19 @@ Examples:
const port = opts.port ? Number.parseInt(String(opts.port), 10) : 8787; const port = opts.port ? Number.parseInt(String(opts.port), 10) : 8787;
const path = opts.webhookPath ?? "/telegram-webhook"; const path = opts.webhookPath ?? "/telegram-webhook";
try { try {
await import("../telegram/webhook-server.js").then((m) => const { monitorTelegramProvider } = await import("../telegram/monitor.js");
m.startTelegramWebhookServer({ await monitorTelegramProvider({
token, token,
port, useWebhook: true,
path, webhookPath: path,
secret: opts.webhookSecret ?? loadConfig().telegram?.webhookSecret, webhookPort: port,
webhookSecret:
opts.webhookSecret ?? loadConfig().telegram?.webhookSecret,
runtime: defaultRuntime, runtime: defaultRuntime,
}), proxyFetch: undefined,
); // register with provided public URL when given
webhookUrl: opts.webhookUrl,
});
} catch (err) { } catch (err) {
defaultRuntime.error( defaultRuntime.error(
danger(`Telegram webhook server failed: ${String(err)}`), danger(`Telegram webhook server failed: ${String(err)}`),
@ -628,7 +636,6 @@ Examples:
try { try {
await import("../telegram/monitor.js").then((m) => await import("../telegram/monitor.js").then((m) =>
m.monitorTelegramProvider({ m.monitorTelegramProvider({
verbose: Boolean(opts.verbose),
token, token,
runtime: defaultRuntime, runtime: defaultRuntime,
}), }),

View File

@ -1,4 +1,4 @@
import { describe, expect, it, vi } from "vitest"; import { beforeEach, afterAll, describe, expect, it, vi } from "vitest";
import type { CliDeps } from "../cli/deps.js"; import type { CliDeps } from "../cli/deps.js";
import type { RuntimeEnv } from "../runtime.js"; import type { RuntimeEnv } from "../runtime.js";