3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-11-27 21:19:31 +01:00
Go to file
James Lu 024ac165a8 relay: Only allow messaging users in common channels / channels that you're in
The old behavior, which iterated over the pseudoclients representing the sender, dropped messages to clients without a common channel without any warning. Now, the sender will get a lovely notice from the PyLink client.

Trying to send to a '-n' channel without being in it:
	-PyLink-devel- Error: You must be in '#channel' in order to send messages.

Trying to message a user without sharing a common channel:
	-PyLink-devel- Error: You must be in a common channel with 'GLolol/testnet' in order to send messages.

Closes #62.
2015-07-18 12:24:12 -07:00
plugins relay: Only allow messaging users in common channels / channels that you're in 2015-07-18 12:24:12 -07:00
protocols Fix fakeirc and tests for relay (#56) 2015-07-17 22:52:55 -07:00
tests Fix fakeirc and tests for relay (#56) 2015-07-17 22:52:55 -07:00
.gitignore .gitignore: add *.db 2015-07-12 16:28:33 -07:00
classes.py Fix fakeirc and tests for relay (#56) 2015-07-17 22:52:55 -07:00
conf.py It's almost June! Updates: 2015-05-31 12:20:09 -07:00
config.yml.example example conf: mention pingfreq and disabling autoconnect 2015-07-17 23:44:52 -07:00
coreplugin.py Move client spawning, command / KILL / KICK handling outside the protocol module 2015-07-16 21:52:44 -07:00
LICENSE Add a LICENSE: MPL 2.0 2015-06-20 21:10:50 -07:00
log.py Actually implement 'nick', 'ident', and 'loglevel' config options 2015-07-07 12:14:55 -07:00
main.py Fix fakeirc and tests for relay (#56) 2015-07-17 22:52:55 -07:00
README.md README: fix link to issue tracker 2015-07-15 23:15:08 -07:00
utils.py add a utils.started threaded trigger, so plugins can ACTUALLY wait until all Irc objects have been initialized to do their work 2015-07-13 16:07:55 -07:00

PyLink

PyLink is an extensible, plugin-based IRC PseudoService written in Python. It aims to be a replacement for the now-defunct Janus.

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 throughout your user base!

That said, please report any bugs you find to the issue tracker. Pull requests are open if youd like to contribute.

Dependencies

Dependencies currently include:

  • InspIRCd 2.0.x: more protocol modules may be implemented in the future…
  • Python 3.4+
  • PyYAML (pip install pyyaml or apt-get install python3-yaml)

Installation

  1. Rename config.yml.example to config.yml and configure your instance there. Not all options are properly implemented yet, and the configuration schema isnt finalized yet - this means your configuration may break in an update!

  2. Run main.py from the command line.

  3. Profit???