Plugin system based on khl.py
Project description
KHLDaemon
安装
使用命令 pip install khldaemon
来安装
使用
使用命令 python -m khldaemon init
来初始化机器人
将会生成 plugin
config
文件夹,以及 config.yml
配置文件
修改配置文件,填上你的开黑啦机器人的 token
然后使用命令 python -m khldaemon start
启动机器人
样例插件
from khldaemon.api.all import *
# or
# from khldaemon.api.interface import *
# from khldaemon.api.utils import *
# from khldaemon.api.command import *
# from khldaemon.api.types import *
# plugin meta
PLUGIN_METADATA = {
'id': 'test_plugin',
'version': '1.0.0',
'name': 'Test Plugin',
'description': 'A test plugin',
'author': 'DancingSnow',
'link': 'https://github.com/DancingSnow0517/'
}
class Config(Serializable):
config1: str = 'c1'
config2: str = 'c1'
config3: bool = False
config: Config
# run when bot start
def on_load(interface: PluginInterface):
global config
interface.logger.info('plugin loaded')
interface.register_help_messages('!!hello', 'Hello World!')
# register a command
interface.register_command(
Literal('!!hello').runs(lambda src: src.reply('world!'))
)
# config interface
config = interface.load_config_simple(file_name='test_config.json', target_class=Config, in_data_folder=True)
config.config1 = 't'
interface.save_config_simple(config=config, file_name='test_config.json', in_data_folder=True)
# run when bot stop
def on_unload(interface: PluginInterface):
interface.logger.info('plugin unloaded')
# run when a message is received
async def on_message(interface: MessageInterface):
interface.logger.info(interface.message.content)
# run when an event is received
async def on_event(interface: EventInterface):
interface.logger.info(interface.event.event_type)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
khldaemon-0.1.1.tar.gz
(27.9 kB
view hashes)
Built Distribution
khldaemon-0.1.1-py3-none-any.whl
(34.4 kB
view hashes)
Close
Hashes for khldaemon-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fd97abc30890d42edfd38caaf1ece1839a567bcbeab06bf34d6f1762ec3aa01 |
|
MD5 | ccaeb667f9c5f7787ffc578e5e6150c1 |
|
BLAKE2b-256 | 7ff19e6c556964b50f87fb83e2c22f2559676f0b40a6dd29b268abbb92dfd643 |