James Lu
add409789a
relay: fix incorrect logging in changing client fields
2015-12-30 15:53:05 -08:00
James Lu
d7fdeed19d
relay: remove use of sched in exportDB
...
We were using sched and threading together? How inefficient...
2015-12-29 11:14:19 -08:00
James Lu
cc79871eaf
exec: add some more default imports for convenience
2015-12-29 11:14:19 -08:00
James Lu
59c9b127a3
relay/world: remove need for world.schedulers
2015-12-26 17:06:28 -08:00
James Lu
bf7522697a
Rename PYLINK_CLIENT_OPERED hook -> CLIENT_OPERED
...
To be consistent, any PYLINK_* hooks should internal hooks sent out by PyLink itself. CLIENT_OPERED, on the other hand, requires protocol modules to send it and thus, shouldn't be labeled as a PYLINK_* hook.
2015-12-26 15:41:22 -08:00
James Lu
04275d1dfa
relay: only show creator in LINKED if the value exists
2015-12-26 15:24:06 -08:00
James Lu
d958f65f7e
networks: call coreplugin and loaded plugins' main() functions on connect
...
I haven't really tested this very well, but it *should* not break anything......
2015-12-24 18:14:05 -08:00
James Lu
9a81a2ba1f
Rename utils.getProtoModule => utils.getProtocolModule
2015-12-24 17:33:49 -08:00
James Lu
2391918deb
networks: add "remote" command, for running commands on remote networks
2015-12-22 10:58:58 -08:00
James Lu
4e7396b1ac
exec: add 'inject' and raw' commands ( Closes #148 )
2015-12-22 10:47:02 -08:00
James Lu
375dbe8427
exec: accept newlines and other backslash escapes (in only "exec")
...
This way, more complex code can be entered using newlines: e.g. "for x in range(3):\n irc.reply('hello world')"
2015-12-22 10:41:42 -08:00
James Lu
6330be8758
chancmds: add TOPIC command, fix help text of KICK (it is admin-only, not oper-only)
...
For #90 .
2015-12-18 22:08:52 -08:00
James Lu
349cff36e1
protocols: in TOPIC hooks, send the topic as keyword "text" instead of keyword "topic"
...
This is just to be more consistent, as other hooks usually use "text" for text fields.
2015-12-18 22:05:10 -08:00
James Lu
775933420a
Move MODE from bots.py into a new plugin, opercmds.py
2015-12-18 21:43:37 -08:00
James Lu
1f2b99ca26
Move "KICK" from bots.py to a new plugin, chancmds
...
Also, add more sanity checks to make sure the things we're kicking are actually valid.
2015-12-18 21:43:37 -08:00
James Lu
00337fa783
relay: delay ENDBURST in spawnServer by 3 seconds ( Closes #128 )
2015-12-17 21:18:16 -08:00
James Lu
a39f9bbddc
relay: fix logging syntax
2015-12-06 17:40:06 -08:00
James Lu
561af2e037
utils/relay: add and use getDatabaseName to fetch an instance-specific DB name
2015-12-06 17:13:47 -08:00
James Lu
f16edf6efc
relay: log (de)linked, created, and destroyed channels to INFO
...
Closes #125 .
2015-11-28 21:18:30 -08:00
James Lu
e97810e5f7
relay: store creator hostname in CREATE, code readability...
...
Closes #135 .
2015-11-28 21:09:44 -08:00
James Lu
0d402af17e
fantasy: support nick triggers ( close #134 )
2015-11-28 20:46:53 -08:00
James Lu
7705d48425
commands: update irc.botdata in REHASH too
2015-11-26 22:57:52 -08:00
James Lu
3df0a24232
relay: catch PRIVMSG/NOTICE sent from servers, and relay them via the PyLink client instead of erroring
2015-11-26 22:51:19 -08:00
James Lu
a7f5068bd8
relay: squash another "dictionary changed size during iteration" bug
2015-11-26 22:50:20 -08:00
James Lu
adfa114c4b
relay: remove cloak from whitelisted umodes, send modes to spawnClient as a set (prevents duplicates)
2015-11-22 13:08:31 -08:00
James Lu
5c0517ba40
unreal/ts6/relay: add some more user mode support
...
Cloaking is still a bit iffy on UnrealIRCd networks - Unreal insists on applying its own cloaking for +x users, but vHosts for non +x remote users don't apply at all (their real host is shown instead)
2015-11-21 23:57:24 -08:00
James Lu
a3e0159054
relay: normalize hostnames too (e.g. unreal doesn't allow / in vHosts)
2015-11-21 23:37:19 -08:00
James Lu
06539fc813
unreal: add missing SJOIN->JOIN hook map, and set irc.connected (relay will otherwise break)
2015-11-15 21:42:58 -08:00
James Lu
5027feb553
Don't crash when REHASH loads a config file that's invalid
...
This was actually several bugs in one:
- The sys.exit() call in loadConf should be... toggleable
- loadConf printed errors but forgot to re-raise the actual exception it caught
- The error reply in the REHASH command was passing the wrong arguments to irc.reply(), which would cause an error within an error when it ran
2015-11-11 18:55:51 -08:00
James Lu
5715835bbb
fantasy: fix error handling if prefix isn't set
2015-11-01 20:55:01 -08:00
James Lu
86d3cd3295
relay: only join the main pseudoclient once per channel
2015-10-25 10:39:56 -07:00
James Lu
9a1eab3b82
commands: add command to set log level ( Closes #124 )
2015-10-25 10:18:51 -07:00
James Lu
2bf9568fbb
relay: Home network lost connection. => Relay network lost connection.
2015-10-23 18:50:42 -07:00
James Lu
cecb7f3800
plugins: chmod -x
2015-10-23 18:31:48 -07:00
James Lu
17a2dcd21f
plugins: use irc.reply(...) instead of irc.msg(irc.called_by, ...) whereever possible
2015-10-23 18:29:10 -07:00
James Lu
d14cf3c7cf
Move (un|re)?load, identify commands to coreplugin
...
This is so the commands plugin, which includes other generic (but not essential) commands, can be more easily reloaded.
2015-10-23 18:22:29 -07:00
James Lu
1b8f1ff95e
commands: s/public channel/channel/
2015-10-18 12:49:13 -07:00
James Lu
5327de9317
relay: fix local kicks not quitting users on remote networks when the target doesn't share any channels as a result
...
Closes #120 .
2015-10-18 10:27:54 -07:00
James Lu
6034333682
commands: actually break when identify is sent in a channel
2015-10-18 10:27:27 -07:00
James Lu
d21ce9983d
relay: don't spam subserver connects + instant disconnects for networks that are dead
2015-10-10 15:34:57 -07:00
James Lu
bde2f66b2a
relay: don't send SQUIT for relay servers to networks that aren't connected
2015-10-10 15:27:57 -07:00
James Lu
e28c351792
relay: add missing return in getRemoteSid
2015-10-10 15:26:28 -07:00
James Lu
07694ae642
relay: restore checks for irc.connected/world.started to prevent server spawning from happening too quickly
2015-10-10 15:22:06 -07:00
James Lu
ffce69060c
relay: fix RuntimeError in handle_disconnect (dict changed size during iteration)
2015-10-10 15:06:36 -07:00
James Lu
17cfdcab0a
relay: fix 7d919e6
again
...
PyLink bots can send messages over the relay to channels, just not to remote users.
2015-10-02 23:40:20 -07:00
James Lu
7e57798f4d
core: refresh various serverdata attributes on REHASH
2015-10-02 23:17:55 -07:00
James Lu
f20e677577
relay: fix PMs across the relay ( 7d919e64
regression)
2015-10-01 16:40:58 -07:00
James Lu
54414f307e
commands: new REHASH command ( Closes #89 )
...
This command reloads the config and automatically add/removes networks that are in the new conf but not currently connected.
2015-09-28 19:13:08 -07:00
James Lu
e84a2d1025
Modularize our import hacks, make Irc() take a conf object again
2015-09-28 19:12:45 -07:00
James Lu
9e07949730
relay: make spawning of subservers toggleable
2015-09-28 18:22:03 -07:00