aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAgeFilesLines
* 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
* Add `IRCSocket.connected_ip` to hold on to the IP address we connected to (e.g.•••so we know which IP we picked from a round robin DNS) Gravatar jesopo2019-02-111-0/+3
* Add `faulthandler` (and `faulthandler.enable()`) to start.pyGravatar jesopo2019-02-111-1/+3
* Show file add/remove/change *after* saying it's a push (github)Gravatar jesopo2019-02-111-5/+5
* Actually return function hook from _shutdown_hook (admin.py)Gravatar jesopo2019-02-111-0/+1
* Actually shutdown socket when !shutdown is called (admin.py)Gravatar jesopo2019-02-111-1/+3
* Shift socket.socket related logic to IRCSocket.pyGravatar jesopo2019-02-114-162/+210
* We don't need to send `writebuffer.empty` event any more (src/IRCServer.py)Gravatar jesopo2019-02-111-3/+0
* Actually return `str` object from IRCLine.__str__Gravatar jesopo2019-02-101-1/+1
* Iterate through bot.servers.values(), not .keys() (admin.py)Gravatar jesopo2019-02-101-1/+1
* Add !shutdown (admin.py)Gravatar jesopo2019-02-101-0/+14
* Add _char_limit return type hint, fix decoded_data return type hint•••(src/IRCLine.py) Gravatar jesopo2019-02-101-2/+2
* Import IRCServer in IRCLine so type hint comment is valid (src/IRCLine.py)Gravatar jesopo2019-02-101-1/+1