| Commit message (Expand) | Author | Age | Files | Lines |
| * | Only send `+draft/delivered` and `+draft/read` on private message | jesopo | 2019-02-15 | 1 | -2/+0 |
| * | Don't add a space after a formatted tagmsg in _tag_str (src/IRCServer.py) | jesopo | 2019-02-14 | 1 | -3/+5 |
| * | copypaste fail, `server` -> `event["server"]` (message_tacking.py) | jesopo | 2019-02-14 | 1 | -1/+1 |
| * | Support `draft/delivered` and `draft/read` (message_tracking.py) | jesopo | 2019-02-14 | 1 | -0/+17 |
| * | Add IRCServer.send_tagmsg, to send `TAGMSG` commands | jesopo | 2019-02-14 | 1 | -0/+3 |
| * | Put information about `USERPASS` in sasl/README.md | jesopo | 2019-02-14 | 1 | -0/+11 |
| * | Support a `USERPASS` sasl mechanism that picks the best user:pass mech (sasl) | jesopo | 2019-02-14 | 1 | -4/+34 |
| * | Support one-shot event hooks (src/EventManager.py) | jesopo | 2019-02-14 | 1 | -1/+6 |
| * | Don't crash when we try to send a message to channel we're not in•••(line_handler.py)
| jesopo | 2019-02-14 | 1 | -0/+2 |
| * | raise EventError when no results are found, to avoid double stderr write (you... | jesopo | 2019-02-14 | 1 | -1/+1 |
| * | 'current_badges' -> 'badges' (badges.py) | jesopo | 2019-02-13 | 1 | -1/+1 |
| * | Typo, 'recieved' -> 'received' (badges.py) | jesopo | 2019-02-13 | 1 | -1/+1 |
| * | Add !clearbadges (badges.py) | jesopo | 2019-02-13 | 1 | -0/+17 |
| * | Fix 'Optional[str]!=str' type hinting issue in utils.irc line parsing | jesopo | 2019-02-13 | 1 | -1/+1 |
| * | Support IRCv3 draft/setname proposal (#361) (line_handler.py) | jesopo | 2019-02-13 | 1 | -1/+7 |
| * | Fix completely broken chghost code. What on god's earth was I thinking. | jesopo | 2019-02-13 | 1 | -2/+3 |
| * | Catch and propagate IRCv3's FAIL command (#357) (line_handler.py) | jesopo | 2019-02-13 | 1 | -1/+12 |
| * | Never allow use of MD2 (sasl.scram) | jesopo | 2019-02-12 | 1 | -1/+2 |
| * | SCRAM doesn't need constant_time_compare, nonces prevent replay (scram.py) | jesopo | 2019-02-12 | 1 | -2/+1 |
| * | MONITOR actually catches NICK changes (nick_regain.py) | jesopo | 2019-02-12 | 1 | -1/+2 |
| * | Also use ISON even if MONITOR is supported - to catch NICK changes•••(nick_regain.py)
| jesopo | 2019-02-12 | 1 | -2/+1 |
| * | Use RPL_ENDOFMOTD or ERR_NOMOTD to denote end-of-registration and a time to•••check if we got MONITOR in 005 at any point (nick_regain.py)
| jesopo | 2019-02-12 | 1 | -8/+13 |
| * | Remove debug print (nick_regain.py) | jesopo | 2019-02-12 | 1 | -1/+0 |
| * | Add nick_regain.py, to watch for the bot's desired nick becoming free | jesopo | 2019-02-12 | 1 | -0/+44 |
| * | We were just checking if `arbitrary` was falsey, thus losing empty trailing args•••(' :' with nothing after it) (utils.irc)
| jesopo | 2019-02-12 | 1 | -1/+1 |
| * | set nick to '<nickname>|' when we get a nickname-in-use error (line_handler.py) | jesopo | 2019-02-12 | 1 | -1/+2 |
| * | `user` is null when we sent a NOTICE non-echo-message (line_handler.py) | jesopo | 2019-02-12 | 1 | -3/+8 |
| * | `user` is null when we're sending a message non-echo-mesasge (line_handler.py) | jesopo | 2019-02-12 | 1 | -4/+8 |
| * | We can *receive* PRIVMSG/NOTICE without a `prefix` (line_handler.py) | jesopo | 2019-02-12 | 1 | -4/+10 |
| * | Typo, 'datetme' -> 'datetime' (ctcp.py) | jesopo | 2019-02-12 | 1 | -1/+1 |
| * | Definte `channel` before trying to use it for event hook constuction•••(line_handler.py)
| jesopo | 2019-02-12 | 1 | -2/+5 |
| * | Refactor how CTCPs are sent through events | jesopo | 2019-02-12 | 2 | -33/+24 |
| * | Also strip \x01 off the start of CTCP commands, if it's there (utils.irc) | jesopo | 2019-02-12 | 1 | -0/+2 |
| * | Implement IRCv3 echo-message (line_handler.py) | jesopo | 2019-02-12 | 1 | -13/+34 |
| * | Add a way to blacklist CAPs per-network (line_handler.py) | jesopo | 2019-02-12 | 1 | -0/+4 |
| * | Add !cointoss to random_number.py | jesopo | 2019-02-12 | 1 | -0/+8 |
| * | Only put a ":" on trailing args when it's required | jesopo | 2019-02-12 | 2 | -13/+27 |
| * | Change arg types of constant_time_compare to typing.AnyStr (utils.security) | jesopo | 2019-02-12 | 1 | -3/+1 |
| * | Use constant-time compare in permissions.py for password identifying | jesopo | 2019-02-12 | 1 | -1/+1 |
| * | Move constant-time compare function to utils.security | jesopo | 2019-02-12 | 2 | -2/+8 |
| * | Use `hmac.compare_digest` to do a constant-time compare (sasl.scram) | jesopo | 2019-02-12 | 1 | -5/+8 |
| * | Upgrade resume.py to `draft/resume-0.3` and support sending last-read timestamp | jesopo | 2019-02-12 | 2 | -22/+26 |
| * | Put an strf format for ISO8601 in utils | jesopo | 2019-02-12 | 2 | -2/+3 |
| * | Insert `label` tag to lines in labeled BATCHes (line_handler.py) | jesopo | 2019-02-11 | 1 | -1/+13 |
| * | Hold on to tags and type for BATCHes | jesopo | 2019-02-11 | 2 | -4/+15 |
| * | IRCServer should handle ping_sent, not IRCSocket | jesopo | 2019-02-11 | 2 | -2/+5 |
| * | last_read/last_send is now handled by IRCSocket.py | jesopo | 2019-02-11 | 2 | -5/+5 |
| * | `socket.getpeername()` can return more than 2 values (IRCSocket) | jesopo | 2019-02-11 | 1 | -1/+1 |
| * | `connected` status is now tracked by IRCSockets | jesopo | 2019-02-11 | 3 | -3/+4 |
| * | `bytes_written`/`bytes_read` is now on IRCServer.socket (stats.py) | jesopo | 2019-02-11 | 1 | -2/+2 |