对整个代码库进行了一次全面的风格统一和现代化改进。主要变更包括:
- 将 `hasattr` 等内置函数中的字符串参数从单引号 `'` 统一为双引号 `"`。
- 采用现代类型注解,例如将 `Optional[T]` 替换为 `T | None`,`List[T]` 替换为 `list[T]` 等。
- 移除不再需要的 Python 2 兼容性声明 `# -*- coding: utf-8 -*-`。
- 清理了多余的空行、注释和未使用的导入。
- 统一了文件末尾的换行符。
- 优化了部分日志输出和字符串格式化 (`f"{e!s}"`)。
这些改动旨在提升代码的可读性、一致性和可维护性,使其更符合现代 Python 编码规范。
27 lines
928 B
Python
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) # 其他任意信息
|