mirror of
https://github.com/jlu5/PyLink.git
synced 2024-12-24 11:42:51 +01:00
docs: relayout table of contents & links between pages
This commit is contained in:
parent
f2f945e4bb
commit
ad428b55bc
8
docs/README.md
Normal file
8
docs/README.md
Normal file
@ -0,0 +1,8 @@
|
||||
# PyLink Documentation
|
||||
|
||||
This folder contains general documentation for PyLink IRC services.
|
||||
|
||||
## Contents
|
||||
|
||||
- [Opering with PyLink Relay](pylink-opers.md)
|
||||
- [Developer documentation](technical/)
|
@ -1,13 +1,13 @@
|
||||
# PyLink Developer Documentation
|
||||
|
||||
Please note that as PyLink is still in its development phase, the API is subject to change.
|
||||
Please note that as PyLink is still in its development phase, its APIs are subject to change.
|
||||
Any documentation here is provided for reference only.
|
||||
|
||||
It is also really incomplete (contributors welcome!)
|
||||
The docs are also really incomplete (contributors welcome!)
|
||||
|
||||
## Introduction
|
||||
|
||||
PyLink is an a modular, plugin-based IRC PseudoService framework. It uses swappable protocol modules and a hook-based system for calling plugins, allowing them to function regardless of the IRCd used.
|
||||
PyLink is an a modular, plugin-based IRC services framework. It uses swappable protocol modules and a hooks system for calling plugins, allowing them to function regardless of the IRCd used.
|
||||
|
||||
<img src="core-structure.png" width="50%" height="50%">
|
||||
|
||||
@ -15,8 +15,11 @@ PyLink is an a modular, plugin-based IRC PseudoService framework. It uses swappa
|
||||
|
||||
- [Writing plugins for PyLink](writing-plugins.md)
|
||||
- [PyLink protocol module specification](pmodule-spec.md)
|
||||
- [Using PyLink's utils module](using-utils.md)
|
||||
- [PyLink hooks reference](hooks-reference.md)
|
||||
- [Supported named channel modes](channel-modes.csv)
|
||||
- [API reference: utils.py](autogen/utils.html)
|
||||
- [API reference: classes.py](autogen/classes.html)
|
||||
|
||||
### Future topics (not yet available)
|
||||
- [Writing tests for PyLink modules](writing-tests.md)
|
||||
- [Supported named user modes](user-modes.csv)
|
||||
|
@ -97,9 +97,9 @@ A protocol module should also set the following variables in their protocol clas
|
||||
- Examples exist in the [UnrealIRCd](https://github.com/GLolol/PyLink/blob/0.5-dev/protocols/unreal.py#L22) and [InspIRCd](https://github.com/GLolol/PyLink/blob/0.5-dev/protocols/inspircd.py#L24) modules.
|
||||
- `self.cmodes` / `self.umodes`: These are mappings of named IRC modes to mode letters, that should be either negotiated during link or preset in the `connect()` function of the protocol module. There are also special keys: `*A`, `*B`, `*C`, and `*D`, which should each be filled with a list of mode characters for that type of modes.
|
||||
- Types of modes are defined as follows (from http://www.irc.org/tech_docs/005.html):
|
||||
- A = Mode that adds or removes a nick or address to a list. Always has a parameter.
|
||||
- B = Mode that changes a setting and always has a parameter.
|
||||
- C = Mode that changes a setting and only has a parameter when set.
|
||||
- A = Mode that adds or removes a nick or address to a list. Always has a parameter.
|
||||
- B = Mode that changes a setting and always has a parameter.
|
||||
- C = Mode that changes a setting and only has a parameter when set.
|
||||
- D = Mode that changes a setting and never has a parameter.
|
||||
- Examples in the TS6 protocol module: https://github.com/GLolol/PyLink/blob/cb3187c/protocols/ts6.py#L259-L300
|
||||
- If not defined, these will default to modes defined by RFC 1459: https://github.com/GLolol/PyLink/blob/cb3187c/classes.py#L118-L152
|
||||
@ -147,3 +147,5 @@ Internally, modes are stored in channel and user objects as sets: `(userobj or c
|
||||
```
|
||||
|
||||
When a certain mode (e.g. owner) isn't supported on a network, the key still exists in `prefixmodes` but is simply unused.
|
||||
|
||||
You can see a list of supported (named) channel modes [here](channel-modes.csv).
|
Loading…
Reference in New Issue
Block a user