新建模块指南
本文将会教你如何编写自定义模块。
info
您可以在开发之前执行 pre-commit install
来安装 pre-commit
git 钩子,它可以在提交 commit 前执行一些操作。如:同步 poetry.lock 至 requirements.txt、自动 pep8 格式化等。
说明
所有模块都储存在 modules
文件夹。如果你想编写新的模块,请在此新建一个文件夹。
文件夹的名字并不用于区分模块名,仅用于分类。
机器人在加载的时候会遍历 modules
文件夹,并加载每个模块文件夹里的 __init__.py
,请将想要加入的模块定义编写在 __init__.py
中或确保其能够被引用。
编写
我们假设你现在写好了具体的代码,现在你想把其做成一个可以给机器人使用的功能:
定义模块
在编写模块之前,我们需要先定义一个模块类型。
from core.component import module
test = module(
bind_prefix='test1', # 定义模块名
desc='这是一个简介', # 此模块的简介
alias='t', # 此模块的别名
developers=['Example'], # 开发者的名字
recommend_modules=['test2', 'test3']), # 推荐启用的其他模块,用于在启用此模块时进行一并提示
required_admin = False, # 将此模块标记为仅群组管理员可执行,覆盖下文所述的子命令设定,默认为False
base = False, # 将此模块标记为基础模块,无需启用即可使用,默认为False
required_superuser = False, # 将此模块标记为仅机器人超级管理员可使用,覆盖下文所述的子命令设定,默认为False
support_languages=['zh_cn', 'zh_tw', 'en_us'] # 此模块支持的语言,未在列表内的语言在启用模块时会出现提醒
)