创建新的插件模块

我们的框架使用强大的自动发现系统来加载规则模块。这使得添加新命令集变得简单而干净,无需手动注册每个新组件。本指南解释了如何创建、构建和管理您自己的自定义模块。

核心概念:基于文件夹的模块

模块只是 config/maps/ 目录中的一个文件夹。系统自动扫描该目录并将每个子文件夹视为可加载模块。

创建模块的分步指南

按照以下步骤创建新模块,例如,保存特定游戏的宏。

1.导航至地图目录 所有规则模块都位于项目的“config/maps/”文件夹中。

2.创建您的模块文件夹 创建一个新文件夹。名称应该具有描述性,并使用下划线而不是空格(例如“my_game_macros”、“custom_home_automation”)。

3.添加语言子文件夹(关键步骤) 在新模块文件夹中,您必须为要支持的每种语言创建子文件夹。

  • 命名约定: 这些子文件夹的名称 必须是有效的语言区域代码。系统使用这些名称来加载活动语言的正确规则。

  • 正确示例: de-DEen-USen-GBpt-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-DEen-US。 (25 年 10 月 27 日星期一) X空格符X

  • 目标 目标是进一步增强该系统。例如,提供一种即使父模块被禁用也能尊重子模块设置的方法,或者引入更复杂的继承规则。 (25 年 10 月 27 日星期一)