diff --git a/src/__tests__/bot-commands.test.ts b/src/__tests__/bot-commands.test.ts index e9ed3a1..e2720eb 100644 --- a/src/__tests__/bot-commands.test.ts +++ b/src/__tests__/bot-commands.test.ts @@ -1,6 +1,7 @@ // src/__tests__/bot-commands.test.ts import { describe, it, expect } from "vitest"; import { createdMessage, launchMessage, normalizeTelegramCommandText, parseCommand } from "../bot/commands.js"; +import { previewReadyMessage } from "../bot/i18n.js"; describe("parseCommand", () => { it("parses /start", () => { @@ -49,14 +50,11 @@ describe("parseCommand", () => { }); describe("bot messages", () => { - it("createdMessage (ru) includes bootstrap steps and links", () => { + it("createdMessage (ru) includes bootstrap steps without links", () => { const message = createdMessage( "ru", "demo-app", "npx @spawn-dock/create --token pair_demo", - "https://spawn-dock.example/preview/demo-app", - "https://t.me/TMASpawnerBot/tma?startapp=demo-app", - "https://spawn-dock.example/tma?tgWebAppStartParam=demo-app", ); expect(message).toContain("Проект demo-app создан."); @@ -65,9 +63,10 @@ describe("bot messages", () => { expect(message).toContain("Эту команду можно запускать повторно для этого проекта."); expect(message).toContain("2. После bootstrap запусти:"); expect(message).toContain("pnpm run dev"); - expect(message).toContain("Preview URL:"); - expect(message).toContain("Telegram Link:"); - expect(message).toContain("TMA URL:"); + expect(message).not.toContain("Preview URL:"); + expect(message).not.toContain("Telegram Link:"); + expect(message).not.toContain("TMA URL:"); + expect(message).not.toContain("Ссылки:"); }); it("createdMessage (en) uses English bootstrap copy", () => { @@ -75,9 +74,6 @@ describe("bot messages", () => { "en", "demo-app", "npx @spawn-dock/create --token pair_demo", - "https://spawn-dock.example/preview/demo-app", - "https://t.me/TMASpawnerBot/tma?startapp=demo-app", - "https://spawn-dock.example/tma?tgWebAppStartParam=demo-app", ); expect(message).toContain("Project demo-app created."); @@ -85,9 +81,10 @@ describe("bot messages", () => { expect(message).toContain("npx @spawn-dock/create --token pair_demo"); expect(message).toContain("2. After bootstrap, run:"); expect(message).toContain("pnpm run dev"); + expect(message).not.toContain("Links:"); }); - it("includes TMA and preview links in launchMessage", () => { + it("includes TMA, preview, and telegram links in launchMessage", () => { const message = launchMessage( "en", "demo-app", @@ -103,4 +100,18 @@ describe("bot messages", () => { expect(message).toContain("Tunnel status:"); expect(message).toContain("npm run agent"); }); + + it("previewReadyMessage keeps all links", () => { + const message = previewReadyMessage( + "ru", + "demo-app", + "https://example.com/preview/demo-app", + "https://t.me/rustgpt_bot/tma?startapp=demo-app", + "https://example.com/tma?tgWebAppStartParam=demo-app", + ); + + expect(message).toContain("Preview URL:"); + expect(message).toContain("Telegram Link:"); + expect(message).toContain("TMA URL:"); + }); }); diff --git a/src/bot/i18n.ts b/src/bot/i18n.ts index 96739ac..ca2a870 100644 --- a/src/bot/i18n.ts +++ b/src/bot/i18n.ts @@ -100,9 +100,6 @@ export function createdMessage( locale: BotLocale, slug: string, bootstrapCmd: string, - previewUrl: string, - telegramMiniAppUrl: string, - tmaUrl: string, ): string { if (locale === "ru") { return [ @@ -115,11 +112,6 @@ export function createdMessage( "", "2. После bootstrap запусти:", "pnpm run dev", - "", - "Ссылки:", - `Preview URL: ${renderLink(previewUrl)}`, - `Telegram Link: ${renderLink(telegramMiniAppUrl)}`, - `TMA URL: ${renderLink(tmaUrl)}`, ].join("\n"); } return [ @@ -132,11 +124,6 @@ export function createdMessage( "", "2. After bootstrap, run:", "pnpm run dev", - "", - "Links:", - `Preview URL: ${renderLink(previewUrl)}`, - `Telegram Link: ${renderLink(telegramMiniAppUrl)}`, - `TMA URL: ${renderLink(tmaUrl)}`, ].join("\n"); } diff --git a/src/bot/polling.ts b/src/bot/polling.ts index 00ba26c..7756251 100644 --- a/src/bot/polling.ts +++ b/src/bot/polling.ts @@ -159,13 +159,10 @@ async function processUpdate(cfg: ReturnType, update: Tele const slug = data.project.slug; const token = data.pairingToken.token; const bootstrapCmd = `npx @spawn-dock/create --token ${token}`; - const previewUrl = data.launchUrl; - const tmaUrl = buildGatewayMiniAppUrl(previewUrl, slug); - const telegramMiniAppUrl = buildTelegramMiniAppUrl(cfg.telegramBotUsername, cfg.telegramMiniAppShortName, slug); await sendMessage( cfg.telegramBotToken, msg.chat.id, - createdMessage(locale, slug, bootstrapCmd, previewUrl, telegramMiniAppUrl, tmaUrl), + createdMessage(locale, slug, bootstrapCmd), ); return; }