James Lu
fb6aa88d83
Merge branch 'relay-linkacl-whitelist' into devel
...
Closes #394 .
2018-05-11 12:58:45 -07:00
James Lu
77a6d69f29
RELNOTES: more changelog clarifications and fixes for 2.0-alpha3
...
[skip ci]
2018-05-10 17:42:53 -07:00
James Lu
16f630560e
PyLink 2.0-alpha3
2018-05-10 17:34:52 -07:00
James Lu
613e6412a2
networks.remote: properly error if the target service is not available on the target network
...
Closes #554 .
2018-05-10 16:06:16 -07:00
James Lu
30c1980b59
relay: consistently use bold instead of repr in LINKACL output
2018-05-09 23:33:00 -07:00
James Lu
0ae4aea133
relay: add a whitelist mode for LINKACL ( #394 )
2018-05-09 23:29:56 -07:00
James Lu
f1b3d8d0ad
README: typo fix
...
[skip ci]
2018-05-09 22:47:16 -07:00
James Lu
d1ac33a1af
utils: remove references to deprecated irc.proto
2018-05-09 22:44:36 -07:00
James Lu
64a98120bf
relay: remove references to deprecated irc.proto
2018-05-09 22:44:17 -07:00
James Lu
3120fa5396
clientbot: stop sending duplicate JOIN hooks
...
Also set _clientbot_initial_who_received on 315/ENDOFWHO, instead of on the first /who response we get.
Really fixes #551 .
2018-05-09 22:31:19 -07:00
James Lu
451db74f0c
clientbot: don't send duplicate away statuses
2018-05-09 22:23:14 -07:00
James Lu
f54382534c
kick and kill should raise NotImplementedError when not supported by a protocol
...
Closes #605 .
2018-05-09 22:19:03 -07:00
James Lu
b50ae89acc
relay: check service bot status before remote user presence
...
add_persistent_channels() is usable regardless of whether the service bot is ready, so we do not need to break if the remote copy of the service bot doesn't exist.
Closes #606 .
2018-05-09 21:44:04 -07:00
James Lu
f3c2149d7a
relay: fix variable confusion when managing service bots
...
We should be checking for service bot presence locally, and applying changes on the *remote* network.
2018-05-09 21:34:17 -07:00
James Lu
0c19b3719e
automode: clarify comments to main() slightly
2018-05-09 21:29:20 -07:00
James Lu
c44aa64503
services_support: check service bot state, not is_internal_client before dynamically parting channels
...
If a channel still has e.g. relay users when the last local user leaves the channel, the services bots should stay put.
2018-05-09 20:47:51 -07:00
James Lu
d46c494351
faq: move service bot issues under a separate heading
...
[skip ci]
(cherry picked from commit eb078056e1
)
2018-05-08 13:37:22 -07:00
James Lu
b5133aebbb
faq: more minor edits
...
[skip ci]
(cherry picked from commit 030facdb75
)
2018-05-08 13:37:22 -07:00
James Lu
940ff357c9
faq: add links to YAML guides, complete with a mini-rant on YAML misconceptions
...
[skip ci]
(cherry picked from commit 074019b77a
)
2018-05-08 13:37:22 -07:00
James Lu
a425015c13
faq: link to the new Disabling Colors/Control Codes section in adv-relay-config
...
(cherry picked from commit 0ce80f0ede
)
2018-05-08 13:37:22 -07:00
James Lu
19c9d4031d
Add a donate badge
...
[skip ci]
(cherry picked from commit d0568a6ad7
)
2018-05-08 13:37:22 -07:00
James Lu
83dd37c4e7
Drop pypandoc stuff and use Markdown descriptions on PyPI
...
(cherry picked from commit 8a09f321da
)
2018-05-08 13:37:22 -07:00
James Lu
f06a8f09b4
docs/adv-relay-config: resync with master
...
Remaining changes: restore documentation for
- $mode_prefix in Custom Clientbot Styles
- The relay_endburst_delay option on InspIRCd networks
[skip ci]
2018-05-08 13:36:20 -07:00
James Lu
09d2f99855
RELNOTES: refresh with more 2.0-alpha3 changes
...
[skip ci]
2018-05-06 11:39:48 -07:00
James Lu
2f6c8d2938
Revert "relay: shortcut get_remote_user some more; only grab spawn lock if the user doesn't exist"
...
This seems to have caused sporadic duplicate user spawns once more (#602 )
This reverts commit 0bc24c94b2
.
2018-05-05 23:17:24 -07:00
James Lu
c71e9a6410
Merge branch 'services-v3' into devel
...
- Revamp persistent channel registration to be plugin specific, effectively working around relay-services conflicts (closes #265 )
- New abstraction in ServiceBot: add/remove_persistent_channel() to manage persistent channels independently of explicit joins and parts
- Introduce ServiceBot.part(), which sends a part "request" that succeeds only if a channel is not marked persistent by any plugin
- Replace ServiceBot.join() calls with the new registration mechanism, which queues joins instead of dropping them if the service client is not yet ready (closes #596 )
2018-05-05 23:17:10 -07:00
James Lu
5a0cb9a4ff
automode: add/remove persistent channels on set/del/clearacc
2018-05-05 21:51:27 -07:00
James Lu
8aa67b93fa
automode: also rejoin DB channels on reload
2018-05-05 21:10:08 -07:00
James Lu
bf4863eb6d
relay, ServiceBot: remove dead code
2018-05-05 13:20:55 -07:00
James Lu
72c2fa38e9
relay: consistently use "Channel delinked." as part message for service bots too
2018-05-05 13:19:57 -07:00
James Lu
c7da7f0025
ServiceBot: allow sending service parts with reasons
2018-05-05 13:19:43 -07:00
James Lu
61d7bf18d3
relay: also attempt to part the PyLink service bot on delink
2018-05-05 13:15:17 -07:00
James Lu
2532042506
services_support: raise endburst handler priority
...
Other plugins may implement endburst handlers assuming that their service bots have already been created.
2018-05-05 13:07:28 -07:00
James Lu
01c22aac21
Revert "service_support: consistently rejoin all channels on kick and kill"
...
This is no longer needed with plugin-specific persistent channels.
This reverts commit 3c9dac7e6b
.
2018-05-05 13:07:07 -07:00
James Lu
92be421fad
relay: attempt to remove persistent channels on delink as well
...
Also, wrap remove_persistent_channel calls with a try/except when they may fail.
2018-05-05 12:57:17 -07:00
James Lu
8994811f54
relay: further fixes for persistent channels
...
Also, merge the 'relay_local' and 'relay_remote' namespaces into one.
2018-05-05 12:52:00 -07:00
James Lu
e9fe15bd7d
[WIP] Further revise the persistent channels implementation
...
- Make dynamic_channels per plugin as well as per network to work around relay-service conflicts (#265 )
- Introduce ServiceBot.(add|remove)_persistent_channel() to add/remove persistent channels and optionally join/part them
- Introduce ServiceBot.part(), which checks remaining persistent channels list and parts a channel only if it is still not marked persistent
- Refactor automode to autojoin channels on ENDBURST instead of plugin load
- Refactor relay to manage persistent channels on join/part/(de)init, both locally (namespace 'relay_local') and remotely (namespace 'relay_remote')
2018-05-04 22:52:26 -07:00
James Lu
b46ab844fe
classes: really fix KeyError crashes on duplicate QUIT
2018-04-30 11:11:14 -07:00
James Lu
8eba402a33
clientbot: drop pre-WHO join bursting with userhost-in-names, it's too unreliable
...
Closes #602 .
Closes #551 .
2018-04-24 12:39:29 -07:00
James Lu
e96081aa6e
PyLinkNetworkCore: make deletion from self.users non-fatal
2018-04-20 19:39:35 -07:00
James Lu
af744123e6
automode: join channels regardless of whether they're empty
2018-04-20 19:35:06 -07:00
James Lu
0ead868546
service_support: skip dynamic join/part hooks on bot-only servers
2018-04-20 19:35:06 -07:00
Ken Spencer
78d1d20856
adv-relay-config: fix colons so they match example-conf ( #598 )
...
First part of #597 .
2018-04-16 20:27:00 -07:00
James Lu
281ac7aa31
antispam: add a workaround for clientbot support ( #359 )
2018-04-14 11:40:19 -07:00
James Lu
47052a3bba
antispam: use kick+ban as default punishment
2018-04-13 22:18:41 -07:00
James Lu
3e07239db4
antispam: don't kill users if they quit after previous punishments
2018-04-13 22:18:03 -07:00
James Lu
dd8f9411b6
antispam: filter protection-triggering messages from reaching other plugins ( #359 )
2018-04-13 22:15:24 -07:00
James Lu
3825b93dee
Initial pass of a mass-highlight blocking plugin ( #359 )
2018-04-13 22:08:37 -07:00
James Lu
4d9fbc55ba
Merge branch 'wip/dynamic-services' into devel
2018-04-13 22:08:28 -07:00
James Lu
3c9dac7e6b
service_support: consistently rejoin all channels on kick and kill
...
This is the cheap fix to part one of #265 : "When a services client is killed, it won't join any relay leaf channels"
2018-04-13 20:34:26 -07:00