James Lu
77febfe69f
Allow disabling dynamic channels via a new "join_empty_channels" option
2018-10-27 18:48:12 -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
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
0ead868546
service_support: skip dynamic join/part hooks on bot-only servers
2018-04-20 19:35:06 -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
James Lu
2f12a5b710
Initial work on dynamic service bot joining / parting ( #265 )
2018-04-12 12:45:33 -07:00
James Lu
bea2ea8ebd
plugins, coremods: migrate (un)registerService calls to snake case ( #523 )
2018-03-02 20:23:47 -08:00
James Lu
d4cbf1d2af
services_support: fix rejoin-on-kill to the main service bot
...
Clear the irc.pseudoclient state on kill as the respawning code will check for it first and reuse UIDs even if they don't exist.
2017-11-12 10:54:30 -08:00
James Lu
94e05a6233
services_support: fix clientbot service spawning when irc.pseudoclient exists but isn't in the user index
2017-08-30 19:50:25 -07:00
James Lu
cad55097f1
core: reuse existing service client UIDs for all service bots
...
This prevents nick collision wars caused by spawn_service when an ENDBURST hook for the uplink is received multiple times.
2017-08-30 19:29:46 -07:00
James Lu
0bb4a35c6f
Support pre-auth irc.pseudoclient enumeration & configurable altnicks
...
Closes #516 . Closes #288 .
2017-08-21 23:05:56 -07:00
James Lu
89699051d5
Services API rework
...
- Move nick/ident/host/gecos fetching from services_support into functions
- Remove the unused 'ident' argument from ServiceBot
- Rename the 'nick' argument in ServiceBot to 'default_nick'
- Define default nicks for the PyLink, Automode, and Games services
2017-08-21 21:51:45 -07:00
James Lu
f15f27168a
services_support: log the reason as well when a service bot is killed
2017-08-02 22:15:19 +08:00
James Lu
3eb2c6bbf7
service_support: raise KILLs to service bots to INFO
2017-07-30 00:32:59 +08:00
James Lu
5a5a98c4ef
services_support: migrate to conf.conf['pylink'], make the realname option optional
2017-07-14 05:51:40 -07:00
Mitchell Cooper
a1dfa14d20
allow realname to be specified the same way
2017-07-12 18:53:02 -04:00
Mitchell Cooper
33630e8f9d
allow host to be specified in service bot block or per-network
2017-07-12 18:38:26 -04:00
James Lu
a204d2b2db
core: convert IrcUser calls to User
2017-06-30 21:44:31 -07:00
James Lu
61ed209abb
coremods, plugins: migrate to snake case for protocol communication
2017-06-30 21:30:20 -07:00
James Lu
10bca676fc
coremods, plugins: migrate to snake case
2017-06-29 23:01:39 -07:00
James Lu
748c1bc158
coremods: migrate irc.proto calls to irc
2017-06-25 02:09:55 -07:00
James Lu
7e51d3a7f5
service_support: fix service respawn on KILL
2017-05-12 18:45:27 -07:00
James Lu
457325024a
service_support: reuse existing internal clients for service bots if one exists
...
Potential fix for #458 .
2017-05-12 18:27:54 -07:00
James Lu
feb9cce4ee
core: Drop fake ServiceBot client stubs on Clientbot ( #403 )
2017-03-23 23:53:43 -07:00
James Lu
fb626c8a97
services_support: remove workarounds for the PyLink service nick & ident being in conf::bot ( #343 )
2017-03-10 23:47:07 -08:00
James Lu
ae56ed6a32
services_support: fix service-specific key name
2017-02-26 18:11:20 -08:00
Ken Spencer
b3ec8a6790
service_support: allow server:service_channels for per service autojoin
2017-02-26 21:05:33 -05:00
James Lu
377df413ed
Irc: s/isServiceBot/getServiceBot/g ( #355 )
...
This function is renamed to better reflect its return value (ServiceBot object instead of boolean True).
2016-11-09 19:09:59 -08:00
James Lu
08fa64c3cc
Irc, services_support: store service name in IrcUser objects ( #355 )
2016-11-09 19:07:01 -08:00
James Lu
438838f81d
ServiceBot: handle autojoin additions even if bots haven't spawned yet
2016-09-24 12:33:57 -07:00
James Lu
1c60ad7251
services_support: honour joinmodes settings on kick-rejoin
2016-09-24 12:22:12 -07:00
James Lu
a040c3c7d2
ServiceBot: modularize join() for explicit channel joining ( #326 )
2016-09-23 23:43:07 -07:00
James Lu
0cce6ca488
service_support: allow specifying modes to join with for each service ( #326 )
...
This updates the example config to, by default, join Automode bots as op in channels.
2016-09-23 23:10:38 -07:00
James Lu
a12ed6ad35
services_support: hack around nick clashes between service clients & real users in Clientbot
...
For #327 . Essentially what this does is tack on a nick prefix to all service bots introduced on a Clientbot network, using characters invalid for regular nicks.
2016-09-06 20:04:19 -07:00
James Lu
d1e2dfcf61
clientbot: only call spawnClient for new message sources after irc.pseudoclient is set
2016-09-01 13:08:20 -07:00
James Lu
a76bd8c5b2
core: make hostmask fetching a shared function
2016-08-12 19:18:56 -07:00
James Lu
e50684e367
Merge branch 'master' into devel
2016-08-04 10:29:17 -07:00
James Lu
a9fe0499e6
services_support: ignore invalid autojoin channels
...
Reported by @rvzm on IRC.
Closes #308 .
2016-08-04 10:26:00 -07:00
James Lu
f4922743fc
core: SID and hostname options are now optional ( #282 )
...
Hostname defaults to a fallback hardcoded in world.fallback_hostname, while SID defaults to None (protocol modules have to deal with this themselves)
2016-07-28 22:23:59 -07:00
James Lu
8047186c58
plugins, coremods: remove usage of irc.conf ( #273 )
2016-07-27 17:02:04 -07:00
James Lu
4999ecd11f
Integrate services_support and automode
...
New hook: PYLINK_SERVICE_JOIN
2016-07-07 21:54:59 -07:00
James Lu
408ce701b1
service_support: support optionally setting servprotect on service bots
...
Closes #243 .
2016-07-01 21:25:58 -07:00
James Lu
017d6a4651
coremods: remove references to 'coreplugin' in logging
2016-07-01 21:08:50 -07:00
James Lu
1637193a53
service_support: add description for main PyLink bot
2016-06-30 17:45:05 -07:00
James Lu
b90c69eead
ServiceBot: actually, make extra_channels network specific
2016-06-25 14:21:13 -07:00
James Lu
ceed9346c0
ServiceBot: allow configuring extra channels that bots will join
2016-06-25 14:14:19 -07:00
James Lu
170de377ca
coremods: Move ServiceBot kill/kick/message handling into the right module
...
This also fixes the kill handler erroneously calling a spawn_service() that was never imported.
2016-06-25 13:58:59 -07:00
James Lu
3a57e8d595
Split coreplugin.py into coremods/
...
Closes #240 .
2016-06-21 11:25:47 -07:00