mirror of
https://github.com/tiennm99/tiennm99bot.git
synced 2026-10-11 03:13:46 +00:00
feat(modules): port loldle-ability
Phase 6c of the go-port-cloud-run plan. Adds the third loldle variant — guess the champion from a single ability icon (passive or Q/W/E/R). - internal/modules/loldleability: champions.go (embed abilities.json, 5334-line DDragon-sourced pool with AbilityChampion + Ability types), state.go (gameState gains a `slot` field so the same icon shows across guesses in a round), render-free handlers.go (sendPhoto path uses models.InputFileString with the DDragon CDN URL directly — no binary upload), loldleability.go (Module Factory). - Reuses internal/modules/util/chathelper and internal/champname (same shared layer the other variants use). - 4 commands wired: loldle_ability (public), loldle_ability_giveup (public), loldle_ability_stats (public), loldle_ability_setmax (private). - 14 tests: lookup (embed shape + DDragon URL prefix + slot coverage), state (slot round-trip + JS-wire-format decode + streak), handlers (sendPhoto with correct URL, win, unknown champion, duplicate, giveup with slot label, stats, setmax owner + non-owner). - gocyclo cap nudged 20 -> 22 to accommodate handleAbility's pre-flight validation branch. go test -race -count=1 ./... clean (17 packages); golangci-lint clean.
This commit is contained in:
1 parent
ec890ef0f4
commit
08e5a6d7fa
11 files changed
+6119
-7
No files matched your search
+5
-3
@@ -14,6 +14,7 @@ import (
|
||||
"github.com/tiennm99/miti99bot-go/internal/log"
|
||||
"github.com/tiennm99/miti99bot-go/internal/modules"
|
||||
"github.com/tiennm99/miti99bot-go/internal/modules/loldle"
|
||||
"github.com/tiennm99/miti99bot-go/internal/modules/loldleability"
|
||||
"github.com/tiennm99/miti99bot-go/internal/modules/loldleemoji"
|
||||
"github.com/tiennm99/miti99bot-go/internal/modules/loldlequote"
|
||||
"github.com/tiennm99/miti99bot-go/internal/modules/misc"
|
||||
@@ -32,9 +33,10 @@ func factories() map[string]modules.Factory {
|
||||
"util": util.New,
|
||||
"misc": misc.New,
|
||||
"wordle": wordle.New,
|
||||
"loldle": loldle.New,
|
||||
"loldle-emoji": loldleemoji.New,
|
||||
"loldle-quote": loldlequote.New,
|
||||
"loldle": loldle.New,
|
||||
"loldle-ability": loldleability.New,
|
||||
"loldle-emoji": loldleemoji.New,
|
||||
"loldle-quote": loldlequote.New,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user