Commit Graph

59 Commits

Author SHA1 Message Date
tali 8348f2dc1f respond to client PING messages 2024-01-30 21:38:31 -05:00
tali 7de285524a add AWAY command 2024-01-30 21:30:54 -05:00
tali a57d5b532a add KICK command and clean up KICK/PART/QUIT reason param 2024-01-30 19:34:43 -05:00
tali 4aaa96c6c1 make "Router.membership" easier to type 2024-01-30 19:21:47 -05:00
tali 7d4fa61935 refactor MODE reports errors about missing users 2024-01-30 18:56:44 -05:00
tali 2ecef57faa improve mode parsing yet again, more graceful failures 2024-01-30 18:21:02 -05:00
tali 3ab60bc4c0 add member count, check +l or error on join 2024-01-30 17:32:00 -05:00
tali e7978a01f3 add validation of topics and protected topic mode 2024-01-27 15:56:11 -05:00
tali d5cdc71ac0 add validation of channel modes in some cases
- only +o may set channel mods
- only +v/+o may talk in moderated channels
- filter NAMES reply by channel +s and user +i
2024-01-27 15:34:30 -05:00
tali c35c90fcb1 add handling +o/+v/-o/-v commands in channels 2024-01-25 18:55:03 -05:00
tali b49b1db26b op users joining a fresh channel; list user prefixes 2024-01-24 13:17:59 -05:00
tali 5a463382d3 dont force :trailing on all 324 (RPL_CHANNELMODEIS) replies 2024-01-24 12:58:34 -05:00
tali 8e711970e7 clean up set_chan_* functions 2024-01-24 12:54:53 -05:00
tali 7d8807318b support "JOIN 0" command 2024-01-24 12:47:20 -05:00
tali 130f79163d add line to help remind me to add validation 2024-01-24 12:40:20 -05:00
tali 3658be9fe4 support TOPIC command 2024-01-24 12:38:20 -05:00
tali f057eb1648 get channel symbol correct in NAMES reply 2024-01-24 12:35:34 -05:00
tali 04ad9c6ed7 cover some edge cases such as join a channel twice 2024-01-24 12:12:44 -05:00
tali 67024c572e field accessors are ok, dont use methods in Server_info 2024-01-23 14:31:31 -05:00
tali 7dbd997b92 slight connection.welcome refactor 2024-01-23 14:28:57 -05:00
tali b58e690cfc remove Irc. prefix from everything!!!! 2024-01-23 14:24:35 -05:00
tali aeeefeaf04 move server info and config to Server_info 2024-01-23 14:21:43 -05:00
tali 7f34e5643a add PART reason 2024-01-23 13:46:54 -05:00
tali 4fca26cc8a refactor quit 2024-01-23 13:31:06 -05:00
tali d6385ab852 big huge refactor of channel join/part logic 2024-01-23 13:18:12 -05:00
tali ec0deb9667 refactor set_nick flow 2024-01-22 12:48:44 -05:00
tali 2ddd0bc827 move MODE handling above JOIN, make set_or_unset a polyvar 2024-01-22 12:37:20 -05:00
tali 6824f95a6f move on_msg_{nick,user} around, take set_mode out of welcome 2024-01-22 12:31:32 -05:00
tali 39de7303d2 split Router into Router_types + User + Chan 2024-01-21 15:04:08 -05:00
tali 7372227578 parse and set +k/+l flags 2024-01-20 11:19:29 -05:00
tali 3641f4c773 add basic get/set channel mode 2024-01-18 13:28:48 -05:00
tali 8db310e2b0 add verification to prevent get/set other users' modes 2024-01-18 13:28:21 -05:00
tali 11640e4aa1 fix logic for setting modes, initial mode, get mode reply 2024-01-18 12:29:36 -05:00
tali 7f941a68a1 refactor Router.relay to allow sending to multiple targets at once 2024-01-14 13:21:16 -05:00
tali d399ea73de add preliminary changing user modes 2024-01-14 12:50:43 -05:00
tali fc54fe8599 implement "MODE <user>" functionality, refactor welcome message 2024-01-14 12:50:43 -05:00
tali 76b31627b2 more logging tweaks 2024-01-11 22:43:17 -05:00
tali b868915d64 correctly handle some BS edge cases for PRIVMSG 2024-01-11 22:14:23 -05:00
tali 8b76a2b6db add logging library 2024-01-11 22:14:11 -05:00
tali 925bf747e7 fixup remove comment 2024-01-11 00:29:38 -05:00
tali 4d95927bfa fix 001 reply formatting 2024-01-11 00:22:23 -05:00
tali f383706931 parse comma separated targets into individual commands 2024-01-11 00:22:21 -05:00
tali f47a383fa1 use result monad for Connection 2024-01-10 23:38:25 -05:00
tali 7a101e0620 yet another user register flow refactor 2024-01-10 22:49:07 -05:00
tali ae8b837c56 add TODO comments for various features missing from message handling 2024-01-10 19:43:20 -05:00
tali fbf9211b5f remove use of Irc.Mode.t 2024-01-10 18:58:22 -05:00
tali d17e573e41 add part; part on quit; broadcast messages 2024-01-09 22:01:21 -05:00
tali 17e3739cfe preliminary channels impl 2024-01-09 21:27:46 -05:00
tali b3ea5e5e10 basic nick/channel name validation 2024-01-09 20:32:36 -05:00
tali c4be8f45a8 outbox module + fix quit handling yet again 2024-01-09 19:35:03 -05:00