aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Expand)AuthorAgeFilesLines
* RPL_EXCEPTLIST has the mask at index 2, not 3Gravatar jesopo2020-04-151-1/+1
* add channel mlock (mode lock) functionality to channel_op.pyGravatar jesopo2020-04-131-1/+4
* format_token_replace() returns a tuple these daysGravatar jesopo2020-04-121-1/+2
* add bot.conf options so we can disable given log filesGravatar jesopo2020-04-101-18/+24
* "mi" -> "m" for minuteGravatar jesopo2020-04-091-1/+1
* experimental support for rss bindhostGravatar jesopo2020-04-091-1/+12
* fix regression of message filters not matching without formattingGravatar jesopo2020-04-081-2/+2
* fail an alias when an ${} var isn't foundGravatar jesopo2020-04-082-6/+20
* remove now-unused varsGravatar jesopo2020-04-081-4/+0
* rewrite (and vastly simplify) message format tokenisingGravatar jesopo2020-04-081-35/+21
* add ${BNICK} (bot's own nick) and ${CTRIGGER} (command trigger) to aliasesGravatar jesopo2020-04-071-4/+4
* handle http redirects ourselves, to prevent redirect to localhostGravatar jesopo2020-04-051-14/+44
* add .send_action utils functions to Server, Channel and UserGravatar jesopo2020-03-233-0/+8
* fix !part, add !joinGravatar jesopo2020-03-101-2/+10
* allow IntRangeSetting max to be optionalGravatar jesopo2020-03-091-3/+5
* event["line"][1] -> event["line"].args[1]Gravatar jesopo2020-03-081-1/+1
* check if message isn't None, rather than falseyGravatar jesopo2020-03-081-2/+2
* move _get_hostmask logic out in to banmask.py core module, for reuseGravatar jesopo2020-03-081-0/+23
* exports.get_one() -> exports.get()Gravatar jesopo2020-03-083-5/+5
* add space between command and usage stringGravatar jesopo2020-03-061-1/+1
* handle RPL_VISIBLEHOST (396) to catch our hostname (maybe username too) changingGravatar jesopo2020-03-052-0/+10
* we don't need +=1 for "new arg space" because we're pushing on an existing argGravatar jesopo2020-03-051-1/+0
* add a `flag` command spec typeGravatar jesopo2020-03-051-2/+16
* INVEX numeric puts mask at index 2, not 3Gravatar jesopo2020-03-051-1/+1
* use codecs.iterencode() to generator-style iterate encoding a stringGravatar jesopo2020-03-031-3/+3
* rewrite command output truncationGravatar jesopo2020-03-035-48/+58
* refactor perform.pyGravatar jesopo2020-03-021-33/+19
* less-than-1.0 should be to_pretty_time "0s"Gravatar jesopo2020-02-281-1/+1
* include !command in usage outputGravatar jesopo2020-02-281-4/+5
* show usage strings when spec parsing failsGravatar jesopo2020-02-271-1/+13
* if there's more than 1 error message, give generic errorGravatar jesopo2020-02-271-4/+7
* `insert` decorator kwargs because decorators are run innermost firstGravatar jesopo2020-02-271-1/+1
* fix type hinting issues in send_modes/send_kicks (IRCChannel)Gravatar jesopo2020-02-271-8/+12
* move accept_invite.py to core modules, default to not accepting invites bot-wideGravatar jesopo2020-02-261-0/+16
* move bot_channel.py to core_modules, default to no bot channelGravatar jesopo2020-02-261-0/+13
* commands module no longer relies on pemissions moduleGravatar jesopo2020-02-261-1/+0
* convert & in sed to \g<0> so python handles full-match replacementsGravatar jesopo2020-02-261-10/+4
* only call internal.identified when an account tag is first seen•••closes #249 Gravatar jesopo2020-02-261-2/+3
* send_modes takes list[tuple[s,s]], add !down, !deop yourself lastGravatar jesopo2020-02-251-5/+6
* send KICK in max chunk of 4, MODE in max chunk of 6Gravatar jesopo2020-02-251-2/+3
* deduplicate spec arg namesGravatar jesopo2020-02-251-1/+1
* open possibly-utf8 files with forced utf8Gravatar jesopo2020-02-244-6/+11
* use "latin-1" consitently (not "iso-8859-1")Gravatar jesopo2020-02-241-1/+1
* change encrypted channel logs to use RSA -> AES (CBC)•••closes #248 Gravatar jesopo2020-02-241-13/+19
* fix security.py typehintsGravatar jesopo2020-02-241-2/+2
* move permissions module password hashing to utils/security.pyGravatar jesopo2020-02-242-15/+17
* fix utils.datetime.format.to_pretty_time typehintingGravatar jesopo2020-02-241-2/+3
* add isodate requirement for parsing iso8601 durationsGravatar jesopo2020-02-241-1/+3
* only do to_pretty_time as relative when requestedGravatar jesopo2020-02-242-18/+46
* `command` doesn't exist - use event["spec"][2]Gravatar jesopo2020-02-231-1/+1