feat: implement Tier 3 utility IRC commands (USERHOST, VERSION, ADMIN, INFO, TIME, KILL, WALLOPS) #96
Reference in New Issue
Block a user
Delete Branch "feature/87-tier3-utility-commands"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implement all 7 Tier 3 utility IRC commands from #87.
User Commands
USERHOST nick [nick...]VERSIONglobals.Version)ADMININFOTIMEOper Commands
KILL nick :reasonWALLOPS :messageSupporting Changes
is_wallopscolumn to sessions table in001_initial.sql+wtracking viaMODE nick +w/-wMODE nick) now return actual modes (+o,+w)MODE -ode-opers yourself;MODE +orejected (must use OPER command)MODEfor other users returnsERR_USERSDONTMATCH(502)dispatchBodyOnlyCommand,dispatchOperCommand) to reducedispatchCommandcomplexityNew Files
internal/handlers/utility.go— All 7 command handlers + user mode managementinternal/handlers/utility_test.go— 24 tests covering all commands, error cases, oper checks, broadcasts, and edge casesDB Changes
internal/db/queries.go—SetSessionWallops,IsSessionWallops,GetWallopsSessionIDs,GetUserhostInfodocker build --no-cache .passes clean (0 lint issues, all tests pass with race detector).closes #87
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.