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
4529481556
docs/writing-plugins.md: also mention irc.reply()
2015-12-26 15:07:44 -08:00
James Lu
775df5a6c5
plugin_example.py: use irc.reply()
2015-12-26 15:02:23 -08:00
James Lu
01a4da5d3a
classes: Fix another missing docstring
2015-12-26 14:47:23 -08:00
James Lu
11adee9d78
Yet another documentation refresh ( #113 )
2015-12-26 14:45:28 -08:00
James Lu
9811df3dfc
Unbrick the tests
2015-12-26 14:30:14 -08:00
James Lu
3c51231ce8
inspircd: re-add RSQUIT handler ( closes #150 )
2015-12-24 19:52:52 -08:00
James Lu
3292ead034
README: formatting and minor content update
2015-12-24 19:52:33 -08:00
James Lu
b459b4d235
Merge branch 'master' into devel
2015-12-24 18:25:39 -08:00
James Lu
091bdc22da
Test suite updates (doesn't work yet)
2015-12-24 18:24:42 -08:00
James Lu
38672ab9f5
Drop test_proto_inspircd.py, it's broken and unmaintained
...
Eventually, I plan to replace these with a generic protocol module test suite, which can hot-swap protocol modules and test all of them in a loop of some sort.
2015-12-24 18:18:16 -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
3f45450969
unreal: move setting irc.connected to AFTER protocol negotiation, and add missing EOS (ENDBURST) handler
...
The lack of the latter caused relay to *fail* to spawn users whenever an Unreal server reconnects, which should be fixed now.
2015-12-24 18:13:53 -08:00
James Lu
bd8aa4dc11
pylink: more consistent logging syntax
2015-12-24 18:08:00 -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
fbf33e15a6
classes: in Irc.runline(), return the parsed hook args after processing
2015-12-22 10:46:54 -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
0c1bcf2bc5
example conf: add missing "sidrange" key in ts6net, rename "yournet" to "inspnet" and various tweaks
...
"sidrange" is required to be in the conf; otherwise, PyLink fails to start. Thanks @darksis for reporting.
2015-12-22 10:31:56 -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
d0436b9f4d
Merge branch 'master' into devel
2015-12-18 21:44:15 -08:00
James Lu
f1adc90ac9
config.yml.example: mention new chancmds and opercmds plugins
2015-12-18 21:43:42 -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
4d0f346340
coreplugin: code formatting, show AWAY statuses in WHOIS
...
Closes #143 .
2015-12-17 21:51:15 -08:00
James Lu
d60a48bb11
protocols: actually update away status in awayClient
...
"Oops, I forgot to do this."
2015-12-17 21:50:50 -08:00
James Lu
6d597e4482
unreal: call PYLINK_CLIENT_OPERED hooks where we're supposed to
2015-12-17 21:37:01 -08:00
James Lu
09bb2976f8
inspircd: Remove a couple of overzealous find+replaces
2015-12-17 21:19:40 -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
6b14a885bc
protocols: add support for endburst_delay in spawnServer ( #128 )
2015-12-17 21:18:11 -08:00
James Lu
31c47b50f3
utils: fix irc.users changing size during lookup
2015-12-11 18:43:58 -08:00
James Lu
f79524e9e1
unreal: remove duplicate import
2015-12-06 17:44:59 -08:00
James Lu
e4fb64aeba
Document more parts of the core - comments are cool right
2015-12-06 17:40:13 -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
62501ce8f2
unreal: actually, storing the cloaked host instead of the real host is a better idea
...
This prevents IP leaks, at least until #136 is fixed. Reverts part of b965f2c
.
2015-11-28 20:57:33 -08:00
James Lu
0d402af17e
fantasy: support nick triggers ( close #134 )
2015-11-28 20:46:53 -08:00
James Lu
db59134ae7
Merge branch 'master' into devel
2015-11-26 23:00:29 -08:00
James Lu
7705d48425
commands: update irc.botdata in REHASH too
2015-11-26 22:57:52 -08:00
James Lu
f8cc297522
unreal: remove "possible desync" warning in _getNick
2015-11-26 22:52:29 -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
c5acd5cd38
coreplugin: uhhh, fix typo in irc.connected check
2015-11-26 22:43:37 -08:00
James Lu
994eaef12c
unreal: forcibly SETHOST to the desired vHost in spawnClient
...
This prevents real host / IP address leaks, since the "virt host" specified in UID doesn't seem to be respected by the IRCd (real host is shown instead). Workaround for #136 .
2015-11-26 22:34:15 -08:00
James Lu
0c068c6543
unreal: fix #137
...
a.k.a. fix the mess I made encoding IPs by not knowing about socket.inet_pton / socket.inet_ntop.
2015-11-26 22:15:52 -08:00