Skip to content

Commit e582261

Browse files
authored
Merge pull request #37 from SpawnDock/fix/bot-remove-tma-url-text
fix(bot): remove TMA URL from bot messages
2 parents 66842f5 + 337ade4 commit e582261

3 files changed

Lines changed: 23 additions & 28 deletions

File tree

src/__tests__/bot-commands.test.ts

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// src/__tests__/bot-commands.test.ts
22
import { describe, it, expect } from "vitest";
33
import { createdMessage, launchMessage, normalizeTelegramCommandText, parseCommand } from "../bot/commands.js";
4+
import { previewReadyMessage } from "../bot/i18n.js";
45

56
describe("parseCommand", () => {
67
it("parses /start", () => {
@@ -49,14 +50,11 @@ describe("parseCommand", () => {
4950
});
5051

5152
describe("bot messages", () => {
52-
it("createdMessage (ru) includes bootstrap steps and links", () => {
53+
it("createdMessage (ru) includes bootstrap steps without links", () => {
5354
const message = createdMessage(
5455
"ru",
5556
"demo-app",
5657
"npx @spawn-dock/create --token pair_demo",
57-
"https://spawn-dock.example/preview/demo-app",
58-
"https://t.me/TMASpawnerBot/tma?startapp=demo-app",
59-
"https://spawn-dock.example/tma?tgWebAppStartParam=demo-app",
6058
);
6159

6260
expect(message).toContain("Проект demo-app создан.");
@@ -65,29 +63,28 @@ describe("bot messages", () => {
6563
expect(message).toContain("Эту команду можно запускать повторно для этого проекта.");
6664
expect(message).toContain("2. После bootstrap запусти:");
6765
expect(message).toContain("pnpm run dev");
68-
expect(message).toContain("Preview URL:");
69-
expect(message).toContain("Telegram Link:");
70-
expect(message).toContain("TMA URL:");
66+
expect(message).not.toContain("Preview URL:");
67+
expect(message).not.toContain("Telegram Link:");
68+
expect(message).not.toContain("TMA URL:");
69+
expect(message).not.toContain("Ссылки:");
7170
});
7271

7372
it("createdMessage (en) uses English bootstrap copy", () => {
7473
const message = createdMessage(
7574
"en",
7675
"demo-app",
7776
"npx @spawn-dock/create --token pair_demo",
78-
"https://spawn-dock.example/preview/demo-app",
79-
"https://t.me/TMASpawnerBot/tma?startapp=demo-app",
80-
"https://spawn-dock.example/tma?tgWebAppStartParam=demo-app",
8177
);
8278

8379
expect(message).toContain("Project demo-app created.");
8480
expect(message).toContain("1. Run the bootstrap command locally:");
8581
expect(message).toContain("npx @spawn-dock/create --token pair_demo");
8682
expect(message).toContain("2. After bootstrap, run:");
8783
expect(message).toContain("pnpm run dev");
84+
expect(message).not.toContain("Links:");
8885
});
8986

90-
it("includes TMA and preview links in launchMessage", () => {
87+
it("includes TMA, preview, and telegram links in launchMessage", () => {
9188
const message = launchMessage(
9289
"en",
9390
"demo-app",
@@ -103,4 +100,18 @@ describe("bot messages", () => {
103100
expect(message).toContain("Tunnel status:");
104101
expect(message).toContain("<code>npm run agent</code>");
105102
});
103+
104+
it("previewReadyMessage keeps all links", () => {
105+
const message = previewReadyMessage(
106+
"ru",
107+
"demo-app",
108+
"https://example.com/preview/demo-app",
109+
"https://t.me/rustgpt_bot/tma?startapp=demo-app",
110+
"https://example.com/tma?tgWebAppStartParam=demo-app",
111+
);
112+
113+
expect(message).toContain("Preview URL:");
114+
expect(message).toContain("Telegram Link:");
115+
expect(message).toContain("TMA URL:");
116+
});
106117
});

src/bot/i18n.ts

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,6 @@ export function createdMessage(
100100
locale: BotLocale,
101101
slug: string,
102102
bootstrapCmd: string,
103-
previewUrl: string,
104-
telegramMiniAppUrl: string,
105-
tmaUrl: string,
106103
): string {
107104
if (locale === "ru") {
108105
return [
@@ -115,11 +112,6 @@ export function createdMessage(
115112
"",
116113
"2. После bootstrap запусти:",
117114
"<code>pnpm run dev</code>",
118-
"",
119-
"Ссылки:",
120-
`Preview URL: ${renderLink(previewUrl)}`,
121-
`Telegram Link: ${renderLink(telegramMiniAppUrl)}`,
122-
`TMA URL: ${renderLink(tmaUrl)}`,
123115
].join("\n");
124116
}
125117
return [
@@ -132,11 +124,6 @@ export function createdMessage(
132124
"",
133125
"2. After bootstrap, run:",
134126
"<code>pnpm run dev</code>",
135-
"",
136-
"Links:",
137-
`Preview URL: ${renderLink(previewUrl)}`,
138-
`Telegram Link: ${renderLink(telegramMiniAppUrl)}`,
139-
`TMA URL: ${renderLink(tmaUrl)}`,
140127
].join("\n");
141128
}
142129

src/bot/polling.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,13 +159,10 @@ async function processUpdate(cfg: ReturnType<typeof readBotConfig>, update: Tele
159159
const slug = data.project.slug;
160160
const token = data.pairingToken.token;
161161
const bootstrapCmd = `npx @spawn-dock/create --token ${token}`;
162-
const previewUrl = data.launchUrl;
163-
const tmaUrl = buildGatewayMiniAppUrl(previewUrl, slug);
164-
const telegramMiniAppUrl = buildTelegramMiniAppUrl(cfg.telegramBotUsername, cfg.telegramMiniAppShortName, slug);
165162
await sendMessage(
166163
cfg.telegramBotToken,
167164
msg.chat.id,
168-
createdMessage(locale, slug, bootstrapCmd, previewUrl, telegramMiniAppUrl, tmaUrl),
165+
createdMessage(locale, slug, bootstrapCmd),
169166
);
170167
return;
171168
}

0 commit comments

Comments
 (0)