Commit graph

728 commits

Author SHA1 Message Date
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
jesopo
451b4e7207 Fix a copypaste fail that pointed TAGMSG at ACCOUNT handling code 2018-09-09 23:23:16 +01:00
jesopo
e4a8ba06ca bitly-api-key isn't used anymore 2018-09-09 22:02:40 +01:00
jesopo
b902b2fb0c
Merge pull request #22 from dngfx/master
Replace bit.ly with is.gd
2018-09-09 21:59:30 +01:00
dngfx
5d8ad6a37a Replace bit.ly with is.gd. No API key, no beeping Bit. It's a win win! 2018-09-09 21:47:28 +01:00
jesopo
1172565ed6
Merge pull request #21 from dngfx/master
Fix regex in karma.py
2018-09-09 18:41:46 +01:00
dngfx
169d1705ac There's nothing regular about these expressions. 2018-09-09 18:39:56 +01:00
Dan
5cb70f7a7e
Merge pull request #8 from jesopo/master
Regex is dumb.
2018-09-09 17:36:47 +01:00
jesopo
4eaf9e5aeb Fix an incorrect call to event["stderr"] in karma.py 2018-09-09 17:34:44 +01:00
jesopo
59912776c1 Make commands be processed under received.message.* at PRIORITY_LOW, eat the
event when it's done, change karma.py to use PRIORITY_MONITOR
2018-09-09 17:09:04 +01:00
jesopo
2a37e10533 Change default priority to "medium", add priority lower than "low" ("monitor") 2018-09-09 17:08:38 +01:00
Dan
6ec7f95f6c
Pull in some more (#7)
* call_for_result should have a max of 1, not 0

* Tidy up indentation in tweets.py

* Change bitly.py to use delimited events
2018-09-09 16:26:03 +01:00
jesopo
908d64f5c6 Change bitly.py to use delimited events 2018-09-09 16:11:15 +01:00