mirror of
https://github.com/solero/houdini.git
synced 2024-11-25 23:17:24 +00:00
1.2 KiB
1.2 KiB
Plugins: An introduction
Plugins provide a neat way to extend Houdini's functionality. Here is an example!
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!