Go to file
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
docs/technical coreplugin: sanity check: make sure irc.connected is set after 2 seconds & mention how setting this is neccessary in docs 2015-11-15 21:50:23 -08:00
log Make sure log/ exists 2015-07-18 20:13:53 -07:00
plugins networks: call coreplugin and loaded plugins' main() functions on connect 2015-12-24 18:14:05 -08:00
protocols unreal: move setting irc.connected to AFTER protocol negotiation, and add missing EOS (ENDBURST) handler 2015-12-24 18:13:53 -08:00
tests world: rename command_hooks=>hooks, bot_commands=>commands 2015-09-27 10:53:25 -07:00
.gitignore .gitignore: ignore .pem files 2015-08-10 20:26:10 -07:00
LICENSE Add a LICENSE: MPL 2.0 2015-06-20 21:10:50 -07:00
README.md Merge branch 'master' into devel 2015-11-26 23:00:29 -08:00
classes.py classes: in Irc.runline(), return the parsed hook args after processing 2015-12-22 10:46:54 -08:00
conf.py Document more parts of the core - comments are cool right 2015-12-06 17:40:13 -08:00
config.yml.example config.yml.example: mention new chancmds and opercmds plugins 2015-12-18 21:43:42 -08:00
coreplugin.py coreplugin: code formatting, show AWAY statuses in WHOIS 2015-12-17 21:51:15 -08:00
kill.sh Add wrapper scripts (start-cpulimit.sh, kill.sh) to assist running PyLink under cpulimit 2015-07-25 16:58:11 -07:00
log.py Document more parts of the core - comments are cool right 2015-12-06 17:40:13 -08:00
pylink pylink: more consistent logging syntax 2015-12-24 18:08:00 -08:00
runtests.py runtests: allow specifying files to test 2015-09-12 22:31:19 -07:00
start-cpulimit.sh start-cpulimit: pass command line options to ./pylink 2015-09-25 20:25:07 -07:00
utils.py Rename utils.getProtoModule => utils.getProtocolModule 2015-12-24 17:33:49 -08:00
world.py Document more parts of the core - comments are cool right 2015-12-06 17:40:13 -08:00

README.md

PyLink

PyLink is an extensible, plugin-based IRC Services framework written in Python. It aims to be 1) a replacement for the now-defunct Janus 2) a versatile framework and gateway to IRC.

Usage

PyLink is a work in progress and thus may be very unstable! No warranty is provided if this completely wrecks your network and causes widespread rioting amongst your users!

That said, please report any bugs you find to the issue tracker. Pull requests are open if youd like to contribute: note that master is bugfix only; new stuff goes to the devel branch.

You can also find support via our IRC channel: #PyLink at irc.overdrivenetworks.com (webchat). Ask your question and be patient.

Dependencies

Dependencies currently include:

  • Python 3.4+
  • PyYAML (pip install pyyaml or apt-get install python3-yaml)
  • For the relay plugin only: expiringdict (pip install expiringdict/apt-get install python3-expiringdict)

Supported IRCds

  • InspIRCd 2.0.x - module inspircd
  • charybdis (3.5.x / git master) - module ts6
  • Elemental-IRCd (6.6.x / git master) - module ts6
  • UnrealIRCd 4.x (experimental) - module unreal (NOT Unreal 3.2 or lower)

Setup

  1. Rename config.yml.example to config.yml and configure your instance there. Note that the configuration format isnt finalized yet - this means that your configuration may break in an update!

  2. Run ./pylink from the command line.

  3. Profit???