mirror of
https://github.com/solero/houdini.git
synced 2024-11-25 23:17:24 +00:00
34 lines
718 B
Python
34 lines
718 B
Python
from abc import ABC
|
|
from abc import abstractmethod
|
|
|
|
|
|
class IPlugin(ABC):
|
|
"""
|
|
Plugin interface which all plugins *must* implement.
|
|
"""
|
|
|
|
@property
|
|
@abstractmethod
|
|
def author(self):
|
|
"""The plugin's author which is usually a nickname and an e-mail address."""
|
|
|
|
@property
|
|
@abstractmethod
|
|
def version(self):
|
|
"""The version of the plugin."""
|
|
|
|
@property
|
|
@abstractmethod
|
|
def description(self):
|
|
"""Short summary of the plugin's intended purpose."""
|
|
|
|
@abstractmethod
|
|
async def ready(self):
|
|
"""
|
|
Called when the plugin is ready to function.
|
|
"""
|
|
|
|
@abstractmethod
|
|
def __init__(self, server):
|
|
self.server = server
|