jesopo
|
2071a10180
|
Support a way to check user channel access in a private command
(channel_access.py)
|
2019-01-30 11:16:34 +00:00 |
|
jesopo
|
bb84fc0291
|
Add a permission to !channelunset and !channelget (set.py)
|
2019-01-30 08:10:41 +00:00 |
|
jesopo
|
9491a44295
|
Correctly compare current time and token expire time and actually cache the
token (spotify.py)
|
2019-01-29 22:46:00 +00:00 |
|
jesopo
|
d178938463
|
Typo, {,} instead of {:} made headers a set (spotify.py)
|
2019-01-29 22:40:44 +00:00 |
|
jesopo
|
a177c5050e
|
URL_SPOTIFY was renamed to URL_SEARCH (spotify.py)
|
2019-01-29 22:39:58 +00:00 |
|
jesopo
|
74e8ad0351
|
Forgot to import time (spotify.py)
|
2019-01-29 22:39:13 +00:00 |
|
jesopo
|
8acc01dd48
|
post_data is the kwarg for POST data, not data (spotify.py)
|
2019-01-29 22:38:31 +00:00 |
|
jesopo
|
bb047ec1b7
|
base64.b64encode(...) takes a byte array, not a string (spotify.py)
|
2019-01-29 22:37:44 +00:00 |
|
jesopo
|
af7a765547
|
Forgot to import base64 (spotify.py)
|
2019-01-29 22:36:54 +00:00 |
|
jesopo
|
2d085e7f91
|
Spotify now requires access tokens to use it's API (spotify.py)
|
2019-01-29 22:34:28 +00:00 |
|
jesopo
|
0c319be1e5
|
Correct usage help for kickban/tempkickban (channel_op.py)
|
2019-01-29 17:37:14 +00:00 |
|
jesopo
|
5e91f0d209
|
Remove haveibeenpwned.py , it's 99% useless
|
2019-01-29 16:01:43 +00:00 |
|
jesopo
|
a501fdea1f
|
Stop processing a command when we've decided the user doesn't have permission
(commands.py)
|
2019-01-29 15:38:04 +00:00 |
|
jesopo
|
249734ebef
|
We don't have an event object in _has_channel_access (channel_access.py)
|
2019-01-29 15:35:38 +00:00 |
|
jesopo
|
e0722dfc8a
|
Seperate out access checking logic so we can call across-modules with the event
system to check if users have specific channel access (channel_access.py)
|
2019-01-29 15:33:55 +00:00 |
|
jesopo
|
7937be5128
|
Don't double up command prefix in !usage output (commands.py)
|
2019-01-29 08:36:47 +00:00 |
|
jesopo
|
f97c1f02fd
|
Actually show the command prefix we now pass to _get_usage (commands.py)
|
2019-01-29 08:33:32 +00:00 |
|
jesopo
|
79ff20b66a
|
Show command prefix in usage strings (commands.py)
|
2019-01-29 08:32:22 +00:00 |
|
jesopo
|
5d47e7e895
|
Add a permission to !ghwebhook so an admin user can use it without +o (github)
|
2019-01-29 08:06:59 +00:00 |
|
jesopo
|
0564a173a3
|
Typo, 'acess' -> 'access' (channel_access.py)
|
2019-01-29 07:35:48 +00:00 |
|
jesopo
|
66b2ffee68
|
Support * as a channel permission, to give users all access
(channel_access.py)
|
2019-01-29 07:32:25 +00:00 |
|
jesopo
|
5e5a62044c
|
We don't need a seperate command for !channelset override (set.py)
|
2019-01-29 07:18:03 +00:00 |
|
jesopo
|
08404c4694
|
Use new utils.consts.PERMISSION_FORCE_SUCCESS in permissions.py
|
2019-01-29 07:14:53 +00:00 |
|
jesopo
|
f9446a3663
|
Show an error when an unknown subcommand is given to !access (channel_access.py)
|
2019-01-29 00:14:33 +00:00 |
|
jesopo
|
10b2ace653
|
Add require_access to commands on channel_op.py
|
2019-01-29 00:08:21 +00:00 |
|
jesopo
|
a3a535b195
|
Delete a user's 'access' channel setting when they have no permissions left
(channel_access.py)
|
2019-01-29 00:02:56 +00:00 |
|
jesopo
|
1b933e7c00
|
IRCUser.User objects don't have .id , they have .get_id() (channel_access.py)
|
2019-01-29 00:00:15 +00:00 |
|
jesopo
|
549332db38
|
Check a return is truthy before we decide it's an error (command.py)
|
2019-01-28 23:57:12 +00:00 |
|
jesopo
|
ee1770cc08
|
Typo, force_success -> force_success = False (commands.py)
|
2019-01-28 23:52:30 +00:00 |
|
jesopo
|
a94d35f0f1
|
Add channel_access.py , to give permissions to users in a channel (similar to
chanserv)
|
2019-01-28 23:50:43 +00:00 |
|
jesopo
|
d10a6d94c1
|
Add a way to force success and force failure of a command permission check
(commands.py)
|
2019-01-28 23:29:52 +00:00 |
|
jesopo
|
5e12d87ca3
|
Use target (after prefixes lstrip) to get channel object (line_handler.py)
|
2019-01-27 22:43:35 +00:00 |
|
jesopo
|
16337fa16e
|
We need to pass a str to lstrip, not an array (line_handler.py)
|
2019-01-27 22:40:29 +00:00 |
|
jesopo
|
1301e80621
|
Strip prefix_symbols from PRIVMSG target, for e.g. 'PRIVMSG +#chan :hi'
(line_handler.py)
|
2019-01-27 22:38:19 +00:00 |
|
jesopo
|
0bb2491399
|
The event fired when we get an account-notify message iss
`received.account.login`, not `received.account` (auto_mode.py)
|
2019-01-27 07:16:41 +00:00 |
|
jesopo
|
1e72c39fda
|
Handle prefix being null when we've received a server notice (line_handler.py)
|
2019-01-26 19:39:49 +00:00 |
|
jesopo
|
3b17cbacea
|
Set server name by event["prefix"].hoskmask not .nickname , they're the same
thing at the moment when it's not a `nick!user@host` but eventually it might not
be (line_handler.py)
|
2019-01-26 19:38:14 +00:00 |
|
jesopo
|
0d7b39e7d9
|
extended-join JOINs have 3 args, not 2 (line_handler.py)
|
2019-01-26 16:17:34 +00:00 |
|
jesopo
|
6affadd306
|
Pass category arg to _set_quotes in quote_add (quotes.py)
|
2019-01-26 16:06:15 +00:00 |
|
jesopo
|
f217c5d192
|
Quote should be saved with saver and timestamp (quotes.py)
|
2019-01-26 16:03:40 +00:00 |
|
jesopo
|
eb5c685128
|
Typo, 'quote' -> 'quotes' (quotes.py)
|
2019-01-26 16:01:17 +00:00 |
|
jesopo
|
6e4607ea8d
|
_set_quotes needs to be given a category (quotes.py)
|
2019-01-26 15:57:07 +00:00 |
|
jesopo
|
5b4954a96c
|
add !quotegrab to take the last message from a user and quote it (quotes.py)
|
2019-01-26 15:55:20 +00:00 |
|
jesopo
|
ed44e6f78b
|
Use .lower() on nickname, as we're using that on s and nickname_lower uses
special irc casemapping (github)
|
2019-01-26 10:53:28 +00:00 |
|
jesopo
|
506aef6366
|
Actually use the output of _prevent_highlight (github)
|
2019-01-26 10:53:14 +00:00 |
|
jesopo
|
2d113011ed
|
Add a setting to insert zero width characters in to highlights (github)
|
2019-01-26 10:49:31 +00:00 |
|
jesopo
|
e6aad7e070
|
Don't give event object to webhook functions - they don't need them
|
2019-01-26 10:33:45 +00:00 |
|
jesopo
|
eb3f4db828
|
Don't put channel messages as low priority, so we can still catch "bitbot: ++"
(karma.py)
|
2019-01-25 23:53:53 +00:00 |
|
jesopo
|
f86a852d55
|
Strip "," and ":" from karma targets (karma.py)
|
2019-01-25 23:45:44 +00:00 |
|
jesopo
|
3c6827850a
|
Remove users from channels they're kicked from (line_handler.py)
|
2019-01-25 18:59:00 +00:00 |
|
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 |
|