Hide Playerbot accounts from search, character pages and guild rosters #2

Merged
yrtria merged 2 commits from hide-bot-accounts into master 2026-09-02 14:22:06 -06:00

2 commits

Author SHA1 Message Date
Claude
6d7398d055
Show game master characters in the armory
Some checks failed
Build / build (push) Has been cancelled
Lint / eslint (push) Has been cancelled
Build / build (pull_request) Has been cancelled
Lint / eslint (pull_request) Has been cancelled
Upstream hides GM accounts by default, which assumes GM means staff-only.
On this realm GM accounts belong to real players — Spinnaker, the highest
level character on the server, is gmlevel 3 — so the filter was hiding
people who should be listed.

Flips the stack default to 0 and documents both this and the bot filter.
ARMORY_HIDE_GMS=1 restores upstream behaviour.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NW2ooBP2KPqQVzdZZDMvZd
2026-09-02 20:10:54 +00:00
Claude
cc7ca06182
Hide Playerbot accounts from search, character pages and guild rosters
Some checks failed
Build / build (push) Waiting to run
Lint / eslint (push) Waiting to run
Build / build (pull_request) Has been cancelled
Lint / eslint (pull_request) Has been cancelled
Playerbots are ordinary accounts, not game masters, so hideGameMasters does
not touch them. On a realm running mod-playerbots that means the armory is
almost entirely bots: 1,377 characters listed, of which about 1,350 are bots.

Adds two options, hideBotAccounts (default true) and botAccountPattern
(default "RNDBOT%"), applied the same way the game master filter already
works: left join the accounts we do not want, then require the join to have
missed. A realm without bots matches nothing, so the default is harmless.

Applied in the search listing, guild rosters, and the character lookup, so a
bot's page 404s rather than rendering.

The pattern is spliced into join clauses the query builder emits as raw SQL,
so it cannot be a bound parameter. It comes from the operator's own config
rather than from a request, but Utils.quoteSqlString quotes it so a stray
apostrophe cannot produce a broken query.

Verified against the live realm:

  listed before  1377
  listed after     27
  Spinnaker, Kdog  shown
  Rarzosh (bot)    hidden

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NW2ooBP2KPqQVzdZZDMvZd
2026-09-02 20:08:24 +00:00