| Commit message (Expand) | Author | Age | Files | Lines |
| * | Type annotate scram.py and don't pass base64 data to scram.py functions | jesopo | 2019-02-06 | 2 | -13/+13 |
| * | Don't take a users coins when they make an invalid roulette bet (coins.py) | jesopo | 2019-02-05 | 1 | -2/+2 |
| * | Split hash and hmac logic out to their own functions (sasl.scram) | jesopo | 2019-02-05 | 1 | -7/+10 |
| * | Actually check that we don't have CAPs that we're waiting on a ACK/NAK for•••before ending CAP negotiation (line_handler.py)
| jesopo | 2019-02-05 | 1 | -0/+2 |
| * | Manually count ACK/NAK for REQed CAPs before ENDing CAP negotiation | jesopo | 2019-02-05 | 1 | -10/+9 |
| * | Disconnect from server and throw an exception if SCRAM server verification fails•••(sasl)
| jesopo | 2019-02-05 | 1 | -0/+5 |
| * | Move scripts module to it's own directory | jesopo | 2019-02-05 | 2 | -1/+2 |
| * | CAP capabilities would not be index `2` if the line is multiline•••(line_handler.py)
| jesopo | 2019-02-05 | 1 | -2/+2 |
| * | Remove debug print in `sasl/__init__.py` | jesopo | 2019-02-05 | 1 | -1/+0 |
| * | Move sasl.py to a directory module and move SCRAM logic to a different file,•••move `github/module.py` to `github/__init__.py`
| jesopo | 2019-02-05 | 3 | -55/+98 |
| * | Remove SCRAM-related variables on IRCServer object when we see•••server-final-message (sasl.py)
| jesopo | 2019-02-05 | 1 | -0/+4 |
| * | Remove SCRAM debug logging (sasl.py) | jesopo | 2019-02-05 | 1 | -10/+0 |
| * | Support SCRAM SASL mechanisms (sasl.py) | jesopo | 2019-02-05 | 1 | -15/+97 |
| * | Add ")" that should have been removed when we stopped using `enumerate` for•••github webhook hooks (github)
| jesopo | 2019-02-04 | 1 | -1/+1 |
| * | Reply to statusmsg commands (e.g. '/msg +channel !ping') with the same statusmsg | jesopo | 2019-02-04 | 2 | -10/+20 |
| * | Try to match against full repository name first, so that we can make specific•••rules for specific repositories (github)
| jesopo | 2019-02-04 | 1 | -3/+3 |
| * | We don't need to enumerate hooks (github) | jesopo | 2019-02-04 | 1 | -2/+1 |
| * | Delete `automodes` user_channel setting when it's empty (auto_mode.py) | jesopo | 2019-02-04 | 1 | -2/+6 |
| * | `user` doesn't exist in _move(), it's `user1` (coins.py) | jesopo | 2019-02-02 | 1 | -1/+1 |
| * | `apikey` command should have a minimum argument restriction (rest_api.py) | jesopo | 2019-02-01 | 1 | -1/+1 |
| * | Actually add private_unban function def. oops. (channel_op.py) | jesopo | 2019-01-30 | 1 | -0/+1 |
| * | Add private message `unban` command (channel_op.py) | jesopo | 2019-01-30 | 1 | -0/+10 |
| * | Actually use `channel` arg in _kick_command (channel_op.py) | jesopo | 2019-01-30 | 1 | -1/+1 |
| * | Support `kick` and `ban` command in private message (channel_op.py) | jesopo | 2019-01-30 | 1 | -7/+31 |
| * | `server.get_channel` was moved to `server.channels.get` a long time ago (set.py) | jesopo | 2019-01-30 | 1 | -1/+1 |
| * | Logging takes format params as a separate arg (commands.py) | jesopo | 2019-01-30 | 1 | -2/+2 |
| * | Make sure to call the specific hook we've decided is valid (commands.py) | jesopo | 2019-01-30 | 1 | -5/+10 |
| * | check we have a `channel_arg` kwarg before parsing it as an int•••(channel_access.py)
| jesopo | 2019-01-30 | 1 | -10/+11 |
| * | Break when we've found a suitable command hook (commands.py) | jesopo | 2019-01-30 | 1 | -0/+1 |
| * | Use correct arg indexes for private channelset (set.py) | jesopo | 2019-01-30 | 1 | -6/+7 |
| * | Actually remove call to `preprocess.command` to after min_args check•••(commands.py)
| jesopo | 2019-01-30 | 1 | -5/+5 |
| * | Correctly check if we're in a channel command before checking if the current•••hook is valid (commands.py)
| jesopo | 2019-01-30 | 1 | -6/+2 |
| * | Check min_args before we check if a user has permission (commands.py) | jesopo | 2019-01-30 | 1 | -17/+17 |
| * | We need to turn `channel_arg` in to an int (channel_access.py) | jesopo | 2019-01-30 | 1 | -1/+1 |
| * | We should be using `potential_hook` until we've decided on a valid hook•••(commands.py)
| jesopo | 2019-01-30 | 1 | -4/+4 |
| * | Get all hooks when checking command hooks, not just the first (commands.py) | jesopo | 2019-01-30 | 1 | -5/+4 |
| * | 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)
| jesopo | 2019-01-30 | 1 | -16/+25 |
| * | Add a private `channelset` command (set.py) | jesopo | 2019-01-30 | 1 | -0/+12 |
| * | Support a way to check user channel access in a private command•••(channel_access.py)
| jesopo | 2019-01-30 | 2 | -6/+20 |
| * | Add a `permission` to !channelunset and !channelget (set.py) | jesopo | 2019-01-30 | 1 | -1/+2 |
| * | Correctly compare current time and token expire time and actually cache the•••token (spotify.py)
| jesopo | 2019-01-29 | 1 | -3/+6 |
| * | Typo, `{,}` instead of `{:}` made `headers` a set (spotify.py) | jesopo | 2019-01-29 | 1 | -1/+1 |
| * | `URL_SPOTIFY` was renamed to `URL_SEARCH` (spotify.py) | jesopo | 2019-01-29 | 1 | -1/+1 |
| * | Forgot to import `time` (spotify.py) | jesopo | 2019-01-29 | 1 | -1/+1 |
| * | `post_data` is the kwarg for POST data, not `data` (spotify.py) | jesopo | 2019-01-29 | 1 | -1/+1 |
| * | `base64.b64encode(...)` takes a byte array, not a string (spotify.py) | jesopo | 2019-01-29 | 1 | -1/+1 |
| * | Forgot to import base64 (spotify.py) | jesopo | 2019-01-29 | 1 | -1/+1 |
| * | Spotify now requires access tokens to use it's API (spotify.py) | jesopo | 2019-01-29 | 1 | -3/+29 |
| * | Correct usage help for kickban/tempkickban (channel_op.py) | jesopo | 2019-01-29 | 1 | -2/+2 |
| * | Remove `haveibeenpwned.py`, it's 99% useless | jesopo | 2019-01-29 | 1 | -25/+0 |