aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Don't add a space after a formatted tagmsg in _tag_str (src/IRCServer.py)Gravatar jesopo2019-02-141-3/+5
|
* Add IRCServer.send_tagmsg, to send `TAGMSG` commandsGravatar jesopo2019-02-141-0/+3
|
* Support one-shot event hooks (src/EventManager.py)Gravatar jesopo2019-02-141-1/+6
|
* Fix 'Optional[str]!=str' type hinting issue in utils.irc line parsingGravatar jesopo2019-02-131-1/+1
|
* We were just checking if `arbitrary` was falsey, thus losing empty trailing argsGravatar jesopo2019-02-121-1/+1
| | | | (' :' with nothing after it) (utils.irc)
* Also strip \x01 off the start of CTCP commands, if it's there (utils.irc)Gravatar jesopo2019-02-121-0/+2
|
* 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
|
* Move constant-time compare function to utils.securityGravatar jesopo2019-02-121-1/+6
|
* Upgrade resume.py to `draft/resume-0.3` and support sending last-read timestampGravatar jesopo2019-02-121-0/+4
|
* Put an strf format for ISO8601 in utilsGravatar jesopo2019-02-121-0/+2
|
* Hold on to tags and type for BATCHesGravatar jesopo2019-02-111-0/+7
|
* 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
|
* Add `IRCSocket.connected_ip` to hold on to the IP address we connected to (e.g.Gravatar jesopo2019-02-111-0/+3
| | | | so we know which IP we picked from a round robin DNS)
* Shift socket.socket related logic to IRCSocket.pyGravatar jesopo2019-02-113-161/+209
|
* 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
|
* Add _char_limit return type hint, fix decoded_data return type hintGravatar jesopo2019-02-101-2/+2
| | | | (src/IRCLine.py)
* Import IRCServer in IRCLine so type hint comment is valid (src/IRCLine.py)Gravatar jesopo2019-02-101-1/+1
|
* Add a comment as to why IRCLine's LINE_CUTOFF is 470, not 510Gravatar jesopo2019-02-101-0/+1
|
* Change LINE_CUTOFF to 470, now that we compute max char counts (src/IRCLine.py)Gravatar jesopo2019-02-101-1/+1
|
* Let IRCLine.Line handle truncating command outputGravatar jesopo2019-02-102-5/+23
|
* Parse sent data in IRCServer._send, not IRCServer.sendGravatar jesopo2019-02-101-2/+6
|
* Add `IRCServer.hostmask()` to construct our nick!user@host hostmaskGravatar jesopo2019-02-101-0/+3
|
* Shift encoding/truncating IRC lines to src/IRCLine.pyGravatar jesopo2019-02-102-14/+16
|
* Return truncted data from encode_truncate and hold it in IRCLine.LineGravatar jesopo2019-02-103-6/+12
|
* Make use of utils.truncate_encode, to avoid cutting utf8 sequences in halfGravatar jesopo2019-02-101-4/+3
|
* add `utils.truncate_encode`, to encode and truncate a string while ↵Gravatar jesopo2019-02-101-0/+10
| | | | respecting utf8 multi-byte encoding
* Don't send empty space with JOIN if key=="" (src/IRCServer.py)Gravatar jesopo2019-02-101-1/+1
|
* Return IRCLine object from IRCServer.send() (and functions that call .send())Gravatar jesopo2019-02-101-48/+55
|
* fix `self.batches` type hint (src/IRCServer.py)Gravatar jesopo2019-02-101-1/+1
|
* IRCLine's `data` should be bytesGravatar jesopo2019-02-101-1/+1
|
* Add missing src/IRCLine.py fileGravatar jesopo2019-02-101-0/+20
|
* `now` isn't defined now that throttle code has been separated out ↵Gravatar jesopo2019-02-101-1/+1
| | | | (src/IRCServer.py)
* Track lines-to-be-sent up until they're completely sent, queue up more than 1Gravatar jesopo2019-02-101-14/+43
| | | | line at a time in write buffer if we've got space (src/IRCServer.py)
* rename, 'IRCLine' -> 'IRCParsedLine' (utils.irc)Gravatar jesopo2019-02-101-3/+3
|
* Make line cutoff character count a const (src/IRCServer.py)Gravatar jesopo2019-02-101-2/+3
|
* Add TimersContext.find_allGravatar jesopo2019-02-101-0/+2
|
* Add Timers.find_all, to find all timers of a certain nameGravatar jesopo2019-02-101-0/+10
|
* Abstract ssl socket wrapping away so we can reuse itGravatar jesopo2019-02-103-14/+28
|
* Old copypaste fail - we were returning the most recent user id when creating ↵Gravatar jesopo2019-02-101-1/+1
| | | | | | channels (Database.py)
* Set default values for various types of channel modes (src/IRCServer.py)Gravatar jesopo2019-02-091-4/+9
|
* Also capture channel setting-related modes (e.g. +f for flood settings)Gravatar jesopo2019-02-091-0/+1
|
* Return "0s" from utils.to_pretty_time when given 0 secondsGravatar jesopo2019-02-071-0/+3
|
* Send `CAP LS` after we send `PASS` (if applicable) (src/IRCServer.py)Gravatar jesopo2019-02-071-1/+2
|
* Add optional `default` param to `Exports.get_one()` (src/Exports.py)Gravatar jesopo2019-02-071-3/+5
|
* Implement ExportsContext.get_oneGravatar jesopo2019-02-071-0/+2
|