| Commit message (Expand) | Author | Age | Files | Lines |
| * | Don't print BitBotPanic stacks when we don't need to | jesopo | 2019-06-23 | 1 | -11/+11 |
| * | v1.10.0-rc2 | jesopo | 2019-06-23 | 1 | -1/+1 |
| * | until_read_timeout is a func - read_timed_out has always been returning false | jesopo | 2019-06-22 | 1 | -1/+1 |
| * | Don't needlessly call time.monotonic() when checking cache expirations | jesopo | 2019-06-22 | 1 | -1/+2 |
| * | v1.10.0-rc1 | jesopo | 2019-06-22 | 1 | -1/+1 |
| * | remove remove_own_mode( check - deferred_read.py better solves the issue.•••the issue was getting a MODE line on irc.com prior to 001, thus we didn't know
what our nickname was thus we didn't know that the MODE was for us. not dying
when we saw +x was easy to do with this check but I think it's more correct to
actually parse that MODE after 001 so we know we have +x.
| jesopo | 2019-06-22 | 1 | -5/+1 |
| * | Restrict EventManager calls to the main thread | jesopo | 2019-06-22 | 1 | -0/+3 |
| * | return generated SentLine objects from IRCChannel.send_* functions | jesopo | 2019-06-21 | 1 | -9/+9 |
| * | Implement dependency system for CAPs | jesopo | 2019-06-21 | 1 | -1/+3 |
| * | Adda system of aliases for CAPs, mostly for changeable draft specs and creating•••dependence between moving specs
| jesopo | 2019-06-21 | 1 | -2/+5 |
| * | WARN log when we try to remove a mode from ourselves that we didn't have | jesopo | 2019-06-21 | 1 | -0/+3 |
| * | check we have a mode before trying to remove it | jesopo | 2019-06-21 | 1 | -1/+2 |
| * | give every ParsedLine a uuid4 .id for tracking purposes | jesopo | 2019-06-21 | 1 | -1/+2 |
| * | fix hostmask_match_many type hinting | jesopo | 2019-06-20 | 1 | -1/+2 |
| * | Implement hostmask_match_any, for more efficient matching of multiple hostmasks | jesopo | 2019-06-20 | 1 | -3/+9 |
| * | Implement utils.irc.hostmask_match() as regex | jesopo | 2019-06-20 | 1 | -2/+9 |
| * | Differentiate between module "not found" and "not loaded" | jesopo | 2019-06-19 | 1 | -1/+4 |
| * | Raise ModuleNotFoundException on failure to find_module() | jesopo | 2019-06-19 | 1 | -0/+3 |
| * | Give requested module name to ModuleNotFoundException | jesopo | 2019-06-19 | 1 | -1/+1 |
| * | Add MessageTag.present, to see if a tag is present (even without value) | jesopo | 2019-06-19 | 1 | -0/+2 |
| * | add `margin` arg to ParsedLine.truncate so commands/outs.py doesn't do it•••manually and cause potential issues with multi-byte chars
| jesopo | 2019-06-19 | 1 | -4/+4 |
| * | `line_formatted` -> `valid` so tags don't cause us to subvert truncation | jesopo | 2019-06-18 | 1 | -1/+1 |
| * | Tags should not be appended to `pieces` now that they're counted separately | jesopo | 2019-06-18 | 1 | -1/+0 |
| * | Add IRCBot.URL (https://bitbot.dev) | jesopo | 2019-06-18 | 1 | -0/+1 |
| * | add has_tag() and get_tag() to IRCLine.ParsedLine | jesopo | 2019-06-18 | 1 | -0/+4 |
| * | message-tags count for a different character limit than the rest of the line | jesopo | 2019-06-18 | 1 | -5/+18 |
| * | Simplify SentLine by shifting truncation to ParsedLine (and commands.outs) | jesopo | 2019-06-18 | 1 | -39/+25 |
| * | only count "\n"s (not "\r\n") that hit the wire, incase \r\n gets cut in half | jesopo | 2019-06-17 | 1 | -1/+1 |
| * | Fix Database.ChannelSettings.find SQL | jesopo | 2019-06-17 | 1 | -1/+1 |
| * | 'break' instead of 'continue' so that things in the event queue get discarded | jesopo | 2019-06-17 | 1 | -1/+1 |
| * | Only `panic()` when a server connection is part of bot init. closes #69 | jesopo | 2019-06-17 | 1 | -2/+4 |
| * | Make sure we exit event loop when there's no servers left | jesopo | 2019-06-17 | 1 | -0/+2 |
| * | Tell servers objects when they are the result of a reconnection | jesopo | 2019-06-17 | 2 | -0/+2 |
| * | Default IRCBot.running to false, set to true at the top of .run() | jesopo | 2019-06-17 | 1 | -1/+2 |
| * | Change panic() reason log from ERROR to CRITICAL | jesopo | 2019-06-17 | 1 | -1/+1 |
| * | Raise a BitBotPanic() exception in panic() | jesopo | 2019-06-17 | 1 | -0/+6 |
| * | Add IRCBot.panic() - a nicer interface for killing the whole application | jesopo | 2019-06-17 | 1 | -4/+19 |
| * | Allow channel-access and channel-mode check for channels people are not in | jesopo | 2019-06-16 | 1 | -0/+2 |
| * | Don't fail get_kwarg when self.kwarg[name] is falsey | jesopo | 2019-06-16 | 1 | -2/+5 |
| * | Return all caps through received.cap.ls|new and check if valid in line_handler,•••remove server.cap_started
| jesopo | 2019-06-16 | 1 | -4/+6 |
| * | Implement client-to-server BATCHes | jesopo | 2019-06-16 | 1 | -3/+18 |
| * | Type annotate ParsedLine.tags, add ParsedLine.add_tag() | jesopo | 2019-06-16 | 1 | -1/+4 |
| * | Change from `yield` checks to a func in `events` that pass up EventErrors | jesopo | 2019-06-15 | 1 | -1/+5 |
| * | CRITICAL log exceptions caught in _loop_catch() | jesopo | 2019-06-15 | 1 | -4/+4 |
| * | Fix utils.Check `args` type hinting | jesopo | 2019-06-14 | 1 | -2/+2 |
| * | Add a way to __or__ `utils.Check`s, as a "if one of these passes" thing | jesopo | 2019-06-14 | 1 | -0/+9 |
| * | Catch `yield`s in command callbacks for e.g. permission checks | jesopo | 2019-06-14 | 1 | -0/+5 |
| * | Wrap _read_loop() and _write_loop() in a try that kills the main thread | jesopo | 2019-06-13 | 1 | -2/+11 |
| * | Mode mode (and mode arg) parsing to IRCChannel.py, add IRCChannel.mode_str | jesopo | 2019-06-13 | 1 | -1/+40 |
| * | Change `send_*()` function return hints to be typing.Optional | jesopo | 2019-06-10 | 1 | -24/+31 |