James Lu
c40250330d
ctcp: log the service bot receiving CTCP messages
2018-02-18 23:13:44 -08:00
James Lu
e68db3689d
Rewrite the CTCP plugin
...
- Extend CTCP replies to all service bots - closes #468 .
- Use a generic hook handler instead of wrapping around the commands handler (#407 ).
This code takes advantage of the hook suppression feature introduced in 2e66b9bde6
(#547 ).
2018-02-18 23:11:36 -08:00
James Lu
2e66b9bde6
classes: allow hook functions to block further execution by returning False
...
Closes #547 .
2018-02-18 22:42:39 -08:00
James Lu
4a01948647
relay: oops, multiple STATUSMSG prefixes should pick the lowest, not highest ( #570 )
...
This behaviour really isn't consistent across IRCds though...
- Unreal, Hybrid, and charybdis mangle messages at the server side to use the lowest prefix
- InspIRCd throws a "No such nick/channel" error
- Nefarious silently drops messages with multiple prefixes?
2018-02-18 22:29:16 -08:00
James Lu
37be73d39c
clientbot: add STATUSMSG support ( #570 )
2018-02-18 22:15:19 -08:00
James Lu
81bd1e8474
relay: add basic support for STATUSMSG ( #570 )
...
So far, this code only knows about changing prefixes while keeping mode characters as-is.
A complete but longer solution would be to actually go through irc.cmodes, but I don't
think doing so is necessary given how little STATUSMSG is actually used in production.
2018-02-18 22:03:12 -08:00
James Lu
1405b01597
ServiceBot: clean up some function descriptions
2018-02-18 19:40:46 -08:00
James Lu
484822e5d7
docs: various fixes pointed out by @MrBenC
...
- Clarify the project's goals of being an IRC services *framework*
- Briefly mention in the FAQ that the relay plugin is needed for...well, relay!
[skip ci]
2018-02-17 00:50:12 -08:00
James Lu
7114c6942f
README: the shared{} requirement for KLINEs likely applies to chatircd too
2018-02-12 11:18:48 -08:00
James Lu
8321485315
launcher: prevent protocol module init errors from aborting execution
...
This fixes various issues including:
- Networks going missing (the server list is read in a non-deterministic order)
- world.started never being set, causing relay to never work!
2018-02-10 16:17:18 -08:00
James Lu
3f7e2328fe
relay: make endburst delay configurable
...
Also, raise the default to 10 seconds.
2018-02-10 15:53:49 -08:00
James Lu
ea84497359
protocols: remove the endburst_delay option from spawn_server
...
Interestingly, this was never documented in the protocol module spec...
2018-02-10 15:44:09 -08:00
James Lu
a425f873b5
relay, inspircd: move endburst delay code to a private API
...
This is a very specific hack that shouldn't be extended across the protocol module spec. So far, all other protocol modules ignore the endburst_delay option anyways.
2018-02-10 15:34:07 -08:00
James Lu
ccbd79a95c
relay: fix KeyError when a local client is kicked from a claimed channel
...
Fixes #572 .
2018-02-10 15:12:40 -08:00
James Lu
18c1a277f5
clientbot: remove extraneous use of to_lower() in handle_part
2018-01-31 19:35:24 -08:00
James Lu
74848853ac
clientbot: fix KeyError caused by lower() in spawn_server
...
This affected connections to afternet for example.
2018-01-31 19:33:05 -08:00
James Lu
9f6e4306cd
automode: fix handling of channels with multiple #'s in them
...
(cherry-picked from commit 09c8b03705
)
2018-01-29 08:21:37 -08:00
James Lu
84f6190478
inspircd: only read METADATA modules changes from the uplink
...
Closes #567 .
2018-01-25 09:52:29 -08:00
James Lu
28a62f629a
automode: replace assert usage with proper exceptions
2018-01-22 08:17:20 -08:00
James Lu
09c8b03705
automode: fix handling of channels with multiple #'s in them
2018-01-22 08:15:04 -08:00
James Lu
5fd216c720
commands: fix 'showchan' displaying status prefixes in reverse
2018-01-22 08:10:55 -08:00
James Lu
d608661a33
permissions-reference: document perms for 'raw' plugin
2018-01-21 13:52:29 -08:00
James Lu
8000d51453
Split the 'raw' command into a new plugin
...
Closes #565 .
2018-01-21 13:50:37 -08:00
James Lu
e446e0e27b
control: continue handling SIGUSR1 as rehash for compat with older 2.0 versions
2018-01-21 13:36:29 -08:00
James Lu
44be5910e0
Revert "control: move rehash signal to SIGUSR1, and shutdown on SIGHUP (terminal close)"
...
This wasn't an incredibly popular decision because it broke a simple 'pylink &'
This reverts commit 883f9199ec
.
Conflicts:
coremods/control.py
2018-01-21 13:31:15 -08:00
James Lu
6bb2198710
inspircd: move _modsupport.clear() to a _post_disconnect override
...
Speculative fix for #567 .
This may be caused by a race condition between post_connect and handle_capab, since the remote server can send its server data before we start sending ours.
2018-01-21 13:27:59 -08:00
James Lu
67dea6f748
classes: add docstrings to _pre_connect, _pre_disconnect, _post_disconnect
2018-01-21 13:20:42 -08:00
James Lu
58b717a2a0
docs/t: warn in main articles that specifications in master may be outdated
...
[skip ci]
2018-01-13 18:29:57 -08:00
James Lu
31c96bd1ed
hooks-reference: bump to 2.0-alpha2
...
- Replace `IrcChannel`, `IrcUser`, and `IrcServer` with their new class names (`classes.Channel`, `classes.User`, and `classes.Server`)
- Replace `irc.fullVersion()` with `irc.version()`
- Various minor wording tweaks.
2018-01-13 18:23:12 -08:00
James Lu
06ee01b7a7
hooks-reference: don't use the wrong terminology in example channel names
2018-01-13 18:23:12 -08:00
James Lu
7a51220309
relay: match P10 WALL* commands as notices
2018-01-08 20:56:06 -08:00
James Lu
ec9063b9e8
Revert "relay: differentiate between PRIVMSG vs. NOTICE via a blacklist"
...
This reverts commit d81a9cd5c3
.
2018-01-08 20:56:06 -08:00
James Lu
bcb0fecfa8
PyLink 2.0-alpha2
2018-01-06 17:30:50 -08:00
James Lu
ce3b1152b2
modelists: fix page title for extbans table
...
[skip ci]
2018-01-05 18:46:08 -08:00
James Lu
7a32e7d8a2
global: ignore empty "global:" configuration blocks
...
(cherry picked from commit 15a231a371
)
2018-01-03 08:01:27 -08:00
James Lu
d5d140f4b0
p10: fix hashed cloaks check reading from the wrong config variable
...
(cherry picked from commit 043a147b41
)
Conflicts:
protocols/p10.py
2018-01-02 20:38:12 -08:00
James Lu
f8abdd1244
RELNOTES: update for previous commit
2017-12-31 12:09:52 -08:00
James Lu
043a147b41
p10: fix hashed cloaks check reading from the wrong config variable
2017-12-31 12:09:36 -08:00
James Lu
3d661c9713
RELNOTES: update 2.0-alpha2 changes so far
2017-12-30 01:34:33 -08:00
James Lu
ba4e0aed85
example-conf: reword description for servers::<netname>::relay_forcetag_nicks
2017-12-30 01:33:14 -08:00
James Lu
60c05af9ed
relay: allow defining server-specific nicks to always tags
...
Closes #564 .
2017-12-30 01:22:24 -08:00
James Lu
56fa626605
inspircd: use clear() instead of replacing the _modsupport set
...
Maybe this will fix issues with _modsupport not being completely filled?
2017-12-27 11:48:00 -08:00
James Lu
7c0d279f61
inspircd: raise NotImplementedError instead of only warning when a CHG* module is missing
2017-12-22 12:41:48 -08:00
James Lu
92427201f1
inspircd: track module (un)loading
...
Closes #555 .
2017-12-22 12:38:48 -08:00
James Lu
c62580d228
bots: don't allow 'spawnclient' on protocols where it is stubbed
2017-12-22 12:28:27 -08:00
James Lu
958bb351ca
clientbot: log warnings if the bot cannot join a channel
...
Closes #533 .
This adds handlers for the following numerics:
* ERR_TOOMANYCHANNELS (405)
* ERR_CHANNELISFULL (471)
* ERR_INVITEONLYCHAN (473)
* ERR_BANNEDFROMCHAN (474)
* ERR_BADCHANNELKEY (475)
* ERR_BADCHANMASK (476)
* ERR_NEEDREGGEDNICK (477)
* ERR_BADCHANNAME (479)
* ERR_SECUREONLYCHAN / ERR_SSLONLYCHAN (489)
* ERR_DELAYREJOIN (495)
* ERR_OPERONLY (520)
2017-12-22 12:28:27 -08:00
James Lu
7afe193259
bots: fix KeyError when attempting to join a channel not in the index
2017-12-22 12:28:27 -08:00
James Lu
444d8c53bb
RELNOTES: fix wacky line spacing
...
[skip ci]
2017-12-22 01:05:40 -08:00
James Lu
5b2fdc94e7
RELNOTES: add a list of changes since 2.0-alpha1 so far
2017-12-22 01:03:19 -08:00
James Lu
dbc9d1690d
setup: update PyPI classifiers
...
- Declare Python 3.6 support
- Change development status to Production/Stable
2017-12-22 00:07:49 -08:00