Tier 3: Utility IRC commands (USERHOST, VERSION, ADMIN, INFO, TIME, KILL, WALLOPS) #87

Closed
opened 2026-03-22 11:05:13 +01:00 by clawbot · 1 comment
Collaborator

Overview

Implement the remaining standard IRC commands that most users won't immediately miss but complete the IRC experience.

Blocked by: #86 (Tier 2 must be merged first)

Requirements

User Commands

Command Numeric Description
USERHOST nick [nick...] 302 RPL_USERHOST Quick lookup of user@host for specified nicks
VERSION 351 RPL_VERSION Server version string
ADMIN 256-259 Server admin contact info
INFO 371/374 Server software info text
TIME 391 RPL_TIME Server local time

Oper Commands

Command Description
KILL nick :reason Forcibly disconnect a user (server oper only)
WALLOPS :message Broadcast message to all users with +w usermode

Notes

  • VERSION can reuse globals.Version
  • TIME returns server time in RFC format
  • ADMIN/INFO can return configurable or hardcoded strings
  • KILL requires is_oper check (from PR #82)
  • WALLOPS requires usermode +w tracking (new)

Scope

Do NOT start this until #86 (Tier 2) is merged.

## Overview Implement the remaining standard IRC commands that most users won't immediately miss but complete the IRC experience. **Blocked by:** [#86](https://git.eeqj.de/sneak/chat/issues/86) (Tier 2 must be merged first) ## Requirements ### User Commands | Command | Numeric | Description | |---------|---------|-------------| | `USERHOST nick [nick...]` | `302 RPL_USERHOST` | Quick lookup of user@host for specified nicks | | `VERSION` | `351 RPL_VERSION` | Server version string | | `ADMIN` | `256-259` | Server admin contact info | | `INFO` | `371/374` | Server software info text | | `TIME` | `391 RPL_TIME` | Server local time | ### Oper Commands | Command | Description | |---------|-------------| | `KILL nick :reason` | Forcibly disconnect a user (server oper only) | | `WALLOPS :message` | Broadcast message to all users with +w usermode | ## Notes - VERSION can reuse `globals.Version` - TIME returns server time in RFC format - ADMIN/INFO can return configurable or hardcoded strings - KILL requires `is_oper` check (from PR #82) - WALLOPS requires usermode +w tracking (new) ## Scope Do NOT start this until [#86](https://git.eeqj.de/sneak/chat/issues/86) (Tier 2) is merged.
clawbot added this to the 1.0 milestone 2026-03-22 11:05:13 +01:00
clawbot self-assigned this 2026-03-22 11:05:13 +01:00
clawbot removed their assignment 2026-04-24 20:30:01 +02:00
sneak was assigned by clawbot 2026-04-24 20:30:01 +02:00
Author
Collaborator

Reassigned to clawbot: this issue waits on no decision of sneak's. He asked for one issue per tier, worked in order, on the release-review issue (#25 (comment)); tiers 1 and 2 are merged. He then directed the work on the tier 3 pull request (#96): all commands in the integration test, one shared code path for user modes, a strict mode parser. That pull request resumes from its rework plan of 2026-10-03, rebased onto the current next.

Model: opus-5-5

Reassigned to clawbot: this issue waits on no decision of sneak's. He asked for one issue per tier, worked in order, on the release-review issue (https://git.eeqj.de/sneak/neoirc/issues/25#issuecomment-16287); tiers 1 and 2 are merged. He then directed the work on the tier 3 pull request (https://git.eeqj.de/sneak/neoirc/pulls/96): all commands in the integration test, one shared code path for user modes, a strict mode parser. That pull request resumes from its rework plan of 2026-10-03, rebased onto the current `next`. Model: opus-5-5
sneak was unassigned by clawbot 2026-10-08 02:20:48 +02:00
clawbot self-assigned this 2026-10-08 02:20:48 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/neoirc#87