创建新的插件模块¶
我们的框架使用强大的自动发现系统来加载规则模块。这使得添加新命令集变得简单而干净,无需手动注册每个新组件。本指南解释了如何创建、构建和管理您自己的自定义模块。
核心概念:基于文件夹的模块¶
模块只是 config/maps/ 目录中的一个文件夹。系统自动扫描该目录并将每个子文件夹视为可加载模块。
创建模块的分步指南¶
按照以下步骤创建新模块,例如,保存特定游戏的宏。
1.导航至地图目录 所有规则模块都位于项目的“config/maps/”文件夹中。
2.创建您的模块文件夹 创建一个新文件夹。名称应该具有描述性,并使用下划线而不是空格(例如“my_game_macros”、“custom_home_automation”)。
3.添加语言子文件夹(关键步骤) 在新模块文件夹中,您必须为要支持的每种语言创建子文件夹。
命名约定: 这些子文件夹的名称 必须是有效的语言区域代码。系统使用这些名称来加载活动语言的正确规则。
正确示例:
de-DE、en-US、en-GB、pt-BR警告: 如果您使用“german”或“english_rules”等非标准名称,系统将忽略该文件夹或将其视为单独的、非特定于语言的模块。
4.添加您的规则文件 将您的规则文件(例如“FUZZY_MAP_pre.py”)放入适当的语言子文件夹中。最简单的开始方法是复制现有语言模块文件夹的内容以用作模板。
目录结构示例¶
代码_块_0
管理配置中的模块¶
该系统被设计为需要最少的配置。
启用模块(默认)¶
模块默认启用。只要config/maps/中存在模块文件夹,系统就会找到它并加载其规则。 您无需向设置文件添加条目即可启用新模块。
禁用模块¶
要禁用模块,您必须在设置文件的“PLUGINS_ENABLED”字典中为其添加一个条目,并将其值设置为“False”。
示例(config/settings.py):
代码_块_1
重要的设计说明¶
默认行为:没有条目等于“True” 如果模块未在“PLUGINS_ENABLED”字典中列出,则默认情况下将其视为活动。这种设计使配置文件保持干净,因为您只需要列出例外情况。
启用的简写 您的配置系统还知道列出没有值的模块密钥意味着它已启用。例如,将
"wannweil"添加到字典中与添加"wannweil": True相同。这为启用模块提供了方便的简写。禁用父模块: 预期的行为是禁用父模块应该
自动禁用其所有子模块和语言子文件夹。例如,设置"standard_actions": False应阻止加载de-DE和en-US。 (25 年 10 月 27 日星期一) X空格符X目标 目标是进一步增强该系统。例如,提供一种即使父模块被禁用也能尊重子模块设置的方法,或者引入更复杂的继承规则。 (25 年 10 月 27 日星期一)