Commit graph

1464 commits

Author SHA1 Message Date
jesopo
e49389232e Support github events only related to an organisation, not a repo (github.py) 2019-01-16 22:13:14 +00:00
jesopo
8e5642f5d7 Check if page is null before trying to access page.data (eval_python.py) 2019-01-15 12:39:27 +00:00
jesopo
3eb87b06e1 'guid' -> 'uuid' as apparently guid is microsoft's name for a uuid
(random_number.py)
2019-01-14 21:37:14 +00:00
jesopo
7e85197d47 Change !gh to be an alias of !github (github.py) 2019-01-13 22:06:41 +00:00
jesopo
598fcb80b9 'to_ansi_colors(' -> 'parse_format(' as it's become a lot more than just colors.
strip \x08 (in case hexchat users paste it) (print_activity.py, src.utils.irc)
2019-01-13 21:56:36 +00:00
jesopo
9ab9400b46 Only show issue comment edit events when the body text of the comment has
actually changed (github.py)
2019-01-13 01:34:07 +00:00
jesopo
e523671633 Made positive karma show as LIGHTGREEN, not GREEN (karma.py) 2019-01-11 21:00:09 +00:00
jesopo
eadb49d41a Don't use bolding for command colors (commands.py) 2019-01-11 20:57:52 +00:00
jesopo
3cc9bc9dbb Karma is now being used as karma_str, thus we need a %s not a %d (karma.py) 2019-01-11 17:35:18 +00:00
jesopo
415afe7e27 Show positive karma as green and negative karma as red (karma.py) 2019-01-11 17:33:43 +00:00
jesopo
e5a5241615 Only try to regex match a youtube url if we actually have a search string
(youtube.py)
2019-01-11 12:03:23 +00:00
jesopo
59094568e0 Add youtube-safesearch channel setting, to allow channels to opt-in to turning
off any safe search filters (youtube.py)
2019-01-11 11:30:29 +00:00
jesopo
e62b3b58f4 "set" -> "channelset" for channel-related unset (set.py) 2019-01-10 22:43:12 +00:00
jesopo
0e9d2b3180 Add !unset and !channelunset (and !channelunsetoverride) (set.py) 2019-01-10 22:41:35 +00:00
jesopo
2f74100666 Don't have duplicate repo full name in ping events (github.py) 2019-01-10 22:24:04 +00:00
jesopo
cbc0e81fb3 Send a notice to a channel when a new webhook registration is received
(github.py)
2019-01-10 22:14:40 +00:00
jesopo
73392e8a20 Pass username, repository, number to _gh_issue and _gh_pull (github.py) 2019-01-10 13:36:13 +00:00
jesopo
2d346e73bc Seperate out issue/pr logic into their own functions and add !gh that will get
info on either an issue or a pull request (github.py)
2019-01-10 13:32:19 +00:00
jesopo
8da6036894 Show issue/pr state in !ghissue and !ghpull (github.py) 2019-01-10 13:23:32 +00:00
jesopo
d26a945c49 Show an error if !ghissue or !ghpull doesn't find the specified issue/pr
(github.py)
2019-01-10 13:18:58 +00:00
jesopo
86810290f7 rpartition (instead of partition) #number for github issues/pull, so that we
don't have to specify "#" when we're got a default repo (github.py)
2019-01-10 13:11:35 +00:00
jesopo
55b61649f4 copypaste fail, event["args_split"][0] -> ref (github.py) 2019-01-09 23:03:34 +00:00
jesopo
bba5733736 Command events don't have "channel", they have "target" (github.py) 2019-01-09 23:02:39 +00:00
jesopo
5514c2b9c9 Add a way to set the default github repo for a channel (github.py) 2019-01-09 23:01:27 +00:00
jesopo
470f9fc945 from_repo/to_repo -> repo_from/repo_to (github.py) 2019-01-09 22:51:55 +00:00
jesopo
2afe2d1c57 Show which branch is being merged in to which (github.py) 2019-01-09 22:50:41 +00:00
jesopo
d6da46fac3 to_from -> repo_to (github.py) 2019-01-09 22:50:21 +00:00
jesopo
8399545fe3 Add missing "(" for github pull request message format (github.py) 2019-01-09 22:47:47 +00:00
jesopo
aa04071d89 def github( -> def webhook( (github.py) 2019-01-09 22:47:20 +00:00
jesopo
dc4c711fa0 Actually show deletions as deletions for github pull requests (github.py) 2019-01-09 22:46:57 +00:00
jesopo
8d3064d50c Add !ghpull, to get information on a pull request from github (github.py) 2019-01-09 22:45:33 +00:00
jesopo
56f431176c Boldify sender on a pull request review comment (github.py) 2019-01-09 22:33:02 +00:00
jesopo
ac3c361399 Add !ghissue, to get information on an issue from github (github.py) 2019-01-09 22:30:11 +00:00
jesopo
93336efd38 Handle !soundcloud returning no results (soundcloud.py) 2019-01-08 10:14:21 +00:00
jesopo
38b7a1dadf Typo in words.py: 'strippped_word' -> 'stripped_word' 2019-01-04 12:36:38 +00:00
jesopo
8171c5c492 Allow tracking words that have characters deemed as "start"/"end" characters
(words.py)
2019-01-04 12:13:36 +00:00
jesopo
47b17def99 Sort list of available settings for set/channelset/etc (set.py) 2019-01-03 22:02:51 +00:00
jesopo
e15c7ece5b URL-unquote form-encoded data AFTER parsing it as a query string (github.py) 2019-01-03 21:55:21 +00:00
jesopo
498352d1ac Support adding github webhooks for an entire "username" (github.py) 2019-01-03 21:18:40 +00:00
jesopo
cb3e40a462 Print a topic's set at time when we receive a 333 (print_activity.py) 2019-01-02 13:39:49 +00:00
jesopo
3d60d59510 We need to normalise between a single usage string and multiple (making both
lists) to reuse the formatting code (commands.py)
2018-12-29 21:38:03 +00:00
jesopo
ee8d3a6287 Remove an erroneous level of indentation that prevented the command being
prepended to a usage string when only 1 usage string was available (commands.py)
2018-12-29 21:35:06 +00:00
jesopo
e8b69b0a26 type should be before number in the string formatting of issue_comment
(github.py)
2018-12-29 21:15:50 +00:00
jesopo
5f994e599d Show issue/pr number (github.py) 2018-12-29 19:05:14 +00:00
jesopo
d91e15abfd html unescape tweet text 2018-12-27 21:57:33 +00:00
jesopo
30db81e0da --require-config shouldn't have a space before it 2018-12-27 21:57:24 +00:00
jesopo
b8b0adb811 Sort nicknames case-insensitively (stats.py) 2018-12-26 23:24:43 +00:00
jesopo
e5600a6927 Sort user nicknames on /api/server (stats.py) 2018-12-26 23:22:12 +00:00
jesopo
f0ee00da3a Typo, '==' -> '=' 2018-12-22 09:36:13 +00:00
jesopo
7223e76e24 Copypaste fail from moving logic out to turn a date to a string ('value' -> 'dt)
(badges.py)
2018-12-22 09:35:11 +00:00
jesopo
13cf49ac5d Add !upsertbadge, to update or add a badge with a date (badges.py) 2018-12-22 09:34:38 +00:00
jesopo
6c38f2f637 Better clarify !updatebadge's <date> arg in usage (badges.py) 2018-12-22 09:33:52 +00:00
jesopo
43361961bb Move out logic to case-insensitively find a badge (badges.py) 2018-12-22 09:33:23 +00:00
jesopo
bd8ca2083b Typo, 'aliase' -> 'aliases' (commands.py) 2018-12-22 01:06:42 +00:00
jesopo
be1d06796b Add !removealias (commands.py) 2018-12-22 01:05:47 +00:00
jesopo
3039119f4a Actually set new args_split (commands.py) 2018-12-22 01:02:55 +00:00
jesopo
ae5eb9fc47 .partition returns a tuple of 3 (commands.py) 2018-12-22 01:01:25 +00:00
jesopo
498c1d647e Add basics of a command alias system 2018-12-22 01:00:38 +00:00
jesopo
44d2455766 This regex should have been r"" (commands.py) 2018-12-22 00:49:00 +00:00
jesopo
da42963e5c Add help and usage (badges.py) 2018-12-22 00:36:43 +00:00
jesopo
d2770c9642 Show actual date (not just days since) for !badge (badges.py) 2018-12-22 00:10:44 +00:00
jesopo
c2cc4fbd61 Show badges as "[badge] on day [count]" (badges.py) 2018-12-21 10:01:28 +00:00
jesopo
af70a28a45 'recevied' -> 'received' (timer.py) 2018-12-20 23:55:45 +00:00
jesopo
fe197b97ea Added timer.py 2018-12-20 23:54:35 +00:00
Evelyn
0c0e8c6b89 NR: list only called/total full count for service 2018-12-20 23:53:40 +00:00
Evelyn
aaca9dc4a6 Quit: We're getting there 2018-12-20 23:45:30 +00:00
jesopo
be7ae375ca Check that a user is updating an existing badge (badges.py) 2018-12-20 21:10:41 +00:00
jesopo
ebc835e6d5 'found_Badge' -> 'found_badge' (badges.py) 2018-12-20 21:05:47 +00:00
jesopo
20819a2478 Forgot to define now in !addbadge (badges.py) 2018-12-20 21:04:45 +00:00
jesopo
9547c116f1 Added !badge (badges.py) 2018-12-20 21:03:21 +00:00
jesopo
fa86ba8827 Always show badge names with the original capitalisation (badges.py) 2018-12-20 21:03:04 +00:00
jesopo
f1e72d4b4e Actually hook in to !removebadge (badges.py) 2018-12-20 20:51:03 +00:00
jesopo
a837ac3add Actually give badge name with update success message (badges.py) 2018-12-20 20:49:51 +00:00
jesopo
24ea68d150 Tell a user when a badge was successfully updated (badges.py) 2018-12-20 20:49:24 +00:00
jesopo
e010d21e4c year/month/day should be an int (badges.py) 2018-12-20 20:48:28 +00:00
jesopo
a43c5ef1f3 actually hook in to command for !resetbadge, format datetime to string before
putting it in a setting in reset_badge (badges.py)
2018-12-20 20:46:45 +00:00
jesopo
dbee856c4d Add !updatebadge to manually set a date on a badge (badges.py) 2018-12-20 20:46:18 +00:00
jesopo
03a3bdd73d Show "day"/"days" alongside day count 2018-12-20 20:30:23 +00:00
jesopo
ba3c1673ad now is already a datetime.date (badges.py) 2018-12-20 20:28:26 +00:00
jesopo
2e032bcc09 round up the current day when checking days since badge was created (badge.py) 2018-12-20 20:26:42 +00:00
jesopo
6d51473a73 Compare .date() when checking days between datetimes (badges.py) 2018-12-20 16:34:21 +00:00
jesopo
568eff01e0 typo in badges.py, 'datettime' -> 'datetime' 2018-12-20 16:32:04 +00:00
jesopo
f98797cd23 to iterate by key,value we need to .items() on dict (badges.py) 2018-12-20 16:31:04 +00:00
jesopo
0f37455665 strf datetime before saving it in settings (badges.py) 2018-12-20 16:30:15 +00:00
jesopo
751c93d59c 'isonow' -> 'utcnow' 2018-12-20 16:29:19 +00:00
jesopo
2a84e18b2e first commit of badge system 2018-12-20 16:28:14 +00:00
jesopo
41d680dad7 We should be checking if a channel name is in server.channels, not server 2018-12-19 21:43:10 +00:00
jesopo
8d8ebf7d55 Show sender of a pull request comment action, not the comment's user, for
when people edit other people's comments
2018-12-19 16:52:04 +00:00
Evelyn
aea215a647 NR: DEM is technically a permitted powertype 2018-12-18 20:30:10 +00:00
Evelyn
45fe512457 NR: fix regression introduced by HTTP util changes 2018-12-17 09:24:18 +00:00
jesopo
28900c2ff9 Correctly handle a 404 in thesaurus.py 2018-12-16 11:03:36 +00:00
jesopo
00ac4d208a Channels are 'target' in command events 2018-12-15 22:57:38 +00:00
jesopo
179cb40163 Add missing .data on a utils.http.request Response object (define.py) 2018-12-15 22:56:04 +00:00
jesopo
9658d0285e Support turning safe search on/off in google.py 2018-12-15 22:53:27 +00:00
jesopo
1ffc7863a0 If a request to git.io times out, fall back to full url 2018-12-14 08:49:37 +00:00
jesopo
d2fe95e0cc Fix missing change to new Response objects from utils.http.request (youtube.py) 2018-12-12 13:28:54 +00:00
jesopo
98ae6993e4 Typo, 'requestl' -> 'request' (wolframalpha.py) 2018-12-12 11:16:45 +00:00
jesopo
843d517553 'utils.http.get_url' -> 'utils.http.request' (github.py) 2018-12-11 22:40:20 +00:00
jesopo
c0002f4f09 Re-add accidentally removed ":" in trakt.py 2018-12-11 22:27:58 +00:00
jesopo
22c38ad083 Shorten github urls in github.py 2018-12-11 22:27:04 +00:00
jesopo
793d234a0b 'utils.http.get_url' -> 'utils.http.request', return a Response object from
utils.http.request
2018-12-11 22:26:38 +00:00
jesopo
a41cf7b471 Actually use action_desc in github.py.issues, so that we can see what things
are labeled as
2018-12-10 21:07:38 +00:00
jesopo
d0caebbc57 Support fork event (github.py) 2018-12-10 18:47:54 +00:00
jesopo
b696e4e818 Add basics of status event handling, mostly for use with continuous integration (github.py) 2018-12-10 17:17:40 +00:00
jesopo
a3a88d4589 Use more distinctive arrow characters for youtube up/down votes 2018-12-09 21:02:58 +00:00
jesopo
6dc58d4ceb Correctly support labeling pull requests, support unlabeling pull requests and support both on issues 2018-12-09 20:57:29 +00:00
jesopo
de60d245b5 Show newly added labels when a pull request is labeled 2018-12-09 19:36:23 +00:00
jesopo
8cc1168589 Return empty string on successful github webhook handling, not True 2018-12-08 09:10:44 +00:00
jesopo
9bef4b7df1 Switch to using a case insensitive dictionary for headers instead of doing
.title() on each header key
2018-12-08 09:00:12 +00:00
jesopo
281923a463 Check whether we actually have a httpd running when unloading rest_api.py 2018-12-08 08:56:47 +00:00
jesopo
476e4cc9c1 ["review"]["user"]["login"] -> ["sender"]["login"] to show who created a
pull_request_review event, not who started the review
2018-12-06 18:35:46 +00:00
jesopo
3e0bd3ee85 Add 'bot-channel' config in bot.conf.example and use it, if present, in
bot_channel.py
2018-12-06 12:13:59 +00:00
jesopo
7d59898485 'X-GitHub-Event' -> 'X-Github-Event' now that we .title() header keys
(github.py)
2018-12-06 12:09:58 +00:00
jesopo
9918a72f80 .items() on self.headers, to correctly use it for a dict comprehension
(rest_api.py)
2018-12-06 12:03:58 +00:00
jesopo
786e8b89a3 'content-type' -> 'Content-Type' (github.py) 2018-12-06 12:01:23 +00:00
jesopo
e6b0d4d167 .title() all header keys (rest_api.py) 2018-12-06 12:00:45 +00:00
jesopo
809efc6793 Only pop MODE args when we're certain we should (pays more attention to
CHANMODES ISUPPORT)
2018-12-06 08:26:07 +00:00
jesopo
dd0c5093a0 Remove telegram functionality - it's very broken/outdated and needs a
complete rewrite
2018-12-05 15:53:49 +00:00
jesopo
a8cb500784 utils.irc.lower channel names when adding them to the autojoin list 2018-12-05 15:46:51 +00:00
jesopo
764e1e3245 Prevent setting values to array settings and prevent adding to non-array
settings
2018-12-05 12:13:29 +00:00
jesopo
08a74d8b4d Don't try to call .isdigit() on an int object in coin.py.lottery_buy 2018-12-05 11:28:44 +00:00
jesopo
351a88bda6 Only gracefully handle SIGINT once 2018-12-03 19:46:15 +00:00
jesopo
48eeb11554 Remove use of print() in modules/line_handler.py 2018-12-02 09:46:57 +00:00
jesopo
92f255e9be typo in modules.py, '_reload' -> 'self._reload' 2018-12-02 09:19:03 +00:00
jesopo
389366ce5d Take a name param in modules.py._catch 2018-12-02 09:18:24 +00:00
jesopo
da81b20c01 Correctly return errors for load/unload, not just reload (modules.py) 2018-12-02 09:16:17 +00:00
jesopo
d1bbd8cfe3 Add missing urllib.parse import (github.py) 2018-11-30 21:54:51 +00:00
jesopo
fcc3bdda6b Support form-encoded github webhook data 2018-11-30 21:53:47 +00:00
jesopo
35108efc5f rest_api.py's '_safe_handle' function isn't used and doesn't need to be used now
that API calls are thrown straight on to the main thread
2018-11-30 21:39:28 +00:00
jesopo
aab84096fd utf8-decode github webhook json data 2018-11-30 21:09:59 +00:00
jesopo
6724ef94e5 Make coins.py compatible with versions of python under 3.6 2018-11-30 20:38:03 +00:00
jesopo
4ae7d3fbab Show who invited who when printing and invite (print_activity.py) 2018-11-27 17:36:22 +00:00
jesopo
6077d06c99 Copypaste fail, 'target_channel' -> 'event["target_channel"]'
(print_activity.py)
2018-11-27 17:34:10 +00:00
jesopo
e47edbddfb Print when we receive and INVITE 2018-11-27 17:33:24 +00:00
jesopo
dfbc727dc7 Don't prefix "self." events with "received." 2018-11-27 15:43:32 +00:00
jesopo
71775803d0 Reload bot config (on USR1) on the main thread 2018-11-27 15:10:49 +00:00
jesopo
dba4c9561c 'line' -> 'output' (github.py) 2018-11-27 15:07:22 +00:00
jesopo
d13a5069e3 Grab response from functions asked to be executed on the main thread and feed
them back to the callers, allowing rest_api.py to take the main thread while
it's waiting for the response to give back to the requesting client
2018-11-27 14:25:12 +00:00
jesopo
00d4b9c73f Show list of users in a channel, not just count 2018-11-27 13:34:51 +00:00
jesopo
7df55305ca Make channel stats in /api/servers a dictionary 2018-11-27 13:24:38 +00:00
jesopo
ab60012cbe Add channel stats to /api/servers 2018-11-27 13:23:20 +00:00
jesopo
8bbdcc6d4e Send WHO on self mode change, to catch any important changes to our user
information that mode changes can cause (e.g. hostname change)
2018-11-27 13:16:43 +00:00
jesopo
08b4d94695 Fix missing spaces in some event calls in line_handler.py 2018-11-27 13:16:19 +00:00
jesopo
d010ca5c79 Use WHO/WHOX to also keep track of our own username/hostname 2018-11-27 12:14:03 +00:00
jesopo
72dca06626 Add a way to catch when a writebuffer is emptied so we can e.g. assure a QUIT is
sent before shutting down the bot
2018-11-27 11:56:03 +00:00
jesopo
231fa51129 use '~' instead of '±' to represent "changed files" in modules/github.py 2018-11-26 14:47:47 +00:00
jesopo
bac4ba89b7 Use send.stdout in modules/in.py 2018-11-21 20:05:08 +00:00
jesopo
b8518d745f Move all logic related to score reasons until after we've checked if we have
reasons (mixed_unicode.py)
2018-11-20 20:43:26 +00:00
jesopo
993403f213 .items -> .items() 2018-11-20 20:41:51 +00:00
jesopo
957b5413dc Use collections.Counter instea of itertools.groupby to group together all
instances, not just consecutive instaces (mixed_unicode.py)
2018-11-20 20:30:48 +00:00
jesopo
45c7ce6da5 Add !disconnect to admin.py 2018-11-20 14:27:24 +00:00
jesopo
80dd3bb5e1 Don't count Unknown towards additional scripts count (mixed_unicode.py) 2018-11-20 14:17:46 +00:00
jesopo
0915dbd3fa 'AdditonalScript' -> 'AdditionalScript', 'score_reasons' -> 'reasons' 2018-11-20 13:50:07 +00:00
jesopo
537e2eebc4 Show reasons for score points (mixed_unicode.py) 2018-11-20 13:47:38 +00:00
jesopo
b98bf65a86 Add a point to a message's score for each additional script they use
(mixed_unicode.py)
2018-11-20 13:24:28 +00:00
jesopo
e31d9750ed (for the moment) remove percentage-ising scores (mixed_unicode.py) 2018-11-20 13:23:11 +00:00
jesopo
5ea34b261f TRACE log score with 2 decimal places (mixed_unicode.py) 2018-11-20 13:14:35 +00:00
jesopo
3dccc9f4e0 Keep a track of different scripts in a message, round score to 2 decimal places
(mixed_unicode.py)
2018-11-20 13:13:11 +00:00
jesopo
c59a5600a8 Score mixed unicode as a percentage (mixed_unicode.py) 2018-11-20 13:08:47 +00:00
jesopo
727ade4022 Only TRACE log when score is more than 0 (mixed_unicode.py) 2018-11-20 12:42:45 +00:00
jesopo
f507da3b9a 'BLUE' -> 'LIGHTBLUE' branch name for push and create events (github.py) 2018-11-20 12:40:26 +00:00
Evelyn
563bc59208 Mixed unicode: Add Cherokee and Tai Le blocks 2018-11-20 12:29:03 +00:00
Evelyn
22939dd0a9 Mixed unicode: Ranges expressed in hex, with comments 2018-11-20 12:18:56 +00:00
Evelyn
e70ec91a7a Add Coptic range to mixed unicode module 2018-11-20 12:07:54 +00:00
jesopo
52d5b5da49 Detect full-width characters (mixed_unicode.py) 2018-11-20 12:00:47 +00:00
jesopo
e54db0858c Detect Armenian script (mixed_unicode.py) 2018-11-20 11:44:13 +00:00
jesopo
b19ce0be2f Add first version of modules/mixed_unicode.py, designed to detect when we get a
message that mixes scripts (latin, cyrillic, greek, etc) that might be spam
2018-11-20 11:38:30 +00:00
jesopo
c2ef675bf0 Better descript opened pull requests (github.py) 2018-11-20 10:27:28 +00:00
jesopo
c77ca64367 Change merged branch name from blue to light blue (github.py) 2018-11-20 10:16:39 +00:00
jesopo
371d9bd9d6 Only color branch name when it's not in the url 2018-11-19 21:36:24 +00:00
jesopo
ded49fe92a But blue-ification on branch/tag name, not on "branch"/"tag" 2018-11-19 21:34:36 +00:00
jesopo
e5ae963193 Blue-ify tag/branch for create event 2018-11-19 21:31:29 +00:00
jesopo
da2c403dd7 Don't bold action_desc for pull_request event action (github.py) 2018-11-19 21:08:57 +00:00
jesopo
58a0cf97cf Move "(" on to start line for a string format 2018-11-19 20:56:42 +00:00
jesopo
5767a1b32e Show branch when a pull request is merged 2018-11-19 20:54:40 +00:00
jesopo
5d813175a1 Don't enable write throttling until we get 005 2018-11-19 10:12:52 +00:00
jesopo
9cdc37ce72 'factoid' -> 'value' 2018-11-18 11:18:37 +00:00
jesopo
c227f9a34f Catch factoids in channel messages as '{!factoid <name>}' (factoids.py) 2018-11-18 10:31:44 +00:00
jesopo
fd805a07db Make branch names blue AND bold! (github.py) 2018-11-18 10:27:19 +00:00
jesopo
7b430a71b0 Don't 404 when a repo is hooked in to but a specific event type isn't listened
for (github.py)
2018-11-18 10:25:32 +00:00
jesopo
6fbbcace66 Make branch names in commit notifications blueified 2018-11-18 10:20:16 +00:00
jesopo
ec373cf667 Add help/usage to factoids.py 2018-11-18 07:59:47 +00:00
jesopo
130da6f769 Add missing '%s' in string format (factoids.py) 2018-11-18 07:57:51 +00:00
jesopo
b811872577 'ModululeManager' -> 'ModuleManager' (factoids.py) 2018-11-18 07:56:55 +00:00
jesopo
5bb96c0d0c Added modules/factoid.py 2018-11-18 07:55:43 +00:00
jesopo
870c56cfbb hooks -> targets, to actually respect filtered-out channels 2018-11-17 22:39:14 +00:00
jesopo
a7e2eacf1d typo in modules/github.py, 'targets.append(server, channel)' ->
'targets.append([server, channel])'
2018-11-17 22:35:32 +00:00
jesopo
369af13e4b ... this one too. 2018-11-17 22:34:51 +00:00
jesopo
dd47db25f9 I forgot that I'd changed how servers keep their list of channels 2018-11-17 22:33:31 +00:00
jesopo
dc1a292a75 Allow filtering by github event type 2018-11-17 22:32:44 +00:00
jesopo
099613d2bc 'tag' -> 'tag_name' (github.py) 2018-11-17 22:17:14 +00:00
jesopo
dfa11b0f18 Nope, "..." is an official git feature and it looks way nicer on github 2018-11-17 22:07:32 +00:00
jesopo
d35636733a '..' not '...' 2018-11-17 22:01:58 +00:00
jesopo
39bbde57a0 '...', not unicode ellipsis 2018-11-17 22:01:09 +00:00
jesopo
3b952ba66e Remove newlines for formatted strings where applicable (github.py) 2018-11-17 21:44:52 +00:00
jesopo
4ad35006c0 Show branch in commit notices in (github.py) 2018-11-17 21:44:33 +00:00
jesopo
e1cff13dbe Put repo full name on each output automatically in modules/github.py 2018-11-17 21:41:39 +00:00
jesopo
f34bad8562 Support Github webhook release events 2018-11-17 21:21:32 +00:00
jesopo
b17c8d79bf Remove additional '%s' in modules/github.py.delete that was left over from
copypaste of `create`
2018-11-17 21:12:12 +00:00
jesopo
fa2de60edf Also support delete event 2018-11-17 21:10:03 +00:00
jesopo
32301ae334 'CREATE_EVENT' -> 'CREATE_URL' 2018-11-17 21:07:34 +00:00
jesopo
aeb7ee76ea 'name' -> 'login' 2018-11-17 21:06:27 +00:00
jesopo
c5293ef5bf 'pusher' -> 'sender' 2018-11-17 21:05:08 +00:00
jesopo
0da685bb0a Actually, tag/branch creation comes under the create event 2018-11-17 20:59:24 +00:00
jesopo
e6542f3fb2 Correctly show new tags being created in modules/github.py 2018-11-17 20:48:19 +00:00
jesopo
9f086d56a4 Only show first line of commit message 2018-11-17 20:33:23 +00:00
jesopo
0f2a8c7932 Minor code styling change in modules/8ball.py 2018-11-17 12:48:42 +00:00
jesopo
7ef8437d44 range()'s upper bound is not inclusive 2018-11-17 12:29:24 +00:00
jesopo
0da18aa86d now i see why it was %s not %d 2018-11-17 12:26:21 +00:00
jesopo
9054ee7cd2 How hard is it to refactor a dice module 2018-11-17 12:25:14 +00:00
jesopo
349c9a0190 ints are not strings 2018-11-17 12:23:49 +00:00
jesopo
692c79c745 'reults' -> 'results' 2018-11-17 12:23:06 +00:00
jesopo
d130b0e59b 'die_sides' 'die_count' -> 'sides_n' 'count_n' 2018-11-17 12:22:05 +00:00
jesopo
0f8a3231c6 Should be using sides and count, not roll[0] and roll[1] 2018-11-17 12:21:09 +00:00
jesopo
97b2158956 .partition returns 3 values! 2018-11-17 12:19:32 +00:00
jesopo
73ecb42ca9 Simplify modules/dice.py 2018-11-17 12:18:26 +00:00
jesopo
43e39c42c7 'bol' -> 'bold' typo 2018-11-17 09:40:44 +00:00
jesopo
2072c9f3e8 Boldify pusher for combined commits 2018-11-17 09:39:27 +00:00
jesopo
b15ef9f739 use "before" commit hash for comparing a range of commits 2018-11-17 08:28:48 +00:00
jesopo
5a742f05a3 Typo in modules/github.py, 'moddified' -> 'modified' 2018-11-17 08:24:31 +00:00
jesopo
331a4e0a7a 'command' -> 'commit' 2018-11-17 08:22:39 +00:00
jesopo
f6b68815c9 utils.irc.bold needs to be given an empty string 2018-11-17 08:21:40 +00:00
jesopo
b27bffaa50 Typo in modules/github.py, 'const' -> 'consts' 2018-11-17 08:20:34 +00:00
jesopo
ea881724ee Forgot to import itertools 2018-11-17 08:19:45 +00:00
jesopo
e0a6ba39c6 show added/removed/modified counts as unique files when we're aggregating
commits
2018-11-17 08:15:28 +00:00
jesopo
ffb2382b8f Add missing ")" 2018-11-16 20:40:49 +00:00
jesopo
c0c6178c30 Show more than 3 commits in 1 message speficially designed for doing so 2018-11-16 20:39:37 +00:00
jesopo
10c457f524 Don't send more than 3 commits in one go 2018-11-16 20:23:34 +00:00
jesopo
39c313bd64 we need strings! 2018-11-16 17:43:05 +00:00
jesopo
b008bb2a0f results was already a ", ".joined string 2018-11-16 17:42:00 +00:00
jesopo
8e5415b887 second format arg should have been results 2018-11-16 17:40:49 +00:00
jesopo
b176701e0a Fix string formatting of modules/dice.py 2018-11-16 17:39:33 +00:00
jesopo
cec97749e5 Make IP regex neater in modules/ip_addresses.py 2018-11-15 15:41:55 +00:00
jesopo
64a58fe041 Translate 'synchronize' to 'committed to' in modules/github.py's pull request
handling
2018-11-15 07:06:43 +00:00
jesopo
06078ba959 Prefix modules/rest_api.py logging with "[HTTP] " 2018-11-14 23:02:32 +00:00
jesopo
1275352576 Log HTTP events through regular logging 2018-11-14 23:01:22 +00:00
jesopo
e262af4acf 'self.message.*' now uses 'send.message.*' 2018-11-14 22:54:27 +00:00
jesopo
ba68f33999 This elif should have actually been one even indented! 2018-11-14 22:18:54 +00:00
jesopo
21b757dbb0 IRCBuffer.add_notice doesn't have an action param 2018-11-14 22:16:39 +00:00
jesopo
ac87104151 Remove a ") i should have removed before 2018-11-14 22:14:12 +00:00
jesopo
c7f32a4066 only do server-notice checking if we have a "prefix" in event, even if it's None 2018-11-14 22:12:46 +00:00
jesopo
957b881dbd if is_channel should be if channel, buffer.add_notice doesn't take an
`action` param and `elif` can't go after `else`!
2018-11-14 22:07:01 +00:00
jesopo
378f4b1f93 Better parsing of CTCP messages, support raw.send.privmsg/raw.send.notice in
modules/line_handler.py
2018-11-14 21:28:27 +00:00
jesopo
05eea3b585 Strip font from the last message in a channel before trying to translate it 2018-11-14 14:44:01 +00:00
jesopo
ed838193aa Better support passing "send" events through the parsers already present in
modules/line_handler.py
2018-11-14 14:41:28 +00:00
jesopo
aafe0624b2 Do a bold+unbold *after* the colored parts of github's "added/removed/modified"
to avoid the weechat bolding bug but not bold the colors
2018-11-14 08:51:49 +00:00
jesopo
775177a7ff Add 375 data to server.motd_lines 2018-11-14 08:22:21 +00:00
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
jesopo
9c233cd4dd Add src.utils.parse.keyvalue, mostly for IRCv3 CAP negotiation 2018-11-05 11:56:28 +00:00
jesopo
5963580cb8 Fix a crash in modules/line_handler.py; QUIT can have an empty reason! 2018-11-05 10:03:31 +00:00
jesopo
58363895f1 Change line parsing to put arbitrary-length args on the end of
`args` so we can get rid of `last`/`arbitrary` and add IRCArgs (with .get())
to help only getting an arg index if it exists
2018-11-04 15:37:06 +00:00