Files
Mofox-Core/src/plugin_system/base/plugin_metadata.py
minecraft1024a 2c74b472ab style: 统一代码风格并进行现代化改进
对整个代码库进行了一次全面的风格统一和现代化改进。主要变更包括:

- 将 `hasattr` 等内置函数中的字符串参数从单引号 `'` 统一为双引号 `"`。
- 采用现代类型注解,例如将 `Optional[T]` 替换为 `T | None`,`List[T]` 替换为 `list[T]` 等。
- 移除不再需要的 Python 2 兼容性声明 `# -*- coding: utf-8 -*-`。
- 清理了多余的空行、注释和未使用的导入。
- 统一了文件末尾的换行符。
- 优化了部分日志输出和字符串格式化 (`f"{e!s}"`)。

这些改动旨在提升代码的可读性、一致性和可维护性,使其更符合现代 Python 编码规范。
2025-10-05 13:21:27 +08:00

27 lines
928 B
Python

from dataclasses import dataclass, field
from typing import Any
@dataclass
class PluginMetadata:
"""
插件元数据,用于存储插件的开发者信息和用户帮助信息。
"""
name: str # 插件名称 (供用户查看)
description: str # 插件功能描述
usage: str # 插件使用方法
# 以下为可选字段,参考自 _manifest.json 和 NoneBot 设计
type: str | None = None # 插件类别: "library", "application"
# 从原 _manifest.json 迁移的字段
version: str = "1.0.0" # 插件版本
author: str = "" # 作者名称
license: str | None = None # 开源协议
repository_url: str | None = None # 仓库地址
keywords: list[str] = field(default_factory=list) # 关键词
categories: list[str] = field(default_factory=list) # 分类
# 扩展字段
extra: dict[str, Any] = field(default_factory=dict) # 其他任意信息