James Lu
9c2bec7a3d
relay: don't create relay clones with the user's original TS
...
There's no point of doing this. Relay should purposely lose nick collisions anyways because it can simply switch to the next one.
2016-07-10 22:25:01 -07:00
James Lu
b88b9614f6
automode: join channels where automode is enabled ( #264 )
...
Still a WIP: when automode is killed, it won't join any relay leaf channels. Perhaps Relay needs to learn how to queue channels for services bots when they join a remote channel, and then remove them when that channel is delinked, etc.
2016-07-08 13:01:56 -07:00
James Lu
de7533a46e
automode: more explicit check for the modebot UID being available
2016-07-07 22:57:31 -07:00
James Lu
f97f2d2fda
automode: call unregisterService() on unload
2016-07-07 22:41:51 -07:00
James Lu
df41dabb71
relay: drop prefix modes if the target doesn't have a relay clone yet
...
This fixes modes like ('+v', None) from being accidentally sent by Relay, when Automode happens to set modes before all relay clients are spawned.
2016-07-07 22:16:34 -07:00
James Lu
00766041f3
plugins: make DB save delay configurable
2016-07-07 22:16:21 -07:00
James Lu
db3517b43a
automode: only those with admin login can change access entries
2016-07-07 21:57:36 -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
b3310eaf78
relay: also send internal hook for services login, for integration with automode
2016-07-07 21:43:25 -07:00
James Lu
0d502095c5
relay: integrate with automode by sending relay JOINs as a hook
2016-07-07 21:38:12 -07:00
James Lu
2be4811673
automode: separate matching into a separate function & listen for services login changes
2016-07-07 21:31:36 -07:00
James Lu
552070132d
automode: implement JOIN handler for a new working ACL system!
...
Closes #170 .
2016-07-07 21:23:06 -07:00
James Lu
d365f04199
Automode plugin stub ( #204 )
...
This supports adding/removing/listing entries and saving them to a DB, but no modes are set yet.
2016-07-07 21:06:28 -07:00
James Lu
ae2eefc73e
opercmds: actually make 'checkban' oper-only
2016-07-07 11:18:06 -07:00
James Lu
2b88c8d630
opercmds/changehost: actually commit changes mentioned in last commit
2016-07-06 23:47:31 -07:00
James Lu
37e1c7d538
opercmds: fix typo in help.
2016-07-06 22:36:29 -07:00
James Lu
ec0f2714e2
opercmds: format KILL reasons properly in kill()
2016-07-06 22:36:06 -07:00
James Lu
81fca49738
relay: hide disconnected networks from LINKED output
...
Closes #258 .
2016-07-03 12:40:23 -07:00
James Lu
72c48502c6
Generate __init__.py with package version on runtime
...
Closes #259 . This removes world.version and replaces it with pylinkirc.__version__ where the former was used.
2016-07-03 00:26:03 -07:00
James Lu
7c6daa839c
relay: don't error if servers for current net were already removed
2016-07-01 22:20:10 -07:00
James Lu
e3170cda83
relay: remove another _ in opertype handling
2016-07-01 21:07:07 -07:00
James Lu
847a98755f
core: use a shared function for disconnecting + removing networks
2016-07-01 20:14:31 -07:00
James Lu
013891bebc
networks: drop 'connect' command, it's useless
2016-07-01 19:54:37 -07:00
James Lu
da4da91ef9
networks: unconditionally remove disconnected IRC objects
2016-07-01 19:54:19 -07:00
James Lu
1a0983b8e9
relay: prefix nicks starting with - (this is invalid)
2016-07-01 19:19:11 -07:00
James Lu
c9b6695f90
relay: make sure normalized nicks have no invalid characters
...
This affects the separator option too: if someone puts something invalid in that field, this will coerse bad chars to | instead of letting the IRCd deal with it.
2016-07-01 19:16:47 -07:00
James Lu
042a173d87
relay: use a 5 second timeout when acquiring all threading locks
2016-07-01 18:54:35 -07:00
James Lu
06ee35dcfc
relay: catch various errors if a relay client is killed while commands are called from it
2016-07-01 18:54:07 -07:00
James Lu
4cd49296e5
Merge remote-tracking branch 'origin/master' into devel
2016-06-30 19:00:39 -07:00
James Lu
91a663d5c7
commands, relay: use irc.reply() with private=True instead of irc.msg()
...
This is more flexible, etc.
2016-06-30 18:43:56 -07:00
James Lu
02405c36b5
core, fantasy: redo handling of noticed and/or private replies
...
New behaviour for command responses in general: FANTASY commands reply in channel as PRIVMSG, while all commands sent in PM reply as private notices.
- The old irc.called_by is now irc.called_in (PLACE last command was called)
- irc.called_by is now used to store the CALLER of the last command
- notice=True/False toggle is dropped from ServiceBot.call_cmd()
- New private=True/False option added to ServiceBot.reply() and irc.reply(), which controls whether replies should be sent privately or not.
2016-06-30 18:22:45 -07:00
James Lu
14f569fd7c
relay: improve command help, add featured command definitions
2016-06-30 18:05:27 -07:00
James Lu
b2b4f33fe8
games: add service description & featured commands
2016-06-30 17:45:05 -07:00
James Lu
5f2da1c8c3
relay: cap waiting time for irc.connected to 5 seconds
2016-06-29 18:12:50 -07:00
James Lu
8b39635fa8
relay: don't expect that serverdata['channels'] is always present
2016-06-27 23:00:39 -07:00
James Lu
8af4b0c06d
relay: use extra_channels to persistently join the PyLink bot to relay channels
...
Closes #247 .
2016-06-25 14:21:18 -07:00
James Lu
1ce6102ae8
relay: allow toggling netsplit hiding
2016-06-25 13:47:59 -07:00
James Lu
1a6bb714ac
relay: drop spawn_servers toggle, remove "Relay network lost connection" quits
...
Relay server spawning is now always on - there's no real reason why it shouldn't work.
Closes #237 .
2016-06-25 13:27:24 -07:00
James Lu
2b0dd0f746
ctcp: allow PING with multiple arguments
2016-06-25 12:18:50 -07:00
James Lu
3461216d20
ctcp: add PING, easter egg
2016-06-25 12:11:04 -07:00
James Lu
f009a739bc
Merge remote-tracking branch 'origin/master' into devel
2016-06-25 11:36:55 -07:00
James Lu
f445f7baef
relay: be more tolerant to users sending messages to channels they're not in
...
This extends the routing of messages from servers across the relay via the main PyLink client to users too.
This allows atheme's GameServ, various commit announcers, etc. to work over relay regardless of whether +n is set.
2016-06-25 11:31:04 -07:00
James Lu
e966fe7e56
relay: typo in comment
2016-06-25 10:43:07 -07:00
James Lu
504a9be7d6
relay: attempt to eliminate freezing when networks are down
2016-06-24 18:41:13 -07:00
James Lu
90ee20ee8b
relay: revert changes to mode handling that only bursts modes from the owning network on connect
2016-06-22 21:41:04 -07:00
James Lu
6fc5fa3130
relay: split relayModes() into getSupportedCmodes() for better reusability
...
First part of #248 .
2016-06-22 19:49:49 -07:00
James Lu
8969cfb74e
Merge branch 'master' into devel
...
Conflicts:
plugins/networks.py
2016-06-22 19:10:59 -07:00
James Lu
1ad8b2e539
networks: reintroduce networks properly in 'connect'
...
Closes #245 .
2016-06-22 10:39:22 -07:00
James Lu
cfa2cda885
relay: only reverse modes for CLAIM if there are any to reverse
2016-06-21 20:29:48 -07:00
James Lu
481d70eff8
New import paths for properly installed pylinkirc
2016-06-20 18:18:54 -07:00