fix(telegram): prevent non-abort slash commands from racing chat replies (#17899)

Merged via /review-pr -> /prepare-pr -> /merge-pr.

Prepared head SHA: 5c2f6f2c96
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com>
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com>
Reviewed-by: @obviyus
This commit is contained in:
Ayaan Zaidi
2026-02-16 16:21:10 +05:30
committed by GitHub
parent bc67af6ad8
commit b2aa6e094d
5 changed files with 44 additions and 9 deletions

View File

@@ -139,12 +139,27 @@ describe("createTelegramBot", () => {
getTelegramSequentialKey({
message: { chat: { id: 123 }, text: "/status" },
}),
).toBe("telegram:123:control");
).toBe("telegram:123");
expect(
getTelegramSequentialKey({
message: { chat: { id: 123 }, text: "stop" },
}),
).toBe("telegram:123:control");
expect(
getTelegramSequentialKey({
message: { chat: { id: 123 }, text: "stop please" },
}),
).toBe("telegram:123");
expect(
getTelegramSequentialKey({
message: { chat: { id: 123 }, text: "/abort" },
}),
).toBe("telegram:123");
expect(
getTelegramSequentialKey({
message: { chat: { id: 123 }, text: "/abort now" },
}),
).toBe("telegram:123");
});
it("routes callback_query payloads as messages and answers callbacks", async () => {
onSpy.mockReset();