Commit graph

1884 commits

Author SHA1 Message Date
jesopo
6b41834a35 connect_time is on server.socket, not server 2019-05-24 17:36:20 +01:00
jesopo
a3a2c1e5a4 Store IRCSocket connect_time, show bytes read/write per second in stats.py 2019-05-24 17:32:59 +01:00
jesopo
3e8a31ba73 _match_caps takes 2 args 2019-05-24 05:47:01 +01:00
jesopo
61af81c9de Add comment about why we strip non-alnum chars from private commands 2019-05-23 16:10:31 +01:00
jesopo
4b5f839231 Forgot not so it was stripping alnum chars, not non-almun chars 2019-05-23 16:05:41 +01:00
jesopo
f0230eb001 attempted_auth is no longer used 2019-05-23 16:04:09 +01:00
jesopo
0a23e71e4e .lstrip alphanumeric chars from private commands 2019-05-23 16:03:49 +01:00
jesopo
e2a878def1 Remove self param of _validate 2019-05-23 15:36:04 +01:00
jesopo
f4b702fe04 Remove debug printing from config.py 2019-05-23 14:18:15 +01:00
jesopo
3806fd864b Add require_setting to pronouns.py 2019-05-23 12:18:12 +01:00
jesopo
724b3380d3 Use require_setting in user_time.py and weather.py 2019-05-23 11:50:12 +01:00
jesopo
d8b625eaa9 Add setting example in location.py 2019-05-23 11:49:57 +01:00
jesopo
34b7768d42 Use require_setting in birthday.py 2019-05-23 11:46:00 +01:00
jesopo
ac9768fcde Add system to require settings per event hook and show example help if they're
not present
2019-05-23 11:45:35 +01:00
jesopo
9df7b80d00 pass the command_prefix that triggered an event through event kwargs 2019-05-23 11:44:52 +01:00
jesopo
9f2881323f Only show register/identify advice when we're using internal auth 2019-05-23 10:39:24 +01:00
jesopo
fef97bfcd8 Show example usage when a user does not provide a setting value 2019-05-23 10:36:59 +01:00
jesopo
13a878cc17 Remove array-setting log - we don't/shouldn't use it. 2019-05-23 10:34:10 +01:00
jesopo
cf29c37112 Add usage examples for all settings 2019-05-23 10:28:14 +01:00
jesopo
8cc0b84e53 event.eat() for command.regex hooks in github module 2019-05-22 22:31:03 +01:00
jesopo
86c36d2ecc LIGHTBLUE tick for verified twitters, not GREEN 2019-05-22 20:29:53 +01:00
jesopo
ce37c66e8a Show a green tick for verified twitter accounts 2019-05-22 20:27:13 +01:00
jesopo
000b264d6d move api def to the only context that uses it, rename twitter_object var 2019-05-22 19:49:55 +01:00
jesopo
aa75f4ef05 Implement auto-tweet setting to get tweet info automatically 2019-05-22 19:42:52 +01:00
jesopo
801eb5adb4 Refactor tweet-formatting logic in to it's own functions 2019-05-22 19:42:36 +01:00
jesopo
02ddb85167 Typo, taret -> target 2019-05-22 19:34:30 +01:00
jesopo
f066dbb232 url_match -> event["match"] 2019-05-22 19:03:51 +01:00
jesopo
5ab4c6cbff target_str is BitBot's own nickname for private messages 2019-05-22 14:26:22 +01:00
jesopo
e3d8063373 Check if a PRIVMSG/NOTICE is send *from* us before we check if it's sent *to* us
- so `user` isn't null when bitbot messages himself.
2019-05-22 14:23:38 +01:00
jesopo
e82a05dd37 RESUME errors now come as FAIL RESUME 2019-05-22 11:57:26 +01:00
jesopo
4ce8d6b461 Pass server through FAIL events, use FAIL command as part of event path 2019-05-22 11:56:21 +01:00
jesopo
cf89e28019 Log calls need formatting arguments as a second arg 2019-05-22 11:56:05 +01:00
jesopo
6ba3588294 stdout.write on success for !disconnect 2019-05-22 08:50:05 +01:00
jesopo
3e1a478f77 Remove old debug print()s from admin.py 2019-05-22 08:49:00 +01:00
jesopo
29d5ab9b56 _handle takes a server param 2019-05-22 08:42:41 +01:00
jesopo
82e79ac4e5 there's no 1 index arg for a batch-end 2019-05-22 08:42:27 +01:00
jesopo
6a4852d2b4 server and tag var don't exist 2019-05-22 08:42:03 +01:00
jesopo
f52fd2adc4 We should be using CAP.available() as it's not a string 2019-05-22 08:34:52 +01:00
jesopo
0dbf44a681 Default taget_str in send.stdout/send.stderr to target.name 2019-05-22 08:24:59 +01:00
jesopo
fe67edecac change arg order for StdOut(/StdErr( in send.stdout/send.stderr events 2019-05-21 23:16:54 +01:00
jesopo
d003b8eb57 change position of target_str in self.command args 2019-05-21 23:14:56 +01:00
jesopo
6d44db6065 Remove references to STATUSMSG - just pass around a raw target_str (target
without statusmsg chars stripped off)
2019-05-21 23:09:32 +01:00
jesopo
d5a973b84b Don't allow karma for empty strings 2019-05-21 16:48:10 +01:00
jesopo
451d0c5928 typo, 'preix' -> 'prefix' 2019-05-21 15:39:54 +01:00
jesopo
73c3068a8d event["channel"] -> event["target"] 2019-05-21 13:53:36 +01:00
jesopo
7ddc539ea6 don't overwrite tags var 2019-05-21 13:02:40 +01:00
jesopo
11e5cc50c4 Keep commands/outs.py tags-agnostic 2019-05-21 12:56:05 +01:00
jesopo
a031402c1d Add masterpassword private-only command 2019-05-21 12:18:59 +01:00
jesopo
5dd337a92e Move master-password generation out to it's own function 2019-05-21 12:17:01 +01:00
jesopo
5ba3c5d460 Typo, 'usernaame' -> 'username' 2019-05-21 10:45:15 +01:00
jesopo
9124f84e25 Strip "+" from the start of port after checking if it is present 2019-05-21 10:42:40 +01:00
jesopo
1daa4217ec Add !addserver command 2019-05-21 10:16:20 +01:00
jesopo
9a5ba753d0 event.eat() in command.regex for !title 2019-05-21 09:54:51 +01:00
jesopo
2fcaf68f0e Move regex-based github info to command.regex hooks 2019-05-21 09:54:18 +01:00
jesopo
281e14d1fb Add the basics of usig BRB instead of QUIT for draft/resume-0.4 2019-05-20 16:36:17 +01:00
jesopo
bdd161256d has_capability -> has_capability_str, add new has_capability 2019-05-20 16:33:32 +01:00
jesopo
161fdb8aa6 "you cannot change your own karma" should be stderr not stdout 2019-05-20 14:14:44 +01:00
jesopo
02998efc43 Actually pass args_split in to _find_command_hook 2019-05-20 06:42:17 +01:00
jesopo
c9b9827c14 take/return args_split from _find_command_hook, for alias replacing 2019-05-20 06:39:58 +01:00
jesopo
2ff21f5f78 Typo, 'colr' -> 'color' 2019-05-19 21:41:56 +01:00
jesopo
c6f82d3866 green/red the whole of likes/dislikes, not just up/down symbols 2019-05-19 21:39:35 +01:00
jesopo
5ed9185fb5 Remove now-unneeded call to .buffer.skip_next() after a preprocess.command
failure
2019-05-19 17:53:21 +01:00
jesopo
9d89d7198e target doesn't exist in message handlers 2019-05-19 17:36:31 +01:00
jesopo
db3525778e Only buffer.skip() for non-regex commands 2019-05-19 17:34:14 +01:00
jesopo
bf6e4a0e40 green/red color for up/down votes on youtube videos 2019-05-19 17:33:02 +01:00
jesopo
4806e9c81e Switch to using Capability.copy() for sasl 2019-05-19 11:13:37 +01:00
jesopo
c60094ea92 matched_caps is actually a str[] 2019-05-19 11:13:16 +01:00
jesopo
66ce2ee2b7 .copy() all the hardcoded Capabilities in line_handler/ircv3.py 2019-05-19 11:10:32 +01:00
jesopo
f386351b7b Use Capability.copy() in metadata.py 2019-05-19 11:08:32 +01:00
jesopo
046bb2b8ae Make use of Capability.copy() in resume.py 2019-05-19 11:01:44 +01:00
jesopo
e4bc57b3cc Actually check auto-title setting 2019-05-19 10:44:48 +01:00
jesopo
66c3d26531 Don't give draft/resume-0.4 as the non-draft arg to utils.irc.Capability 2019-05-19 10:34:50 +01:00
jesopo
5255820b87 draft/resume-0.3 -> draft/resume-0.4 2019-05-19 10:34:33 +01:00
jesopo
8be178f406 Use re.search, not re.match, for command.regex hooks 2019-05-19 08:41:20 +01:00
jesopo
7ccfa12b00 event["channel"] -> event["target"] (from regex-commands change) 2019-05-18 21:33:50 +01:00
jesopo
3b9efe769a Change factoids.py to use regex commands 2019-05-18 20:18:55 +01:00
jesopo
6f0b31cb9a Switch imgur.py to use command.regex system 2019-05-18 19:20:09 +01:00
jesopo
4e0e63e7f8 Hand over regex-based-command responsibilities to commands module 2019-05-18 18:35:47 +01:00
jesopo
161c60c4f6 .lower() -> .upper() for CAP subcommands. makes a lot more sense. 2019-05-18 14:57:09 +01:00
jesopo
e7edd9997f regex fix, move '+' inside capturing group 2019-05-18 11:13:19 +01:00
jesopo
0a89682816 match.group(0) -> ref 2019-05-18 11:07:42 +01:00
jesopo
c474702afb Catch github urls in auto-github 2019-05-18 11:05:38 +01:00
jesopo
eaee51f677 Don't try to set repo to org after we've already changed org 2019-05-17 10:28:34 +01:00
jesopo
5513cc3a80 change REGEX_ISSUE to actually accept a repo name without org name 2019-05-17 10:28:18 +01:00
jesopo
f3d9fbb216 Actually assume the provided "org" is the repo when repo isn't provided 2019-05-17 10:14:49 +01:00
jesopo
3411f12fc4 Use github-default-repo to fill in org when org is missing but repo isn't 2019-05-17 10:10:27 +01:00
jesopo
3bbc4b3b77 server -> event["server"] 2019-05-16 14:28:20 +01:00
jesopo
385a4e3d4e channel -> event["channel"] 2019-05-16 14:27:07 +01:00
jesopo
ce1558e48b Catch-and-bury utils.EventError in auto-github code 2019-05-16 14:25:37 +01:00
jesopo
54e8fc8029 \S not \s in github issue ref regex 2019-05-16 14:25:18 +01:00
jesopo
7ce6af53f7 _parse_pull and _parse_issue shouldn't have an event param anymore 2019-05-16 14:20:50 +01:00
jesopo
a2321c693c _gh_* functions were renamed 2019-05-16 14:18:42 +01:00
jesopo
20514cc871 Add auto-github setting to automatically match and resolve github issue/pr
refs
2019-05-16 14:17:04 +01:00
jesopo
e0311c4b73 Allow people with silence permission to use !silence too 2019-05-16 08:53:28 +01:00
jesopo
bf7d359092 Add a setting to opt-out of word count tracking 2019-05-15 22:44:47 +01:00
jesopo
052eba788f Show server versoin (from RPL_MYINFO) on /api/servers 2019-05-15 17:13:05 +01:00
jesopo
7547eee96d Catch server version string, from RPL_MYINFO 2019-05-15 17:12:21 +01:00
jesopo
94d2f103b0 Don't show ducks when the bot is silenced 2019-05-15 16:48:20 +01:00
jesopo
278d6f02d6 Don't collect preprocess.command errors after we get a HARD_FAIL 2019-05-15 16:41:49 +01:00
jesopo
eb456f0123 Set silence.py's preprocess.command hook to PRIORITY_HIGH, so that other
modules can't respond to the event with errors first
2019-05-15 16:39:11 +01:00