From 25eb1414d4ba3b70fda310b805c9794d1135803b Mon Sep 17 00:00:00 2001 From: tiennm99 Date: Thu, 1 Oct 2026 16:44:16 +0700 Subject: [PATCH] fix(random): describe /gachabeta generically and match its new length The beta renderer changed style, so /gachabeta now reads "Gacha (beta version)" in its command description, package doc, README row, and deploy guide instead of naming one look. The clip length sent to Telegram is 11 seconds to match the renderer's 10.5-second beta animation. --- README.md | 2 +- docs/deploy-coolify-selfhosted.md | 7 +++---- internal/modules/random/gacha_api_client.go | 2 +- internal/modules/random/gacha_command.go | 6 +++--- internal/modules/random/gacha_command_test.go | 4 ++-- internal/modules/random/random.go | 4 ++-- 6 files changed, 12 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 8c47901..1d52fd6 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Atlas via long polling and an in-process cron scheduler. |---|---| | `util` | `/help`, `/info` (admin), `/stickerid` (owner) | | `misc` | `/ping`, `/ping_stats` (admin), `/ff` (admin), `/xlt1`, `/giaxang` (Petrolimex retail fuel prices), `/the_answer` (owner), `/trongtruonghop` + `/tth`, `/trongtruonghopvng` + `/tthvng` disclaimers | -| `random` | Pick one comma-separated option at random: `/random` (text), `/wheelofnames` (wheel GIF), `/gacha` (Genshin-style wish; options are 5★ by default, prefix `4*` or `3*`), `/gachabeta` (unlisted; toon-shaded beta wish with S/SS/SSS ranks). The animations use the optional wheelofnames renderer | +| `random` | Pick one comma-separated option at random: `/random` (text), `/wheelofnames` (wheel GIF), `/gacha` (Genshin-style wish; options are 5★ by default, prefix `4*` or `3*`), `/gachabeta` (unlisted; beta version of `/gacha`). The animations use the optional wheelofnames renderer | | `amlich` | Vietnamese lunar calendar: `/amlich` (dương lịch → âm lịch, defaults to today), `/duonglich` (âm lịch → dương lịch, `nhuan` flag for leap months); dates accept `d`, `d/m`, or `d/m/yyyy` — missing parts fill from today in the input's calendar. Years 1800–2199 only | | `wordle` | Daily Wordle game: `/wordle [word]`, `/wordle_new`, `/wordle_giveup`, `/wordle_stats` | | `loldle` | League-of-Legends "guess the champion": `/loldle [champion]`, `/loldle_giveup`, `/loldle_stats`, `/loldle_setmax` (owner) | diff --git a/docs/deploy-coolify-selfhosted.md b/docs/deploy-coolify-selfhosted.md index 246a35c..77901d8 100644 --- a/docs/deploy-coolify-selfhosted.md +++ b/docs/deploy-coolify-selfhosted.md @@ -93,10 +93,9 @@ option is equally likely, as with `/random`; the rarity only sets what the animation and reply show. Options are 5★ by default; prefix `4*` or `3*` to lower one, e.g. `/gacha Pizza, 4* Pho, 3* Rice`. -The unlisted `/gachabeta` takes the same input and renders the 8-second beta -style from `.../api/gachabeta` on the same service (a toon-shaded sky, a comet -bursting through a cloud, and an `S`/`SS`/`SSS` rank for 3★/4★/5★), with the -same text fallback. +The unlisted `/gachabeta` takes the same input and renders the beta version +of the wish from `.../api/gachabeta` on the same service, with the same text +fallback. ## 1. MongoDB Atlas (M0) diff --git a/internal/modules/random/gacha_api_client.go b/internal/modules/random/gacha_api_client.go index 554d994..a3c6409 100644 --- a/internal/modules/random/gacha_api_client.go +++ b/internal/modules/random/gacha_api_client.go @@ -24,7 +24,7 @@ type gachaStyle struct { var ( gachaStyleWish = gachaStyle{Path: "gacha", Duration: 7} - gachaStyleBeta = gachaStyle{Path: "gachabeta", Duration: 8} + gachaStyleBeta = gachaStyle{Path: "gachabeta", Duration: 11} ) type gachaAPIRequest struct { diff --git a/internal/modules/random/gacha_command.go b/internal/modules/random/gacha_command.go index b7d9d4c..e7b8308 100644 --- a/internal/modules/random/gacha_command.go +++ b/internal/modules/random/gacha_command.go @@ -65,11 +65,11 @@ func gachaCommand() modules.Command { gachaUsage, gachaStyleWish) } -// gachaBetaCommand trials the toon-shaded beta wish. It is unlisted: anyone -// can run it, but it stays out of the command menu and /help. +// gachaBetaCommand trials the beta version of the wish animation. It is +// unlisted: anyone can run it, but it stays out of the command menu and /help. func gachaBetaCommand() modules.Command { return newGachaCommand("gachabeta", modules.VisibilityUnlisted, - "Beta wish: toon sky, comet through a cloud, S/SS/SSS rank; 5* by default, prefix 4* or 3*", + "Gacha (beta version); 5* by default, prefix 4* or 3*", gachaBetaUsage, gachaStyleBeta) } diff --git a/internal/modules/random/gacha_command_test.go b/internal/modules/random/gacha_command_test.go index b9af0cd..e54e2ff 100644 --- a/internal/modules/random/gacha_command_test.go +++ b/internal/modules/random/gacha_command_test.go @@ -208,8 +208,8 @@ func TestGachaBeta_UsesBetaRendererAndAnyoneCanRunIt(t *testing.T) { if animation == nil { t.Fatalf("calls = %+v, want a sendAnimation", rb.Sent()) } - if got := animation.Form["duration"]; got != "8" { - t.Fatalf("duration = %q, want 8", got) + if got := animation.Form["duration"]; got != "11" { + t.Fatalf("duration = %q, want 11", got) } } diff --git a/internal/modules/random/random.go b/internal/modules/random/random.go index f09641c..590b685 100644 --- a/internal/modules/random/random.go +++ b/internal/modules/random/random.go @@ -1,7 +1,7 @@ // Package random groups the commands that pick one option at random: /random // (plain text pick), /wheelofnames (wheel GIF when a renderer is configured), -// /gacha (Genshin-style wish MP4), and the unlisted /gachabeta (toon-shaded -// beta wish). The animated commands share the optional wheelofnames renderer +// /gacha (Genshin-style wish MP4), and the unlisted /gachabeta (beta version +// of the gacha wish). The animated commands share the optional wheelofnames renderer // and fall back to a text reply without it. package random