Commit graph

1530 commits

Author SHA1 Message Date
jesopo
45f47bc3fc Prevent users partaking in the lottery if doing so would put their coin total
below the coin redemption amount (coins.py)
2019-01-25 16:04:10 +00:00
jesopo
d75e2452ce Delete nickname_aliases.py as it's been disabled for a very long time due to
bugs
2019-01-25 13:21:44 +00:00
jesopo
335f1545a8 Give StdOut.send the new method param (commands.py) 2019-01-25 07:11:45 +00:00
jesopo
7b3d7f85a6 I totally forgot that we don't need flask. at all. 2019-01-24 19:17:31 +00:00
jesopo
301dd7378a Add irc_lower() and irc_equals() to IRCServer.Server so that no where else
in the code has to know about the server having a casemapping
2019-01-24 17:12:50 +00:00
jesopo
5bfa0d2b50 'self._get_all_user_coins' -> 'self._get_user_coins', forgot to change this when
we moved back away from wallets (coins.py)
2019-01-24 11:27:57 +00:00
jesopo
8ba7cb0396 Move logging API key from INFO to DEBUG (rest_api.py) 2019-01-23 22:23:21 +00:00
jesopo
086629f2dc Logging shouldn't use % string formatting (rest_api.py) 2019-01-23 22:10:32 +00:00
jesopo
6fef7fd0c6 INFO log when we get a HTTP request with an API key (including the key's
comment) (rest_api.py)
2019-01-23 22:08:26 +00:00
jesopo
26603c23ac Also pass method to StdOut/StdErr Send() when a send.stdout or
`send.stderr` event is sent (commands.py)
2019-01-23 21:39:05 +00:00
jesopo
64cb723901 Move logic to get command-method out of Out object (commands.py) 2019-01-23 20:35:28 +00:00
jesopo
2c7c12e9e0 Typo, server.get_value -> server.get_setting (coins.py) 2019-01-23 11:26:01 +00:00
jesopo
756938a4c9 Use rpartition to either get the last part of a ref/head/branch ref or just
`branch` (github)
2019-01-23 08:56:36 +00:00
jesopo
fcbb530b9e Don't throw an exception when we get the kind of format of ref the create
event gives (only repo name, not `"refs/head/repo"`) (github)
2019-01-23 08:51:01 +00:00
jesopo
e45b72356c Disable coin interest by default (coins.py) 2019-01-23 08:47:14 +00:00
jesopo
96f6be087a Change another usage of coins when it should be all_coins (coins.py) 2019-01-23 08:23:09 +00:00
jesopo
c39f1e002f Fix coins name collision (coins.py) 2019-01-23 08:22:08 +00:00
jesopo
b456132318 Remove wallet and bank logic (coins.py) 2019-01-23 08:20:01 +00:00
jesopo
f4467ac0ed Log a WARN when we get a HTTPTimeoutException while we're trying to get a git.io
short url (github)
2019-01-22 22:06:25 +00:00
jesopo
8024e53a68 Don't show current event filters comma-separated as they're not comma separated
when we set them and that's a little confusing (github)
2019-01-22 20:52:57 +00:00
jesopo
815eea69bd Typo, had ")" closing an array instead of "]" (github) 2019-01-22 20:50:59 +00:00
jesopo
a27b567ae1 Support handling watch event (repo being stared - misleading event name i
know) (github)
2019-01-22 20:49:31 +00:00
jesopo
c69f4414a0 Handle a situation where a repo full name isn't provided and there isn't one set
as default (github)
2019-01-22 17:16:04 +00:00
jesopo
fc5671c7c5 We only need one '-' between tweet content and short url (tweets.py) 2019-01-21 19:36:25 +00:00
jesopo
0fd180a5c2 'EventResultError' -> 'EventsResultsError' typo (maybe this should actually be
named 'EventResultError') (youtube.py)
2019-01-21 19:32:37 +00:00
jesopo
65db982f1f Show a "failed to load results" error when a video_id search returns no results
(youtube.py)
2019-01-21 19:30:39 +00:00
jesopo
50349ab8c8 pr-all also shows when there are new commits to a pull request (github) 2019-01-21 17:25:13 +00:00
jesopo
381e0ae336 Error log failure to get title of a url (title.py) 2019-01-21 14:39:20 +00:00
jesopo
8bf8097dd7 bus_stop isnt a Response object (tfl.py) 2019-01-21 10:46:23 +00:00
jesopo
3cefe87c5e Show default github web hook event categories in ghwebhook.md (github) 2019-01-20 20:08:46 +00:00
jesopo
c6545ca847 Use the correct namespace for HTTPTimeoutException (wolframalpha) 2019-01-20 19:05:50 +00:00
jesopo
65f9184a54 Gracefully handle a timeout (wolframalpha) 2019-01-20 19:04:32 +00:00
jesopo
491db4fea4 Typo, '9)' -> '()' (github) 2019-01-20 13:03:36 +00:00
jesopo
7a7400922e Add !ghwebhook list to ghwebhook.md 2019-01-20 13:02:19 +00:00
jesopo
be772cb730 Add a !ghwebhook subcommand to list all registered web hooks (github) 2019-01-20 13:01:31 +00:00
jesopo
f9186d7334 typo, commit["pusher"] -> data["pusher"] (github) 2019-01-19 08:02:34 +00:00
jesopo
202991a268 use data["pusher"]["name"] as data["author"]["login"] doesn't exist (github) 2019-01-19 08:00:31 +00:00
jesopo
8c1b40e785 Clarify [hook] and add sections for branches subcommand (github) 2019-01-19 07:53:30 +00:00
jesopo
3835930bdb Allow users to specify what branches are shown for github webhooks (github) 2019-01-19 07:48:24 +00:00
jesopo
0f9592063e Show user login not user name (e.g. show username not display name) for
commits (github)
2019-01-19 07:23:35 +00:00
jesopo
1753329aaf Show an error when a user specifies an unknown subcommand to !ghwebhook (github) 2019-01-18 14:21:53 +00:00
jesopo
3d2c11991e Clarify wording of what can be in the list of shown events (github) 2019-01-18 14:12:29 +00:00
jesopo
d2b572849c Correct markdown url (github) 2019-01-18 14:04:06 +00:00
jesopo
1950f1335f Point out that users can use raw github events, not just event categories
(github)
2019-01-18 14:02:54 +00:00
jesopo
c7ba2b778b Delete github-hooks channel setting when it's empty (github) 2019-01-18 13:25:53 +00:00
jesopo
9bbf3147d0 Display event categories in a smaller font (ghwebhook.md) 2019-01-18 13:14:11 +00:00
jesopo
8c4c9ab90a Added help file for !ghwebhook 2019-01-18 13:13:01 +00:00
jesopo
69edf039b3 Support modules being in their own folder and move github.py to github/module.py 2019-01-18 12:49:11 +00:00
jesopo
b7864ffb41 Typo, 'all_hook' -> 'all_hooks' (github.py) 2019-01-18 12:13:01 +00:00
jesopo
0414ed34e2 Move github hooks away from !channelset in to their own !ghwebhook command
(github.py)
2019-01-18 12:05:56 +00:00
jesopo
8addca13ec Copypaste fail, 'c' -> 'category' 2019-01-18 08:20:03 +00:00
jesopo
be5c5e6c21 Allow non-category items to be placed in a channel's event categories, allowing
users to specify specific events (github.py)
2019-01-18 08:18:47 +00:00
jesopo
4981d70be4 combine github events and their actions to be able to filter by event type and
action. add/change event categories to use these (github.py)
2019-01-18 08:08:39 +00:00
jesopo
5dc5e3fbfd LIGHTGREEN -> GREEN for successful commands (commands.py) 2019-01-17 21:10:12 +00:00
jesopo
72d4375e55 Only show specific actions for pull requests and issues (github.py) 2019-01-17 17:01:12 +00:00
jesopo
776f2faced Actually use new sender arg for _on_notice() (print_activity.py) 2019-01-17 14:51:44 +00:00
jesopo
2a7df864ef ping events don't need to know full_name of repo (github.py) 2019-01-17 14:50:23 +00:00
jesopo
588b54b40b Print when we send notices (print_activity.py) 2019-01-17 14:50:07 +00:00
jesopo
89d0c83acb Clarify github webhook event names with some comments (github.py) 2019-01-17 14:31:23 +00:00
jesopo
ce1d1aa5f8 'issue' -> 'issues' (github.py) 2019-01-17 14:19:31 +00:00
jesopo
75b85e76c9 Add a channel setting for github webhook event filters (github.py) 2019-01-16 22:36:19 +00:00
jesopo
5bf603bbfa typo, 'respository' -> 'repository' (github.py) 2019-01-16 22:32:17 +00:00
jesopo
77c7084e9d Don't try to parse username and repo name from a full name if there's no full
name (github.py)
2019-01-16 22:28:12 +00:00
jesopo
a342f82f40 Do filtering of github events based on categories of events (github.py) 2019-01-16 22:26:31 +00:00
jesopo
f9bf1d03e8 Correct order of string formatting for github membership events (github.py) 2019-01-16 22:14:26 +00:00
jesopo
f50f2a6d51 Support organisation membership event (github.py) 2019-01-16 22:13:38 +00:00
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