Commit graph

4668 commits

Author SHA1 Message Date
jesopo
341b314104 change command specs to be compiled at runtime by a decorator 2020-01-25 14:01:11 +00:00
jesopo
85c13cbbd7 update echo.py to use command spec language 2020-01-25 11:33:38 +00:00
jesopo
264e544ce5 support !... as "one or more", show "not enough args" error 2020-01-25 11:33:09 +00:00
jesopo
1d9621022c remove debug print 2020-01-25 11:32:49 +00:00
jesopo
5722a567a1 fix format_token_replace for $$ 2020-01-25 11:32:01 +00:00
jesopo
c9a4656163 update mode list functions to not use args 2020-01-25 11:22:22 +00:00
jesopo
50f7985c6d !cunmute needs an event arg 2020-01-25 11:21:55 +00:00
jesopo
09fa9363b3 support e.g. "!r~channel" spec to change the context of "!cuser" 2020-01-24 17:00:55 +00:00
jesopo
241382fe66 add some comments about all the command_spec spec types 2020-01-24 16:50:25 +00:00
jesopo
e16831cc83 better "!user" spec error 2020-01-24 16:42:23 +00:00
jesopo
9ddcad73ae use new command specs in channel_op.py 2020-01-24 16:27:41 +00:00
jesopo
f51b06aae1 check "channel" coming from command_spec.py parsing (check_mode, channel_access) 2020-01-24 16:26:53 +00:00
jesopo
f0d8853549 implement "important" command spec pieces, esp. for channel perms 2020-01-24 16:25:50 +00:00
jesopo
def6a019d6 don't args[0] for rchannel when [], better rchannel error 2020-01-24 15:35:05 +00:00
jesopo
47cb5eaab8 utils.parse.timed_args() min_args should be optional 2020-01-24 15:30:32 +00:00
jesopo
4e2f463d39 add ruser/rchannel (r for relevant) to command_spec.py 2020-01-24 15:29:13 +00:00
jesopo
52c3cab627 still append None when an optional spec is missed 2020-01-24 14:27:47 +00:00
jesopo
fa98b72fd5 first draft of command_spec.py 2020-01-24 14:24:54 +00:00
jesopo
a9a9cd816b channel.send_mode() BEFORE calling self.join event 2020-01-24 10:37:41 +00:00
jesopo
cf544d66f9 extraneous newline 2020-01-23 17:41:57 +00:00
jesopo
ecfab16fc4 add !lsearch to show what !clear would remove 2020-01-23 16:24:08 +00:00
jesopo
32f047c10e wordiest-prevent-highlight -> words-, apply to !wordusers too 2020-01-23 14:15:26 +00:00
jesopo
f6e6dd0339 remove received.server-notice related code 2020-01-23 14:08:58 +00:00
jesopo
d919e5c345 simplify snotice detection, handle as normal NOTICE 2020-01-23 13:10:45 +00:00
jesopo
ab2ed90ef9 set_own_nickname before sending self.nick event 2020-01-23 12:51:18 +00:00
jesopo
4515cf84e1 support WATCH as well as MONITOR nick nick_regain.py 2020-01-23 12:50:58 +00:00
jesopo
022eed84f6 pull mode for RPL_(ENDOF)QUIETLIST from args[2] 2020-01-23 12:34:18 +00:00
jesopo
b1df6b640f search for QUIET prefix anywhere, not just at the start of string 2020-01-23 12:31:23 +00:00
jesopo
ef2d80511d only check missed modes if our mode changes and MODE #chan responds 2020-01-23 12:23:27 +00:00
jesopo
cded6b6877 only query missing list modes on MODE when we're seen ENDOFWHO 2020-01-23 12:09:45 +00:00
jesopo
9ac2fe96fe changed failed list modes after ENDOFWHO, not when our mode changes 2020-01-23 11:45:51 +00:00
jesopo
66a8a2b856 get channelset quiet-method list from QUIET_METHODS 2020-01-23 10:26:26 +00:00
jesopo
861d901401 fix duplicate "insp" QUIET_METHODS entry 2020-01-23 10:17:11 +00:00
jesopo
a6f8f51ee0 add "!clear quiets|mutes" 2020-01-23 10:12:30 +00:00
jesopo
007fd1206c add typehint for IRCChannel.mode_lists 2020-01-22 18:01:22 +00:00
jesopo
2a33b25930 correctly support INVEX and EXCEPTS lists 2020-01-22 17:58:12 +00:00
jesopo
811b85d0f9 move mode list (beIq e.g.) to it's own module, mode_lists.py 2020-01-22 17:41:20 +00:00
jesopo
3ddeea0692 don't add modes to mode_lists until we have data 2020-01-22 17:20:10 +00:00
jesopo
ef3bdbf9fc strip all font before rainbowifying text 2020-01-22 16:32:38 +00:00
jesopo
e7a1b157de actually use args var 2020-01-22 16:32:31 +00:00
jesopo
175e8c0a16 change utils.irc.strip_font() to remove tokens, no regex 2020-01-22 16:32:21 +00:00
jesopo
363fdf01b0 support ISUPPORT MODES token having no arg 2020-01-22 15:07:00 +00:00
jesopo
f79aa036f2 fix hostmask_match_many typehint 2020-01-22 15:04:48 +00:00
jesopo
ade5cbb1f3 add an optional mask pattern arg to !clear 2020-01-22 15:00:59 +00:00
jesopo
463ce89fba effectively ignore ENDOF when there were no items 2020-01-22 15:00:43 +00:00
jesopo
64848f5ab7 add a special "require_mode" arg; "highest" meaning "highest mode possible" 2020-01-22 14:12:48 +00:00
jesopo
b6f18f809c add a special "require_mode" arg; "admin" meaning "above op if available" 2020-01-22 14:10:45 +00:00
jesopo
59985f182a implement "!clear +b" to clear ban lists 2020-01-22 14:03:03 +00:00
jesopo
897c6df794 track all channel list modes, not just ban and maybe quiet 2020-01-22 14:01:37 +00:00
jesopo
5258b8cc8f typo; 'resaon' -> 'reason' 2020-01-22 12:46:07 +00:00