3 Commits

Author SHA1 Message Date
9c6c4cd07d Merge branch 'main' into feature/tier2-channel-modes
Some checks failed
check / check (push) Failing after 1m52s
2026-03-25 20:11:45 +01:00
user
e5def878c7 docs: fix RPL_MYINFO example in README to match code (ikmnostl)
All checks were successful
check / check (push) Successful in 1m9s
2026-03-24 18:42:04 -07:00
user
f2b4ad9eed feat: implement Tier 2 channel modes (+b/+i/+s/+k/+l)
Some checks failed
check / check (push) Failing after 2m26s
Implement the second tier of IRC channel features:

1. Ban system (+b): Add/remove/list bans with wildcard matching.
   Bans prevent both joining and sending messages.
   Schema: channel_bans table with mask, set_by, created_at.

2. Invite-only (+i): Channel mode requiring invitation to join.
   INVITE command for operators. Invites stored in DB and
   cleared after successful JOIN.

3. Secret (+s): Hides channel from LIST for non-members and
   from WHOIS channel lists when querier is not in same channel.

4. Channel key (+k): Password-protected channels. Key required
   on JOIN, set/cleared by operators.

5. User limit (+l): Maximum member count enforcement. Rejects
   JOIN when channel is at capacity.

Updated ISUPPORT CHANMODES to b,k,Hl,imnst.
Updated RPL_MYINFO available modes to ikmnostl.
Comprehensive tests for all features at both DB and handler levels.
README updated with full documentation of all new modes.

closes #86
2026-03-24 18:32:52 -07:00

Diff Content Not Available