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