jesopo
|
50ced296d1
|
Clarify func_queue type (IRCBot.py)
|
2018-12-02 10:08:58 +00:00 |
|
jesopo
|
10f84f970d
|
Clarify/fix type hints throughout EventManager.py
|
2018-12-02 10:04:05 +00:00 |
|
jesopo
|
08bd31f150
|
A couple of tweaks to clarify some type hints
|
2018-12-02 09:56:57 +00:00 |
|
jesopo
|
c4ea6fa562
|
data is now line
|
2018-12-02 09:48:06 +00:00 |
|
jesopo
|
cbc3ae3432
|
Remove usage of sys.stderr in IRCBot.py, change disconnect logs from info to
`warn`
|
2018-12-02 09:43:57 +00:00 |
|
jesopo
|
9a311c88b6
|
Remove print calls from IRCBot.py, move received data logging to IRCServer
|
2018-12-02 09:41:21 +00:00 |
|
jesopo
|
eb0c13971a
|
Omit Config keys that have falsey values (empty)
|
2018-12-02 08:28:59 +00:00 |
|
jesopo
|
cdfe6d2959
|
'uderline' -> 'underline' typo in utils.irc
|
2018-11-30 16:32:18 +00:00 |
|
jesopo
|
4dfb2ffeaa
|
Support ANSI underline
|
2018-11-30 16:30:56 +00:00 |
|
jesopo
|
af0fddf9ba
|
'find_*_setting' functions don't exist anymore!
|
2018-11-28 10:12:17 +00:00 |
|
jesopo
|
e1cdd4a353
|
Add type hint for return type of IRCBot.trigger
|
2018-11-27 17:29:38 +00:00 |
|
jesopo
|
9d9deb28b5
|
Raise exceptions back up through .trigger()
|
2018-11-27 15:06:10 +00:00 |
|
jesopo
|
d13a5069e3
|
Grab response from functions asked to be executed on the main thread and feed
them back to the callers, allowing rest_api.py to take the main thread while
it's waiting for the response to give back to the requesting client
|
2018-11-27 14:25:12 +00:00 |
|
jesopo
|
7c4b2b6c4e
|
Add .nickname/.username/.realname/.hostname to IRCServer
|
2018-11-27 12:16:36 +00:00 |
|
jesopo
|
72dca06626
|
Add a way to catch when a writebuffer is emptied so we can e.g. assure a QUIT is
sent before shutting down the bot
|
2018-11-27 11:56:03 +00:00 |
|
jesopo
|
dce050aac5
|
Convert BOOLEAN sqlite3 types to bool objects when retrieving them
|
2018-11-27 11:39:50 +00:00 |
|
jesopo
|
fba1dd2271
|
Nope, just combine previous color-char and current color-char and see if it's
less than or equal to 15 (utils.irc)
|
2018-11-26 17:34:27 +00:00 |
|
jesopo
|
9a614846b0
|
Don't reject 6-9 (inclusive) when it's prepended by 0 (src/utils/irc.py)
|
2018-11-26 17:31:56 +00:00 |
|
jesopo
|
f93e3f927f
|
If a color code is double-digit, make sure it's 0-15, not just 0-20
|
2018-11-26 17:23:11 +00:00 |
|
jesopo
|
8d32fed2fe
|
ModuleWarnings in src/ModuleManger.py should be logged as warn , not error
|
2018-11-26 14:42:41 +00:00 |
|
jesopo
|
1b03d31c6b
|
Switch back to logging events as 2 messages as a lot of other logs can happen
between the start and end of an event and grouping them together is very useful
|
2018-11-26 14:23:20 +00:00 |
|
jesopo
|
6d6bfa3262
|
Don't assume a given mode is in IRCChannel.modes when we check to see if a given
mode has any arguments against it
|
2018-11-26 13:39:26 +00:00 |
|
jesopo
|
8cd069d37d
|
'bot.log' -> 'trace.log' and add a 'warn.log' log file that only catches
warn-and-worse
|
2018-11-26 11:09:43 +00:00 |
|
jesopo
|
5b70f37796
|
also support zero-padded color codes
|
2018-11-25 13:32:57 +00:00 |
|
jesopo
|
6d2c15ed2c
|
Don't eat numbers after color formatting if they'd end up making the color code
`20` or more
|
2018-11-25 13:23:00 +00:00 |
|
Evelyn
|
8cd7393d17
|
Regression: Don't connnect if a server's 'connect' setting is false
|
2018-11-24 12:14:36 +00:00 |
|
jesopo
|
d606944648
|
Move self.name = self.nickname_lower to under setting self.nickname_lower ,
otherwise `self.name` will be `""`
|
2018-11-23 13:55:40 +00:00 |
|
jesopo
|
3061c65024
|
IRCServer.Server.get_user should be 'typing.Optional[IRCUser.User]', not just
'IRCUser.user'
|
2018-11-21 20:18:12 +00:00 |
|
jesopo
|
5001e47af9
|
typo in src/IRCServer.py, 'typing.float' -> 'float'
|
2018-11-21 20:17:02 +00:00 |
|
jesopo
|
9ecbb6be7b
|
Fix mypy issues caused by overwriting a bytes variable with a str object
|
2018-11-21 20:16:07 +00:00 |
|
jesopo
|
bab4fca287
|
Add more return type annotations to src/IRCServer.Server
|
2018-11-21 20:13:56 +00:00 |
|
jesopo
|
9a5ba99840
|
Add some missing return type annotations in src/IRCServer.Server
|
2018-11-21 20:05:21 +00:00 |
|
jesopo
|
2852afd5f7
|
Add IRCServer.Server.get_target, to get an IRCChannel if the given target is a
channel name or an IRCUser
|
2018-11-21 20:04:07 +00:00 |
|
jesopo
|
60acf02cee
|
prefix should be a Optional[IRCHostmask], we shouldn't use Optional[] as a
compile-time object (utils.irc)
|
2018-11-20 17:23:47 +00:00 |
|
jesopo
|
549c12da10
|
Clarify typing in src/IRCChannel.py
|
2018-11-20 14:08:36 +00:00 |
|
jesopo
|
5d813175a1
|
Don't enable write throttling until we get 005
|
2018-11-19 10:12:52 +00:00 |
|
jesopo
|
f46015d9d8
|
Minor code styling change in urils.irc
|
2018-11-17 12:48:56 +00:00 |
|
jesopo
|
756c543c32
|
Typo in utils.__init__, 'number' -> 'number_str'
|
2018-11-16 17:45:40 +00:00 |
|
jesopo
|
8300c84f6a
|
Log event timing in 1 message, not 2
|
2018-11-14 23:08:39 +00:00 |
|
jesopo
|
ae8aeaeef4
|
Typo in src/Database.py, 'total_millisecons' -> 'total_milliseconds'
|
2018-11-14 23:06:41 +00:00 |
|
jesopo
|
1ec6d0ad40
|
Log query timing in src/Database.py in 1 line, not 2
|
2018-11-14 23:04:54 +00:00 |
|
jesopo
|
1297901dca
|
We do indeed need to see "\x03" even when there's no foreground/background
(color reset)
|
2018-11-14 22:50:04 +00:00 |
|
jesopo
|
2fc948ab24
|
Don't eat commas when there's no background color or when a comma directly
follows a background color
|
2018-11-14 22:35:13 +00:00 |
|
jesopo
|
81e1f11872
|
Missed a 'message' -> 'ctcp_message'
|
2018-11-14 22:13:31 +00:00 |
|
jesopo
|
1380f6c534
|
Typo in utils.irc, 'message' -> 'ctcp_message'
|
2018-11-14 22:10:45 +00:00 |
|
jesopo
|
19b195eb1d
|
Stop supporting using ansi bold for brightening colors, support ansi background
colors
|
2018-11-14 22:07:34 +00:00 |
|
jesopo
|
378f4b1f93
|
Better parsing of CTCP messages, support raw.send.privmsg/raw.send.notice in
modules/line_handler.py
|
2018-11-14 21:28:27 +00:00 |
|
jesopo
|
ed838193aa
|
Better support passing "send" events through the parsers already present in
modules/line_handler.py
|
2018-11-14 14:41:28 +00:00 |
|
jesopo
|
f7872fac43
|
Typo in src/utils/irc.py, 'resplace' -> 'replace'
|
2018-11-14 13:16:11 +00:00 |
|
jesopo
|
99c2147512
|
Don't assume a reconnect timer event will always have connection_params
|
2018-11-14 13:08:57 +00:00 |
|
jesopo
|
76d9face44
|
You can join color and bold in to one \033 ansi sequence
|
2018-11-14 12:19:31 +00:00 |
|
jesopo
|
0e499a4078
|
Support irc format full reset (\x0F) as ansi reset (\033[0m)
|
2018-11-14 12:13:08 +00:00 |
|
jesopo
|
bbcde2d1d5
|
Use extended ANSI colors to avoid using bold to make colors lighter
|
2018-11-14 11:47:15 +00:00 |
|
jesopo
|
2fcde64bfd
|
'ANSI_RESET' -> 'ANSI_BOLD_RESET' typo, 'ansi_bold' -> 'color_bold'
clarification, fix issue in color tokenizing that caused bolds to be put in the
wrong place
|
2018-11-14 11:44:56 +00:00 |
|
jesopo
|
bcdbb3640c
|
Add type annotions to irc->ansi color functions
|
2018-11-14 10:28:38 +00:00 |
|
jesopo
|
00eb4027ec
|
Only reset ansi bolding when both color-bold and bold are false
|
2018-11-14 08:09:01 +00:00 |
|
jesopo
|
e5f068f660
|
Bold reset is 22, not 21
|
2018-11-13 18:19:37 +00:00 |
|
jesopo
|
5c6aa87470
|
Fix bolding/unbolding code in utils.irc
|
2018-11-13 18:05:25 +00:00 |
|
jesopo
|
d18d28f0a2
|
Apparently '39' is 'font reset' for ansi colors
|
2018-11-13 17:53:37 +00:00 |
|
jesopo
|
f1b54efe77
|
Visual tweak; align "="s in utils.consts
|
2018-11-13 17:43:00 +00:00 |
|
jesopo
|
765ae0fcf9
|
Add code to tokenize and ansi-replace IRC colors; use this in
modules/print_activity.py
|
2018-11-13 17:23:28 +00:00 |
|
jesopo
|
7918f9cc4e
|
Better constifying of COLORs
|
2018-11-13 17:23:18 +00:00 |
|
jesopo
|
8b9062b942
|
Better constifying of color/font chars
|
2018-11-13 16:02:26 +00:00 |
|
jesopo
|
16c4e1bfc6
|
I was accidentally removing two characters from the start of :nick!user@host
|
2018-11-13 15:04:11 +00:00 |
|
jesopo
|
555e8faa03
|
Print MOTD in modules/print_activity.py (after caching it in
modules/line_handler.py)
|
2018-11-13 14:59:47 +00:00 |
|
jesopo
|
e9c9ec778c
|
Add .keys()/.values()/.items to src/IRCChannels.py
|
2018-11-13 11:36:44 +00:00 |
|
jesopo
|
36048be2fb
|
That shouldn't be there
|
2018-11-13 11:36:28 +00:00 |
|
jesopo
|
66643a1bd8
|
Return new user's id in Database.users.add
|
2018-11-13 11:19:43 +00:00 |
|
jesopo
|
8fc7a7652a
|
Return new server_id from Database.servers.add
|
2018-11-13 11:13:04 +00:00 |
|
jesopo
|
73c0c911d4
|
Move logic for adding a server to the database out to utils.cli and add a
--add-server flag for start.py, to add new server
|
2018-11-13 10:40:49 +00:00 |
|
jesopo
|
20b1e8b800
|
Remove unneeded const
|
2018-11-12 17:14:38 +00:00 |
|
jesopo
|
2747999ca6
|
We don't need utils.irc.remove_colon anymore!
|
2018-11-12 17:13:49 +00:00 |
|
jesopo
|
8b135d8310
|
Add type annotionations to src/Timers.py and src/IRCBuffer.py
|
2018-11-11 19:12:59 +00:00 |
|
jesopo
|
db1e2ea406
|
Add missing imports and Channel namespacing to src/IRCChannel.py
|
2018-11-11 16:11:45 +00:00 |
|
jesopo
|
a9b6086c70
|
Split out Channels in to IRCChannels.Channels, not IRCChannel.Channels
|
2018-11-11 14:53:16 +00:00 |
|
jesopo
|
0f53d2e828
|
Fix type annotations for utils.parse.keyvalue
|
2018-11-11 14:43:31 +00:00 |
|
jesopo
|
6bb03c4519
|
Don't implicitly create channels, explicitly create channels when we join one
|
2018-11-11 13:03:54 +00:00 |
|
jesopo
|
e29cc1c52c
|
Implement __len__ on src/IRCChannel.py.Channels
|
2018-11-11 12:52:30 +00:00 |
|
jesopo
|
4e06a52bd9
|
Copypaste fail in src/IRCChannel.py, 'self.id' -> 'self._server.id'
|
2018-11-11 12:49:34 +00:00 |
|
jesopo
|
f6a997e3b9
|
Copypaste fail in src/IRCChannel.py, 'self.bot' -> 'self._bot'
|
2018-11-11 12:48:30 +00:00 |
|
jesopo
|
e133401ed9
|
Copypaste fail in src/IRCChannel, 'get_channel_id' -> '_get_id'
|
2018-11-11 12:47:02 +00:00 |
|
jesopo
|
32dccc65e0
|
Typin in src/IRCChannel.py, 'self._add' -> 'self.add'
|
2018-11-11 12:46:14 +00:00 |
|
jesopo
|
8eef9a612d
|
Readd line I accidentally removed in src/Database.py
|
2018-11-11 12:45:10 +00:00 |
|
jesopo
|
245c4599dd
|
Typo in src/IRCChannel.py, 'Iterable' -> 'typing.Iterable'
|
2018-11-11 12:43:39 +00:00 |
|
jesopo
|
0248c7503a
|
Forgot to import EventManager in src/IRCChannel.py
|
2018-11-11 12:43:11 +00:00 |
|
jesopo
|
44393a3170
|
Add missing ":" in src/IRCChannel.py
|
2018-11-11 12:41:31 +00:00 |
|
jesopo
|
c84205ed9b
|
Add a threading.Lock() around cursor.execute(...) in Database.py
|
2018-11-11 12:40:24 +00:00 |
|
jesopo
|
2816fe67bb
|
Move channel tracking data/functions to src/IRCChannel.Channels
|
2018-11-11 12:34:22 +00:00 |
|
jesopo
|
4bab1aea30
|
Add a way to more explicitly denote when a CAP handshake has ended early
|
2018-11-09 10:43:05 +00:00 |
|
jesopo
|
a2292eb439
|
Filter out empty items in utils.parse.keyvalue
|
2018-11-08 22:41:30 +00:00 |
|
jesopo
|
3ff68dc427
|
Support passing unrestricted args between connections
|
2018-11-08 17:09:07 +00:00 |
|
jesopo
|
6bf6905262
|
Keep a track of bytes written and read per server
|
2018-11-08 13:31:05 +00:00 |
|
jesopo
|
26a16a7762
|
Keep a dict of isupport key:values on IRCServer.Server
|
2018-11-08 12:34:30 +00:00 |
|
jesopo
|
03cae696c1
|
Technically, we only need to unescape non-json message-tag *values*
|
2018-11-08 11:52:53 +00:00 |
|
jesopo
|
0c6d54f5fd
|
Only mesage-tag unescape non-json tags after we split on ";"
|
2018-11-08 11:43:32 +00:00 |
|
jesopo
|
729d1424ed
|
Unescape message-tags as per spec Escaping Rules
|
2018-11-08 11:37:23 +00:00 |
|
jesopo
|
5e7b335d04
|
Fix issues that were introduced in message-tag parsing when I added support for
JSON message tags
|
2018-11-08 11:13:24 +00:00 |
|
jesopo
|
3d00a1e15a
|
Explicitly denote when an :arbitrary arg is present in an IRCLine
|
2018-11-08 10:36:40 +00:00 |
|
jesopo
|
dccb460e5c
|
'rename_channel' -> 'rename' in src/Database.channels
|
2018-11-05 21:39:00 +00:00 |
|
jesopo
|
0a70fda6dc
|
Don't pass connection_params through to reconnect in normal circumstances
|
2018-11-05 20:51:51 +00:00 |
|