jesopo
|
5df8df83ad
|
fail an alias when an ${} var isn't found
|
2020-04-08 14:29:52 +01:00 |
|
jesopo
|
2f73159b95
|
remove now-unused vars
|
2020-04-08 14:20:33 +01:00 |
|
jesopo
|
f16526c60d
|
rewrite (and vastly simplify) message format tokenising
|
2020-04-08 14:18:42 +01:00 |
|
jesopo
|
2b0dfcc155
|
add ${BNICK} (bot's own nick) and ${CTRIGGER} (command trigger) to aliases
|
2020-04-07 19:30:32 +01:00 |
|
jesopo
|
8a3f10e360
|
handle http redirects ourselves, to prevent redirect to localhost
|
2020-04-05 22:41:33 +01:00 |
|
jesopo
|
223c2c88ff
|
add .send_action utils functions to Server, Channel and User
|
2020-03-23 15:27:22 +00:00 |
|
jesopo
|
5239d54fbe
|
fix !part, add !join
|
2020-03-10 14:49:41 +00:00 |
|
jesopo
|
1ac68a9836
|
allow IntRangeSetting max to be optional
|
2020-03-09 08:23:07 +00:00 |
|
jesopo
|
f571bebeee
|
event["line"][1] -> event["line"].args[1]
|
2020-03-08 20:49:24 +00:00 |
|
jesopo
|
13943e84a2
|
check if message isn't None, rather than falsey
|
2020-03-08 15:12:21 +00:00 |
|
jesopo
|
1d384dfd8b
|
move _get_hostmask logic out in to banmask.py core module, for reuse
|
2020-03-08 14:14:34 +00:00 |
|
jesopo
|
49d9cbdb87
|
exports.get_one() -> exports.get()
|
2020-03-08 14:14:00 +00:00 |
|
jesopo
|
69be51e502
|
add space between command and usage string
|
2020-03-06 07:25:38 +00:00 |
|
jesopo
|
def6eb0ac3
|
handle RPL_VISIBLEHOST (396) to catch our hostname (maybe username too) changing
|
2020-03-05 11:23:39 +00:00 |
|
jesopo
|
c0947b066d
|
we don't need +=1 for "new arg space" because we're pushing on an existing arg
|
2020-03-05 11:15:37 +00:00 |
|
jesopo
|
1c09f7c854
|
add a flag command spec type
|
2020-03-05 10:41:05 +00:00 |
|
jesopo
|
e8388a28bd
|
INVEX numeric puts mask at index 2, not 3
|
2020-03-05 10:38:43 +00:00 |
|
jesopo
|
f469a4e347
|
use codecs.iterencode() to generator-style iterate encoding a string
|
2020-03-03 11:44:00 +00:00 |
|
jesopo
|
7bf0b6edbf
|
rewrite command output truncation
|
2020-03-03 11:16:39 +00:00 |
|
jesopo
|
ea87013249
|
refactor perform.py
|
2020-03-02 14:54:19 +00:00 |
|
jesopo
|
078d8ecd6b
|
less-than-1.0 should be to_pretty_time "0s"
|
2020-02-28 22:57:00 +00:00 |
|
jesopo
|
7dea6f04a9
|
include !command in usage output
|
2020-02-28 13:56:56 +00:00 |
|
jesopo
|
a4a28c779e
|
show usage strings when spec parsing fails
|
2020-02-27 18:03:21 +00:00 |
|
jesopo
|
932d596660
|
if there's more than 1 error message, give generic error
|
2020-02-27 18:00:13 +00:00 |
|
jesopo
|
8c9bfe9a2d
|
insert decorator kwargs because decorators are run innermost first
|
2020-02-27 17:58:06 +00:00 |
|
jesopo
|
7293243429
|
fix type hinting issues in send_modes/send_kicks (IRCChannel)
|
2020-02-27 10:09:28 +00:00 |
|
jesopo
|
02e734824f
|
move accept_invite.py to core modules, default to not accepting invites bot-wide
|
2020-02-26 17:30:56 +00:00 |
|
jesopo
|
f82e3536f0
|
move bot_channel.py to core_modules, default to no bot channel
|
2020-02-26 17:30:36 +00:00 |
|
jesopo
|
5be9450628
|
commands module no longer relies on pemissions module
|
2020-02-26 17:21:36 +00:00 |
|
jesopo
|
7ebad30c2f
|
convert & in sed to \g<0> so python handles full-match replacements
|
2020-02-26 13:26:06 +00:00 |
|
jesopo
|
d39babf0b5
|
only call internal.identified when an account tag is first seen
closes #249
|
2020-02-26 10:29:01 +00:00 |
|
jesopo
|
1ecbacefc2
|
send_modes takes list[tuple[s,s]], add !down, !deop yourself last
|
2020-02-25 14:27:56 +00:00 |
|
jesopo
|
a3ffc70bbc
|
send KICK in max chunk of 4, MODE in max chunk of 6
|
2020-02-25 11:29:02 +00:00 |
|
jesopo
|
d1bd3f4920
|
deduplicate spec arg names
|
2020-02-25 09:43:14 +00:00 |
|
jesopo
|
175c0a285c
|
open possibly-utf8 files with forced utf8
|
2020-02-24 15:24:39 +00:00 |
|
jesopo
|
fc32a907a5
|
use "latin-1" consitently (not "iso-8859-1")
|
2020-02-24 13:28:23 +00:00 |
|
jesopo
|
6535ec731c
|
change encrypted channel logs to use RSA -> AES (CBC)
closes #248
|
2020-02-24 13:14:05 +00:00 |
|
jesopo
|
9d120dcd2c
|
fix security.py typehints
|
2020-02-24 11:46:37 +00:00 |
|
jesopo
|
cca3817537
|
move permissions module password hashing to utils/security.py
|
2020-02-24 11:43:55 +00:00 |
|
jesopo
|
9ce21a30eb
|
fix utils.datetime.format.to_pretty_time typehinting
|
2020-02-24 10:38:58 +00:00 |
|
jesopo
|
eb60e09a23
|
add isodate requirement for parsing iso8601 durations
|
2020-02-24 10:30:59 +00:00 |
|
jesopo
|
8f9c063114
|
only do to_pretty_time as relative when requested
|
2020-02-24 10:18:55 +00:00 |
|
jesopo
|
a2c8d7080e
|
command doesn't exist - use event["spec"][2]
|
2020-02-23 17:02:40 +00:00 |
|
jesopo
|
9c1b98ef29
|
channel.users changes during iteration. copy() it
|
2020-02-22 08:03:31 +00:00 |
|
jesopo
|
0667ac8c5f
|
add option to encrypt channel_log log files line-by-line
|
2020-02-20 14:56:04 +00:00 |
|
jesopo
|
3ccb594e10
|
silence.py's is-silenced export is no longer used
|
2020-02-19 17:29:34 +00:00 |
|
jesopo
|
3453479235
|
utilise @utils.export for function exporting in more places
|
2020-02-19 17:29:10 +00:00 |
|
jesopo
|
70db97f64e
|
support @utils.export on functions, to export those functions
|
2020-02-19 17:22:37 +00:00 |
|
jesopo
|
ec54fc8ef0
|
a comment!
|
2020-02-19 15:02:12 +00:00 |
|
jesopo
|
6ef4c0ea3e
|
fix format_token return typehints
|
2020-02-19 14:20:57 +00:00 |
|