aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Expand)AuthorAgeFilesLines
* Add system to have multiple url shorteners and chose which to useGravatar jesopo2019-06-251-0/+12
* Return 0 seconds if timeout seconds is negativeGravatar jesopo2019-06-241-1/+1
* move _check() after timeouted queue.get() so deadlines are met accuratelyGravatar jesopo2019-06-231-1/+2
* move get_poll_timeout() to event loop now that it is the one calling _checkGravatar jesopo2019-06-231-3/+9
* shift _check() call to event loop function so read_loop needn't call trigger()Gravatar jesopo2019-06-231-4/+5
* v1.10.0 releaseGravatar jesopo2019-06-231-1/+1
* Don't print BitBotPanic stacks when we don't need toGravatar jesopo2019-06-231-11/+11
* v1.10.0-rc2Gravatar jesopo2019-06-231-1/+1
* until_read_timeout is a func - read_timed_out has always been returning falseGravatar jesopo2019-06-221-1/+1
* Don't needlessly call time.monotonic() when checking cache expirationsGravatar jesopo2019-06-221-1/+2
* v1.10.0-rc1Gravatar jesopo2019-06-221-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. Gravatar jesopo2019-06-221-5/+1
* Restrict EventManager calls to the main threadGravatar jesopo2019-06-221-0/+3
* return generated SentLine objects from IRCChannel.send_* functionsGravatar jesopo2019-06-211-9/+9
* Implement dependency system for CAPsGravatar jesopo2019-06-211-1/+3
* Adda system of aliases for CAPs, mostly for changeable draft specs and creating•••dependence between moving specs Gravatar jesopo2019-06-211-2/+5
* WARN log when we try to remove a mode from ourselves that we didn't haveGravatar jesopo2019-06-211-0/+3
* check we have a mode before trying to remove itGravatar jesopo2019-06-211-1/+2
* give every ParsedLine a uuid4 .id for tracking purposesGravatar jesopo2019-06-211-1/+2
* fix hostmask_match_many type hintingGravatar jesopo2019-06-201-1/+2
* Implement hostmask_match_any, for more efficient matching of multiple hostmasksGravatar jesopo2019-06-201-3/+9
* Implement utils.irc.hostmask_match() as regexGravatar jesopo2019-06-201-2/+9
* Differentiate between module "not found" and "not loaded"Gravatar jesopo2019-06-191-1/+4
* Raise ModuleNotFoundException on failure to find_module()Gravatar jesopo2019-06-191-0/+3
* Give requested module name to ModuleNotFoundExceptionGravatar jesopo2019-06-191-1/+1
* Add MessageTag.present, to see if a tag is present (even without value)Gravatar jesopo2019-06-191-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 Gravatar jesopo2019-06-191-4/+4
* `line_formatted` -> `valid` so tags don't cause us to subvert truncationGravatar jesopo2019-06-181-1/+1
* Tags should not be appended to `pieces` now that they're counted separatelyGravatar jesopo2019-06-181-1/+0
* Add IRCBot.URL (https://bitbot.dev)Gravatar jesopo2019-06-181-0/+1
* add has_tag() and get_tag() to IRCLine.ParsedLineGravatar jesopo2019-06-181-0/+4
* message-tags count for a different character limit than the rest of the lineGravatar jesopo2019-06-181-5/+18
* Simplify SentLine by shifting truncation to ParsedLine (and commands.outs)Gravatar jesopo2019-06-181-39/+25
* only count "\n"s (not "\r\n") that hit the wire, incase \r\n gets cut in halfGravatar jesopo2019-06-171-1/+1
* Fix Database.ChannelSettings.find SQLGravatar jesopo2019-06-171-1/+1
* 'break' instead of 'continue' so that things in the event queue get discardedGravatar jesopo2019-06-171-1/+1
* Only `panic()` when a server connection is part of bot init. closes #69Gravatar jesopo2019-06-171-2/+4
* Make sure we exit event loop when there's no servers leftGravatar jesopo2019-06-171-0/+2
* Tell servers objects when they are the result of a reconnectionGravatar jesopo2019-06-172-0/+2
* Default IRCBot.running to false, set to true at the top of .run()Gravatar jesopo2019-06-171-1/+2
* Change panic() reason log from ERROR to CRITICALGravatar jesopo2019-06-171-1/+1
* Raise a BitBotPanic() exception in panic()Gravatar jesopo2019-06-171-0/+6
* Add IRCBot.panic() - a nicer interface for killing the whole applicationGravatar jesopo2019-06-171-4/+19
* Allow channel-access and channel-mode check for channels people are not inGravatar jesopo2019-06-161-0/+2
* Don't fail get_kwarg when self.kwarg[name] is falseyGravatar jesopo2019-06-161-2/+5
* Return all caps through received.cap.ls|new and check if valid in line_handler,•••remove server.cap_started Gravatar jesopo2019-06-161-4/+6
* Implement client-to-server BATCHesGravatar jesopo2019-06-161-3/+18
* Type annotate ParsedLine.tags, add ParsedLine.add_tag()Gravatar jesopo2019-06-161-1/+4
* Change from `yield` checks to a func in `events` that pass up EventErrorsGravatar jesopo2019-06-151-1/+5
* CRITICAL log exceptions caught in _loop_catch()Gravatar jesopo2019-06-151-4/+4