jesopo
|
ecb9d7cb3f
|
Move most code in root directory to src/
|
2018-09-24 15:13:27 +01:00 |
|
jesopo
|
7108b05bc0
|
Only accept PROTOCOL_TLS as SSL handshake version
|
2018-09-19 14:44:28 +01:00 |
|
jesopo
|
fcbb7c960c
|
Refactor everything to use delimited events
|
2018-09-19 13:25:12 +01:00 |
|
jesopo
|
b7dda02951
|
Add optional aliases for IRCServers, mostly to make logging prettier.
|
2018-09-19 01:13:54 +01:00 |
|
jesopo
|
0c7d088230
|
Set IRCServer.channel_types to ["#"] by default
|
2018-09-17 22:08:54 +01:00 |
|
jesopo
|
4a3dbeb7b8
|
Also catch socket.timeout in IRCServer.read()
|
2018-09-17 20:59:50 +01:00 |
|
jesopo
|
17f318acb6
|
'USER <username> 0 * :<realname>' is technically more correct, per RFC2812, than
"USER <username> - - :<realname>'
|
2018-09-17 13:49:48 +01:00 |
|
jesopo
|
c3482e78ba
|
Add ability to not vertify a server's certificate ('ssl-verify')
|
2018-09-17 11:38:40 +01:00 |
|
jesopo
|
d307fab507
|
Add support for TLS client certificate/key
|
2018-09-17 10:55:39 +01:00 |
|
jesopo
|
3576f18a82
|
Verify server TLS certificates
|
2018-09-17 10:47:08 +01:00 |
|
jesopo
|
e8c7abd19a
|
Remove additional %
|
2018-09-13 10:27:50 +01:00 |
|
jesopo
|
36fe1fa0d5
|
Specific "n%" for WHOX as to only return nicks.
|
2018-09-13 10:25:33 +01:00 |
|
jesopo
|
58bc741177
|
Don't return 0 as "time until next ping" when we've already sent a ping. return
None instead.
|
2018-09-11 18:25:27 +01:00 |
|
jesopo
|
80ec110640
|
Utils.irc_lower and Utils.irc_equals take an IRCServer parameter
|
2018-09-11 10:15:16 +01:00 |
|
jesopo
|
9236327366
|
Forgot to import Utils in IRCServer
|
2018-09-11 10:14:12 +01:00 |
|
jesopo
|
6c8399fa0f
|
Respect RFC1459 casemapping rules
|
2018-09-11 08:52:12 +01:00 |
|
jesopo
|
78171f7504
|
Add support for IRCv3's batch and draft/labeled-response
|
2018-09-10 08:57:10 +01:00 |
|
jesopo
|
a4f0d1bf28
|
Support IRCv3's tls/STARTTLS
|
2018-09-07 16:34:51 +01:00 |
|
jesopo
|
7e3d7542b9
|
Support CAP 3.2
|
2018-09-07 15:51:41 +01:00 |
|
jesopo
|
f2aeaf7797
|
Don't use IRCUser.id ever, use IRCUser.get_id()
|
2018-09-05 12:58:12 +01:00 |
|
jesopo
|
6bd6f2492b
|
Support IRCv3's account-notify/extended-join along with WHOX to replace internal
register/identify
|
2018-09-05 11:58:10 +01:00 |
|
jesopo
|
d90a5164da
|
Nope, revert echo-message support. a certain network only offers it in channel,
not private.
|
2018-09-03 22:32:48 +01:00 |
|
jesopo
|
1c474771c5
|
Support IRCv3's echo-message
|
2018-09-03 22:17:34 +01:00 |
|
jesopo
|
759cd64f33
|
Keep a list of CAP capabilities in IRCServer
|
2018-09-03 22:17:01 +01:00 |
|
jesopo
|
9d95581c44
|
Support IRCv3's chghost and invite-notify
|
2018-09-03 11:47:11 +01:00 |
|
jesopo
|
0f578b1ec1
|
Send CAP END when we're not waiting for any capability handshakes
|
2018-09-03 11:18:20 +01:00 |
|
jesopo
|
29851d4305
|
Make CAP functionality more part of the framework and support message-tags and
multi-prefix
|
2018-09-03 11:14:52 +01:00 |
|
jesopo
|
525de94c02
|
Actually, we do need find_all_by_setting
|
2018-08-31 15:34:56 +01:00 |
|
jesopo
|
9874f79b49
|
Give modules event objects with "context"s, to facilitate purging all the event
hooks for a module
|
2018-08-31 12:55:52 +01:00 |
|
jesopo
|
c5d445c715
|
IRCServer.remove_own_mode doesn't take an "arg"
|
2018-08-30 11:17:00 +01:00 |
|
jesopo
|
9b7c7035f9
|
Refactor handling MODE in IRCLineHandler
|
2018-08-30 11:12:48 +01:00 |
|
jesopo
|
43ab3cbd10
|
Factor ping interval and ping timeout in to the main loop's minimum interval
|
2018-08-29 14:33:27 +01:00 |
|
jesopo
|
fead75cd2f
|
Refactor IRCLineHandler in to an object that uses .on("raw") events
|
2018-08-29 12:20:25 +01:00 |
|
jesopo
|
a4a12a70c4
|
Change throttling mechanics to be "x lines per y seconds"
|
2018-08-29 08:38:43 +01:00 |
|
jesopo
|
ab9869aecb
|
Change verbose logging to use propper logging system
|
2018-08-28 17:30:52 +01:00 |
|
jesopo
|
423eacaefe
|
Do throttling based on line count, not byte count
|
2018-08-28 17:30:14 +01:00 |
|
jesopo
|
2728a8422f
|
change IRCServer.Server.__str__ to return hostname:port instead of full __repr__
|
2018-08-28 16:05:43 +01:00 |
|
jesopo
|
527d548743
|
Seperate .waiting_send() and throttle logic
|
2018-08-28 15:32:50 +01:00 |
|
jesopo
|
ab543022c4
|
Improve IRCServer.Server's __repr__
|
2018-08-28 15:14:41 +01:00 |
|
jesopo
|
ef16817ad5
|
Switch to time.monotonic for comparisons, only send data at most once every .5
seconds and only send max 512 bytes at a time
|
2018-08-28 14:36:16 +01:00 |
|
jesopo
|
e5a5fa5c4b
|
modules/logging.py -> IRCLogging.py; IRCLog.py -> IRCBuffer.py; change logging
to be an object on the server object instead of an event call
|
2018-08-28 12:23:57 +01:00 |
|
jesopo
|
3bb54a4808
|
upate IRCUser.id when a user changes their nickname
|
2018-08-19 10:19:54 +01:00 |
|
jesopo
|
9a3f2e5de6
|
Change the database to give channels and users ids and use those in the settings
tables
|
2018-08-19 00:19:53 +01:00 |
|
jesopo
|
ce05b98f61
|
Moved table-specific logic to their own "table" classes in Database.py
|
2018-08-05 22:41:38 +01:00 |
|
jesopo
|
558b368b1a
|
Only get "fallback-encoding" setting when we need it
|
2018-08-05 11:42:25 +01:00 |
|
jesopo
|
fbd6975351
|
Remove debug print, improve wikipedia.py
|
2018-08-04 12:48:38 +01:00 |
|
jesopo
|
21c1db2965
|
nickname_ids was useless
|
2018-08-04 12:10:10 +01:00 |
|
jesopo
|
ffd41d0771
|
Added addition "find" methods to Database.py, along with a "get all" for user
settings to search without a nickname
|
2018-08-03 13:43:45 +01:00 |
|
jesopo
|
2ea2dd17da
|
implemented handling notices in IRCLineHandler, including server notices
|
2018-07-22 21:46:22 +01:00 |
|
jesopo
|
d0ef4432b3
|
move sending CAP sasl request to sasl.py
|
2018-07-16 21:41:39 +01:00 |
|