Commit graph

967 commits

Author SHA1 Message Date
jesopo
0b1881b1a9 purple doesn't need the bold() trick as weechat doesn't bold it to make it the
color it is, thus a forceful unbolding isn't required!
2018-11-13 17:59:45 +00:00
jesopo
765ae0fcf9 Add code to tokenize and ansi-replace IRC colors; use this in
modules/print_activity.py
2018-11-13 17:23:28 +00:00
jesopo
8b9062b942 Better constifying of color/font chars 2018-11-13 16:02:26 +00:00
jesopo
555e8faa03 Print MOTD in modules/print_activity.py (after caching it in
modules/line_handler.py)
2018-11-13 14:59:47 +00:00
jesopo
fad4715b5c Add "prefixed-commands" to !channelset 2018-11-12 23:00:51 +00:00
jesopo
0c8678d44f Add a way to tell bitbot to only response to highlight-based commands (e.g. "bitbot: ping") but ignore prefixed commands (e.g. "!ping") 2018-11-12 22:59:21 +00:00
jesopo
49a21b2d36 Add a way to prevent responses to commands at all in specific channels 2018-11-12 22:55:40 +00:00
jesopo
439994464f The target channel of an /INVITE is the second argument! 2018-11-12 22:37:01 +00:00
jesopo
911ace524d Typo in modules/rest_api.py, 'args_spit' -> 'args_split' 2018-11-12 22:20:46 +00:00
jesopo
161272daf5 Better denote variable-length "endpoint" arg in !apikey's usage 2018-11-12 20:44:46 +00:00
jesopo
6308ec86b7 Remove accidentally-added additional argument in modules/set.py.bot_set 2018-11-12 20:33:56 +00:00
jesopo
6e4e358ed1 Typo in modules/rest_api.py, 'seting' -> 'setting' 2018-11-12 18:18:07 +00:00
jesopo
78b3ca3cdc Typo on modules/rest_api.py, '= =' -> '=' 2018-11-12 18:16:55 +00:00
jesopo
eb215d61a1 'api-minify' -> 'rest-api-minify' and make it settable from !botset 2018-11-12 18:15:08 +00:00
jesopo
a0e86f79c3 Change API key checking on-request to match what the values should be in the
database (dict of '{"name": , "permissions": }')
2018-11-12 18:06:02 +00:00
jesopo
a943e69cee Change API keys to be hex representations of UUID4s, change their value in the
database to be a dictionary ({"comment": , "permissions": }) and change the
!apikey command to take a `comment` arg (to note what specific keys are intended
for) and vararg `permissions` (a list of endpoints the API key is allowed to
hit)
2018-11-12 17:59:40 +00:00
jesopo
251f65c048 Boldify authors in modules/github.py 2018-11-12 17:16:17 +00:00
jesopo
d4bb690e83 Remove no-longer-used Regexes in modules/line_handler.py 2018-11-12 12:48:41 +00:00
jesopo
fa9c870e22 Boldify "merged"/"closed without merging" in modules/github.py 2018-11-12 10:24:22 +00:00
jesopo
0fc9b396f1 'files: %s/%s/%s' -> '%s/%s/%s files' 2018-11-12 08:48:21 +00:00
jesopo
3909d679de Fix copypaste fail in modules/github.py 2018-11-12 08:48:09 +00:00
jesopo
7275408b35 Delimit added/removed/modified with "/" and boldify them 2018-11-12 08:44:15 +00:00
jesopo
4716ad16b9 Change "modified" color from yellow to purple, remove unneeded space 2018-11-12 08:38:18 +00:00
jesopo
102d7491ef Change added/removed/modified order, change modified symbol and added colors to
added/removed/modified
2018-11-12 08:35:16 +00:00
jesopo
6bb03c4519 Don't implicitly create channels, explicitly create channels when we join one 2018-11-11 13:03:54 +00:00
jesopo
c50622c1a4 Typo in modules/line_handler.py, 'getl' -> 'get' 2018-11-11 12:50:12 +00:00
jesopo
2816fe67bb Move channel tracking data/functions to src/IRCChannel.Channels 2018-11-11 12:34:22 +00:00
jesopo
57aa62cc9c API keys should have a value of [] when they're created, not True 2018-11-11 09:03:19 +00:00
jesopo
b8e6bfd5e5 Add a way of appending a comment on an API key, to denote what it's for. 2018-11-11 09:02:48 +00:00
jesopo
b06eff217f typo in modules/rest_api.py; 'resonse' -> 'response' 2018-11-11 08:55:49 +00:00
jesopo
9c7afe7d2b Add missing "," in modules/rest_api.py 2018-11-11 08:54:46 +00:00
jesopo
36ab270971 typo in modules/rest_api.py, 'permimssions' -> 'permissions' 2018-11-11 08:53:37 +00:00
jesopo
8024bc9c80 Add a way to minify REST API responses in modules/rest_api.py 2018-11-11 08:51:50 +00:00
jesopo
d72e01aa68 update modules/stats.py to use connection_params 2018-11-11 08:47:21 +00:00
jesopo
8d350aa5f5 Show bytes read/written in server stats 2018-11-11 08:44:46 +00:00
jesopo
9826209ddf Add missing "}"s in modules/check_mode.py 2018-11-10 22:35:35 +00:00
jesopo
dbe0d6cdab Treat "low"/"high" as synonymous with "v"/"o" but with a settable override in
modules/check_mode.py
2018-11-10 22:32:44 +00:00
jesopo
07c813cc1f Add basic access controls to modules/rest_api.py 2018-11-10 21:54:08 +00:00
jesopo
22660067d5 Remove unneeded string literal for resume CAP 2018-11-09 11:15:07 +00:00
jesopo
bc5f9351b1 Make .get() default explicit 2018-11-09 10:47:27 +00:00
jesopo
4bab1aea30 Add a way to more explicitly denote when a CAP handshake has ended early 2018-11-09 10:43:05 +00:00
jesopo
7390367a5a Add missing ")" in modules/stats.py 2018-11-08 22:30:06 +00:00
jesopo
57f697a378 Add !caps to show negotiated IRCv3 capabilities 2018-11-08 22:28:32 +00:00
jesopo
093fc5b2a8 Make hiding [Github] prefix dependent on channel setting 2018-11-08 17:48:23 +00:00
jesopo
2b106adc05 Add missing ".get(" in modules/resume.py 2018-11-08 17:29:20 +00:00
jesopo
150ad512ad Add missing "," in modules/resume.py 2018-11-08 17:28:21 +00:00
jesopo
b3625dbe13 Support IRCv3's draft/resume-0.2 2018-11-08 17:09:53 +00:00
jesopo
2e43c9f3cf Add a way to halt CAP before it hits CAP END 2018-11-08 17:08:46 +00:00
jesopo
88cb327d02 Only send 'PROTOCTL NAMESX' when we're not already got IRCv3's multi-prefix CAP
active
2018-11-08 14:30:50 +00:00
jesopo
26a16a7762 Keep a dict of isupport key:values on IRCServer.Server 2018-11-08 12:34:30 +00:00
jesopo
9744be6473 INFO instead of TRACE log for STS policy setting and connection upgrade 2018-11-08 12:21:54 +00:00
jesopo
4d272a3fa4 Refactor handling ISUPPORT and support hex escapes therein 2018-11-08 11:13:19 +00:00
jesopo
f15e3c8ffe We don't need to expliticly print issue/pr numbers; they're shown in the urls 2018-11-07 19:27:22 +00:00
jesopo
7489b3dd96 "%s commented on" -> "%s commented on a review" 2018-11-07 19:22:12 +00:00
jesopo
66a904b5aa don't show pull request review events when they're "commented" 2018-11-07 19:21:59 +00:00
jesopo
d961416401 Color "merged" and "closed without merging" in green and red respectively 2018-11-07 11:47:54 +00:00
jesopo
773412cdb0 Hide [Github] prefix in modules/github.py 2018-11-07 11:27:34 +00:00
jesopo
1696492a78 Add ability to hide [Prefix] from command outputs 2018-11-07 11:27:10 +00:00
jesopo
4000479cf0 Better show when a PR is merged or not merged when closingd 2018-11-07 08:23:07 +00:00
jesopo
6234334a7c I decided to not specifically handle printing arrays in !get/!channelget/etc but
forgot to remove this code
2018-11-06 17:35:59 +00:00
jesopo
1dfa10ea9d Typo in modules/github.py, 'COMMENT_ACTION' -> 'COMMENT_ACTIONS' 2018-11-06 17:23:27 +00:00
jesopo
08355c026e Log errors caught when trying to execute API endpoints 2018-11-06 17:22:50 +00:00
jesopo
2bdac13752 Make "created a comment on" more readable with "commented on" 2018-11-06 17:05:40 +00:00
jesopo
367657901d Better indicate that comments/reviews are for the given title, instead of it
seeming like the title is the comment body
2018-11-06 16:10:26 +00:00
jesopo
0e2d2b268a Handle github_event 'ping' 2018-11-06 16:08:02 +00:00
jesopo
7c49152ef6 if an issue comment is from a pull request, it's denoted by the presence of
data["issue"]["pull_request"]
2018-11-06 15:01:02 +00:00
jesopo
12bc12e2ab issue_comment is fired for both issue comments AND pull request comments.
weirdly.
2018-11-06 14:55:47 +00:00
jesopo
f06c824ae9 Only count a None response from an API event hook to be a 404 2018-11-06 14:09:13 +00:00
jesopo
276fe2c8fa Allow a json.loads error in modules/github.py to bubble back up to
modules/rest_api.py
2018-11-06 14:08:35 +00:00
jesopo
be3ee373dd Typo in modules/github.py, 'for output in output' -> 'for output in outputs' 2018-11-06 14:02:03 +00:00
jesopo
c3c6080117 Don't parse github events when there are no channels listening for the given
repo
2018-11-06 14:01:49 +00:00
jesopo
b6ad57f965 github-hook is an array 2018-11-06 14:01:30 +00:00
jesopo
65b182c9a9 'event["headers"]' -> 'event["headers"]["X-GitHub-Event"]' 2018-11-06 14:01:02 +00:00
jesopo
8789689393 Remove additional 'False' in modules/set.py that was an artefact of the first
attempt to support array setting
2018-11-06 13:48:32 +00:00
jesopo
7d71da47a0 Typo in modules/set.py; '=' -> '==' 2018-11-06 13:44:33 +00:00
jesopo
c3295c4140 Support more than just push actions in modules/github.py 2018-11-06 13:43:06 +00:00
jesopo
bbec7f311d Pass headers through REST API callbacks 2018-11-06 13:02:04 +00:00
jesopo
2921ed77ae Support arrays of user/channel/bot/server settings 2018-11-06 13:01:30 +00:00
jesopo
8930d04567 server should be passed in received.rename in modules/line_handler.py 2018-11-05 21:38:39 +00:00
jesopo
257659aa73 Change modules/sts.py to reference connection_params, fix some typos and logig
issues
2018-11-05 20:51:33 +00:00
jesopo
ea3ed99a9e Explicitly disconnect before reconnecting in modules/sts.py 2018-11-05 20:35:23 +00:00
jesopo
f0f2701386 Do an instant reconnect for !reconnect in modules/admin.py 2018-11-05 20:03:45 +00:00
jesopo
d63115440d Fix the order of some connection params, add alias as a seperate argument to
IRCServer.Server
2018-11-05 18:30:39 +00:00
jesopo
6b8593a09b Pass connection parameters around in their own object (IRCConnectionParameters) 2018-11-05 18:23:02 +00:00
jesopo
e26df7556a Check that a server's STS policy has a duration before doing
rescheduling-on-disconnect
2018-11-05 18:21:43 +00:00
jesopo
7c3a8e7444 Prettyprint channel RENAMEs 2018-11-05 16:42:33 +00:00
jesopo
4936b91273 Support JSON messages tags, as per IRCv'3 message-tags-0.3 #318 pull request 2018-11-05 15:15:08 +00:00
jesopo
90a72eb24d TRACE log when we set an STS policy 2018-11-05 14:57:34 +00:00
jesopo
edbacce1fc Support draft/sts as well as sts 2018-11-05 14:52:25 +00:00
jesopo
5b2c979649 "Applying STS policy" should be TRACE, not DEBUG 2018-11-05 14:16:14 +00:00
jesopo
7408bfc9d3 Add missing ")" in modules/sts.py 2018-11-05 14:13:27 +00:00
jesopo
9b6e3c96ed Add missing "," in modules/sts.py 2018-11-05 14:12:59 +00:00
jesopo
aaf0c8cf2a Reschedule STS expiration on disconnect 2018-11-05 14:12:21 +00:00
jesopo
3fa16fe678 Explicitly *remove* STS policy when we get a duration of 0 2018-11-05 13:26:11 +00:00
jesopo
5fa442c8a5 info does not exist in on_cap_new context in modules/sts.py 2018-11-05 13:25:51 +00:00
jesopo
061a4ede23 One-shot STS policies should still be cleared if a reconnect fails 2018-11-05 13:14:00 +00:00
jesopo
5981bfa04c Made STS policies one-shot when upgrading from plaintext to tls 2018-11-05 13:03:45 +00:00
jesopo
19864a7e13 duration does not exist in the context of _change_duration 2018-11-05 12:59:40 +00:00
jesopo
c3a2ffc48d Add support for IRCv3's STS 2018-11-05 12:39:02 +00:00
jesopo
7baab0f7d7 Update modules/scripts.py to use utils.parse.hashflags instead of
utils.get_hashflags
2018-11-05 12:15:54 +00:00