jesopo
f3d8d35083
Send a FONT_RESET (\x0F) after stderr module names because a bug in weechat
...
pre-2.2 means that because red colors are displayed as red+bold, the second
FONT_COLOR (\x03) only resets the red coloring, not the bold, meaning the rest
of the line is bold.
2018-09-19 02:22:30 +01:00
jesopo
b3609db92c
Actually remove channels from channel_save when the bot leaves the channel
2018-09-19 01:41:53 +01:00
jesopo
702b6a4dd3
permissions._identified takes server, user and nickname
2018-09-19 01:19:04 +01:00
jesopo
7331443631
Handle pre-register server NOTICES like :server NOTICE Auth :text
2018-09-19 01:14:13 +01:00
jesopo
b7dda02951
Add optional aliases for IRCServers, mostly to make logging prettier.
2018-09-19 01:13:54 +01:00
jesopo
2abb3c6787
Only allow the register command on networks that support internal identity
2018-09-19 00:45:14 +01:00
jesopo
e6f25e31db
User.id doesn't exist anymore; it's User.get_id()
2018-09-19 00:45:01 +01:00
jesopo
11e62bb945
Fix exception in commands.py any time anyone sends an empty or
...
whitespace-prefixed PRIVMSG
2018-09-19 00:44:04 +01:00
jesopo
af01bccaa5
Change log level to show in logs as "[LEVEL]" instead of " - LEVEL - "
2018-09-19 00:43:44 +01:00
jesopo
0c7d088230
Set IRCServer.channel_types to ["#"] by default
2018-09-17 22:08:54 +01:00
jesopo
fda223ee46
Implement __str__ and __repr__ on Utils.IRCHostmask
2018-09-17 21:49:32 +01:00
jesopo
4a3dbeb7b8
Also catch socket.timeout in IRCServer.read()
2018-09-17 20:59:50 +01:00
jesopo
c3e667e0a1
When we get a command without *any* arguments e.g. ":nick!user@host AWAY" don't
...
continue to parse that when we've seperated hostmask and command
2018-09-17 20:19:57 +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
f796fddee5
Typo in sasl.py; proceed with sasl regardless of mechanism when using CAP 3.1
2018-09-17 13:25:11 +01:00
jesopo
b07da8c8c0
Fix a copypaste fail that caused sasl.py to have two sasl_success functions
2018-09-17 13:10:22 +01:00
jesopo
840957fda4
Utils.irc_lower was returning an unchanged string because .replace on a string
...
returns a new string
2018-09-17 13:09:45 +01:00
jesopo
9bb81253cb
In handling raw.part, remove_channel after calling self.part instead of before
2018-09-17 13:09:22 +01:00
jesopo
007ffec762
Handle 904 (ERR_SASLFAIL) in sasl.py
2018-09-17 12:57:03 +01:00
jesopo
d522997992
Don't just listen for 'sasl=PLAIN' in IRCv3 CAP 3.2
2018-09-17 11:49:23 +01:00
jesopo
c3482e78ba
Add ability to not vertify a server's certificate ('ssl-verify')
2018-09-17 11:38:40 +01:00
jesopo
fad61c2664
Support EXTERNAL sasl authentication
2018-09-17 11:31:40 +01:00
jesopo
bb5ff8ee0d
Fix highlight checking in commands.py
2018-09-17 11:31:29 +01:00
jesopo
e2e4184bdc
Ignore .key/.crt in .gitignore
2018-09-17 10:55:53 +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
b768ba71ed
Don't pass nickname!username@hostname through to IRCChannel's add_mode on
...
/NAMES resposne
2018-09-14 10:43:52 +01:00
jesopo
1eed727bc5
Add !enablemodule and !disablemodule to modules.py
2018-09-13 13:35:05 +01:00
jesopo
b4397071ed
Oops, this isn't C#.
2018-09-13 11:50:18 +01:00
jesopo
8e003281b6
Support "nickname@hostname" hostmask, even though it's almost certain it'll
...
never be seen in the wild.
2018-09-13 11:46:42 +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
6db97c7df5
join.py -> bot_channel.py, make the bot channel (default #bitbot) configurable
2018-09-12 15:44:50 +01:00
jesopo
461b4f4083
Add missing argument to Utils._multi_replace calls in irc_lower
2018-09-12 13:48:19 +01:00
jesopo
bb372964d6
.lower() is also not valid for ascii case mapping
2018-09-12 10:33:01 +01:00
jesopo
362bf7cec7
.lower() is not valid as "Á" is not the same as "á" within RFC1459 casemapping
2018-09-12 10:28:06 +01:00
jesopo
08aa72de82
Support 'strict-rfc1459' case mapping
2018-09-12 10:18:12 +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
788ba239e5
Fix weird double indentation in IRCBot.py
2018-09-11 18:25:01 +01:00
jesopo
614f63bda3
Remove boot_time from stats.py, move it to start_time in IRCBot otherwise a
...
module reload of stats.py would reset !uptime
2018-09-11 18:24:34 +01:00
jesopo
80ec110640
Utils.irc_lower and Utils.irc_equals take an IRCServer parameter
2018-09-11 10:15:16 +01:00
jesopo
a8bf248d47
Fix copypaste fail in Utils that meant we had no RFC1459_LOWER
2018-09-11 10:14:37 +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
7530bb7cbd
Pass around an IRCPrefix object instead of "nickname!username@hostname", fix a
...
bug in TAGMSG handling that was trying to get a user object from a channel, fix
a bug in ACCOUNT handling that was literally using "nickname" as a user's
nickname, instead of the parsed nickname.
2018-09-10 09:31:24 +01:00
jesopo
35ae1a57c7
Handle CHGHOST referencing the bot instead of another user
2018-09-10 09:10:43 +01:00
jesopo
ae78324c44
Typo, event["server"] -> server
2018-09-10 08:58:15 +01:00
jesopo
9916618889
Send '111' as the default WHOX token, not '001', as some servers cut that down
...
to '1'
2018-09-10 08:57:41 +01:00
jesopo
78171f7504
Add support for IRCv3's batch and draft/labeled-response
2018-09-10 08:57:10 +01:00
jesopo
aca5d78cee
Standardise the "last" argument of a line; be that an :arbitrary or just the
...
last argument.
2018-09-10 08:56:21 +01:00