Commit graph

3244 commits

Author SHA1 Message Date
jesopo
8a832b7230 Check all hooks for a command and pick the first applicable one, to allow for
private_only and channel_only commands to share the same command string
(commands.py)
2019-01-30 11:20:14 +00:00
jesopo
b197a537f0 Add a private channelset command (set.py) 2019-01-30 11:16:42 +00:00
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
bdeaf7b69e Add clarification to the top of bot.conf.example about leaving settings blank or
removing them
2019-01-29 12:42:02 +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
cc8478c50c Only search messages from other users in find_from (src/IRCBuffer.py) 2019-01-26 15:58:57 +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
e1e4fbf9bc Add find_from to IRCBuffer.Buffer, to find the most recent line from a given
user (src/IRCBuffer.py)
2019-01-26 15:46:20 +00:00
jesopo
8dcd6b2937 Make sure more than one hook can catch preprocess.send but still respect any
that return a change to the output (src/IRCServer.py)
2019-01-26 11:05:25 +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