dngfx
febb6d66e3
font reset at the beginning of commands to stop wonkiness with highlighting and fix duck decoys.
2018-09-22 19:10:52 +01:00
dngfx
000ee14711
Make tweets say Twitter instead of tweets, and update ducks to add decoys and make minimum/unique a channel setting rather than hard setting.
2018-09-22 16:02:39 +01:00
jesopo
3c3583e30c
Disable sed by default
2018-09-21 11:55:17 +01:00
jesopo
a87196c608
Change Utils.color to take a string to wrap in color
2018-09-21 11:39:09 +01:00
jesopo
62df014b29
Don't pass around full server details more than we have to.
2018-09-21 11:34:38 +01:00
jesopo
cc371e3ae0
Update a user's ircv3 account if a PRIVMSG has an "account" tag
2018-09-21 10:35:18 +01:00
jesopo
02d361c8b6
Show logging timestamp as UTC/GMT
2018-09-21 10:35:05 +01:00
jesopo
7108b05bc0
Only accept PROTOCOL_TLS as SSL handshake version
2018-09-19 14:44:28 +01:00
jesopo
ecb8698fb7
Don't send ducks when they're disabled.
2018-09-19 14:28:59 +01:00
jesopo
a0bb738abc
Add eval.py
2018-09-19 14:14:51 +01:00
jesopo
287d031281
Add ModuleManager.BaseModule so modules don't *have* to implement __init__
2018-09-19 13:28:18 +01:00
jesopo
fcbb7c960c
Refactor everything to use delimited events
2018-09-19 13:25:12 +01:00
jesopo
b86ca6088f
Fix some styling in ducks.py
2018-09-19 13:23:18 +01:00
jesopo
b8aca72861
Support hooking functions in modules with @Utils.hook
2018-09-19 12:37:41 +01:00
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