mirror of
https://github.com/solero/houdini.git
synced 2025-08-04 09:44:02 +00:00
Initial commit of Houdini docs
This commit is contained in:
52
docs/source/conf.py
Normal file
52
docs/source/conf.py
Normal file
@@ -0,0 +1,52 @@
|
||||
# Configuration file for the Sphinx documentation builder.
|
||||
#
|
||||
# This file only contains a selection of the most common options. For a full
|
||||
# list see the documentation:
|
||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
||||
|
||||
# -- Path setup --------------------------------------------------------------
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#
|
||||
# import os
|
||||
# import sys
|
||||
# sys.path.insert(0, os.path.abspath('.'))
|
||||
|
||||
|
||||
# -- Project information -----------------------------------------------------
|
||||
|
||||
project = 'Houdini'
|
||||
copyright = '2019, Ben'
|
||||
author = 'Ben'
|
||||
|
||||
|
||||
# -- General configuration ---------------------------------------------------
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be
|
||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||
# ones.
|
||||
extensions = [
|
||||
]
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
# This pattern also affects html_static_path and html_extra_path.
|
||||
exclude_patterns = []
|
||||
|
||||
|
||||
# -- Options for HTML output -------------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
#
|
||||
html_theme = 'alabaster'
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ['_static']
|
18
docs/source/index.rst
Normal file
18
docs/source/index.rst
Normal file
@@ -0,0 +1,18 @@
|
||||
Welcome to Houdini's documentation!
|
||||
===================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
|
||||
intro/getting-started
|
||||
plugins/introduction
|
||||
|
||||
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
12
docs/source/intro/getting-started.md
Normal file
12
docs/source/intro/getting-started.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Getting started with Houdini
|
||||
|
||||
Houdini can be installed like any other Python program:
|
||||
|
||||
```py
|
||||
git clone https://github.com/solero/houdini-asyncio
|
||||
cd houdini-asyncio
|
||||
pip install -r requirements.txt
|
||||
python bootstrap.py login
|
||||
```
|
||||
|
||||
This page is a WIP!
|
45
docs/source/plugins/introduction.md
Normal file
45
docs/source/plugins/introduction.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# Plugins: An introduction
|
||||
|
||||
Plugins provide a neat way to extend Houdini's functionality. Here is an example!
|
||||
|
||||
```python
|
||||
from houdini import handlers
|
||||
from houdini.handlers import XTPacket
|
||||
|
||||
from houdini.plugins import IPlugin
|
||||
from houdini import commands
|
||||
|
||||
from houdini import permissions
|
||||
|
||||
class Example(IPlugin):
|
||||
author = "Ben"
|
||||
description = "Example plugin for developers"
|
||||
version = "1.0.0"
|
||||
|
||||
def __init__(self, server):
|
||||
super().__init__(server)
|
||||
|
||||
async def ready(self):
|
||||
self.server.logger.info('Example.ready()')
|
||||
# await self.server.permissions.insert(name='houdini.ping')
|
||||
|
||||
async def message_cooling(self, p):
|
||||
print(f'{p}, Message was sent during cooldown')
|
||||
|
||||
@handlers.handler(XTPacket('m', 'sm'))
|
||||
@handlers.cooldown(1, callback=message_cooling)
|
||||
async def handle_send_message(self, p, penguin_id: int, message: str):
|
||||
print(f'Do stuff with {message}')
|
||||
|
||||
@commands.command('ping')
|
||||
@permissions.has('houdini.ping')
|
||||
async def ping(self, p):
|
||||
await p.send_xt('cprompt', 'Pong')
|
||||
|
||||
@commands.command('ac')
|
||||
async def add_coins(self, p, amount: int = 100):
|
||||
await p.add_coins(amount, stay=True)
|
||||
|
||||
```
|
||||
|
||||
This page is a WIP!
|
Reference in New Issue
Block a user