CactusUtils.Plugin (или его псевдонимов CactusModule, CactusPlugin) является ключевым моментом в разработке, так как это наделяет ваш класс множеством полезных методов и атрибутов.
База данных
Каждый плагин, использующий CactusLib, получает собственное персистентное хранилище в виде JSON-файла. Вам не нужно заботиться о его создании или загрузке — просто используйте встроенные методы.-
self.get(key: str, default: Any = None) -> AnyПолучает значение по ключу. Если ключ не найден, возвращаетdefault. -
self.set(key: str, value: Any)Сохраняет значение по ключу. -
self.pop(key: str) -> AnyУдаляет ключ и возвращает его значение. -
self.clear_db()Полностью очищает базу данных вашего плагина.
counter.plugin
Локализация (i18n)
CactusLib имеет встроенную поддержку нескольких языков. Вы можете определить строки для разных языков, и библиотека автоматически выберет нужную в зависимости от настроек пользователя. Для этого в вашем классе нужно определить словарьstrings:
hello.plugin
-
self.string(key: str, *args, default: str = None, **kwargs) -> strПолучает строку по ключу для текущего языка пользователя, форматируя ее с переданными аргументами. -
self.lstrings() -> dictВозвращает весь словарь строк для текущего языка.
self.string:
hello.plugin
/ Управление данными при импорте/экспорте
Вы можете определять собственную логику для сохранения и восстановления сложных данных.-
export_data(self) -> dictВызывается, когда пользователь экспортирует плагины с данными. Верните словарь с данными, которые вы хотите сохранить. -
import_data(self, data: dict)Вызывается при импорте. Вdataбудет словарь, который вы вернули изexport_data.
Встроенная база данных хранится на устройстве в папке exteraGram в виде .json файла, а также экспортируются и импортируются самостоятельно при экспорте/импорте плагина или его загрузке.
Другие полезные атрибуты и методы
self.utils: Прямой доступ к объектуCactusUtilsсо всеми его статическими методами.self.log(msg),self.info(msg),self.debug(msg),self.warn(msg),self.error(msg): Методы для логирования с автоматической подстановкой ID вашего плагина.__min_lib_version__: Строка, указывающая минимально требуемую версию CactusLib (например,"1.7.0"). Если версия у пользователя ниже, плагин не загрузится.UPDATE_DATA: Словарь с данными для обновления плагина.