Some checks failed
check / check (push) Failing after 46s
Add a traditional IRC wire protocol listener (RFC 1459/2812) on configurable port (default :6667), sharing business logic with the HTTP API via a new service layer. - IRC listener: NICK, USER, PASS, JOIN, PART, PRIVMSG, NOTICE, TOPIC, MODE, KICK, QUIT, NAMES, LIST, WHOIS, WHO, AWAY, OPER, INVITE, LUSERS, MOTD, PING/PONG, CAP - Service layer: shared logic for both transports including channel join (with Tier 2 checks: ban/invite/key/limit), message send (with ban + moderation checks), nick change, topic, kick, mode, quit broadcast, away, oper, invite - BroadcastQuit uses FanOut pattern (one insert, N enqueues) - HTTP handlers delegate to service for all command logic - Tier 2 mode operations (+b/+i/+s/+k/+l) use service methods Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
28 lines
540 B
Go
28 lines
540 B
Go
package irc
|
|
|
|
// IRC command names (RFC 1459 / RFC 2812).
|
|
const (
|
|
CmdAway = "AWAY"
|
|
CmdInvite = "INVITE"
|
|
CmdJoin = "JOIN"
|
|
CmdKick = "KICK"
|
|
CmdList = "LIST"
|
|
CmdLusers = "LUSERS"
|
|
CmdMode = "MODE"
|
|
CmdMotd = "MOTD"
|
|
CmdNames = "NAMES"
|
|
CmdNick = "NICK"
|
|
CmdNotice = "NOTICE"
|
|
CmdOper = "OPER"
|
|
CmdPass = "PASS"
|
|
CmdPart = "PART"
|
|
CmdPing = "PING"
|
|
CmdPong = "PONG"
|
|
CmdPrivmsg = "PRIVMSG"
|
|
CmdQuit = "QUIT"
|
|
CmdTopic = "TOPIC"
|
|
CmdUser = "USER"
|
|
CmdWho = "WHO"
|
|
CmdWhois = "WHOIS"
|
|
)
|