Tworzenie nowych modułów wtyczek¶
Nasz framework wykorzystuje potężny system automatycznego wykrywania do ładowania modułów reguł. Dzięki temu dodawanie nowych zestawów poleceń jest proste i przejrzyste, bez konieczności ręcznego rejestrowania każdego nowego komponentu. W tym przewodniku wyjaśniono, jak tworzyć, organizować i zarządzać własnymi modułami niestandardowymi.
Podstawowa koncepcja: moduły oparte na folderach¶
Moduł to po prostu folder w katalogu config/maps/. System automatycznie skanuje ten katalog i traktuje każdy podfolder jako moduł do załadowania.
Przewodnik krok po kroku dotyczący tworzenia modułu¶
Wykonaj poniższe kroki, aby utworzyć nowy moduł, na przykład do przechowywania makr dla konkretnej gry.
1. Przejdź do katalogu Map
Wszystkie moduły reguł znajdują się w folderze config/maps/ projektu.
2. Utwórz folder modułu
Utwórz nowy folder. Nazwa powinna być opisowa i zawierać podkreślenia zamiast spacji (np. moja_makro_gry, niestandardowa_automatyzacja_domu).
3. Dodaj podfoldery języka (krok krytyczny) W folderze nowego modułu musisz utworzyć podfoldery dla każdego języka, który chcesz obsługiwać.
Konwencja nazewnictwa: Nazwy tych podfolderów muszą być prawidłowymi kodami języka i ustawień regionalnych. System używa tych nazw do załadowania poprawnych reguł dla aktywnego języka.
Poprawne przykłady:
de-DE,en-US,en-GB,pt-BRUwaga: Jeśli użyjesz niestandardowej nazwy, takiej jak
niemieckilubenglish_rules, system albo zignoruje folder, albo potraktuje go jako oddzielny moduł niespecyficzny dla języka.
4. Dodaj swoje pliki reguł
Umieść pliki reguł (np. FUZZY_MAP_pre.py) w podfolderze odpowiedniego języka. Najprostszym sposobem na rozpoczęcie jest skopiowanie zawartości istniejącego folderu modułu językowego w celu użycia go jako szablonu.
Przykładowa struktura katalogów¶
KOD_BLOKU_0
Zarządzanie modułami w konfiguracji¶
System zaprojektowano tak, aby wymagał minimalnej konfiguracji.
Włączanie modułów (domyślne)¶
Moduły są domyślnie włączone. Jeśli w config/maps/ istnieje folder modułu, system go znajdzie i załaduje jego reguły. Nie musisz dodawać wpisu do pliku ustawień, aby włączyć nowy moduł.
Wyłączanie modułów¶
Aby wyłączyć moduł, musisz dodać dla niego wpis w słowniku PLUGINS_ENABLED w pliku ustawień i ustawić jego wartość na False.
Przykład (config/settings.py):
KOD_BLOKU_1
Ważne uwagi projektowe¶
Zachowanie domyślne: Brak wpisu równa się
TrueJeśli moduł nie jest wymieniony w słownikuPLUGINS_ENABLED, domyślnie jest uważany za aktywny. Dzięki takiemu rozwiązaniu plik konfiguracyjny jest czysty, ponieważ wystarczy jedynie wyświetlić listę wyjątków.Skrót od Włączanie Twój system konfiguracyjny rozumie również, że wypisanie klucza modułu bez wartości oznacza, że jest on włączony. Na przykład dodanie „wannweil” do słownika jest równoznaczne z dodaniem „wannweil”: True. Zapewnia to wygodny skrót umożliwiający włączanie modułów.
Wyłączanie modułów nadrzędnych: Zamierzone zachowanie polega na tym, że wyłączenie modułu nadrzędnego powinno XSPACEbreakX automatycznie wyłącza wszystkie moduły podrzędne i podfoldery językowe. Na przykład ustawienie
"standard_actions": Falsepowinno uniemożliwić załadowanie zarównode-DE, jak ien-US. (27.10.25 pon.) XSPACEbreakXbramka Celem jest dalsze udoskonalanie tego systemu. Na przykład umożliwienie respektowania ustawień modułu podrzędnego, nawet jeśli moduł nadrzędny jest wyłączony, lub wprowadzenie bardziej złożonych reguł dziedziczenia. (27.10.25 pon.)