💥 Remove: 移除 Python 3.9 支持 (#3860)

This commit is contained in:
呵呵です
2026-02-18 00:11:36 +08:00
committed by GitHub
parent f719a6b41b
commit 63cde5da77
56 changed files with 603 additions and 1144 deletions

View File

@@ -12,7 +12,6 @@ from itertools import chain
import json
from pathlib import Path
from types import ModuleType
from typing import Optional, Union
from nonebot.log import logger
from nonebot.utils import path_to_module_name
@@ -27,7 +26,7 @@ except ModuleNotFoundError: # pragma: py-lt-311
import tomli as tomllib # pyright: ignore[reportMissingImports]
def load_plugin(module_path: Union[str, Path]) -> Optional[Plugin]:
def load_plugin(module_path: str | Path) -> Plugin | None:
"""加载单个插件,可以是本地插件或是通过 `pip` 安装的插件。
参数:
@@ -159,7 +158,7 @@ def load_from_toml(file_path: str, encoding: str = "utf-8") -> set[Plugin]:
)
def load_builtin_plugin(name: str) -> Optional[Plugin]:
def load_builtin_plugin(name: str) -> Plugin | None:
"""导入 NoneBot 内置插件。
参数:
@@ -177,7 +176,7 @@ def load_builtin_plugins(*plugins: str) -> set[Plugin]:
return load_all_plugins([f"nonebot.plugins.{p}" for p in plugins], [])
def _find_manager_by_name(name: str) -> Optional[PluginManager]:
def _find_manager_by_name(name: str) -> PluginManager | None:
for manager in reversed(_managers):
if (
name in manager.controlled_modules
@@ -217,7 +216,7 @@ def require(name: str) -> ModuleType:
return plugin.module
def inherit_supported_adapters(*names: str) -> Optional[set[str]]:
def inherit_supported_adapters(*names: str) -> set[str] | None:
"""获取已加载插件的适配器支持状态集合。
如果传入了多个插件名称,返回值会自动取交集。
@@ -229,7 +228,7 @@ def inherit_supported_adapters(*names: str) -> Optional[set[str]]:
RuntimeError: 插件未加载
ValueError: 插件缺少元数据
"""
final_supported: Optional[set[str]] = None
final_supported: set[str] | None = None
for name in names:
plugin = get_plugin(_module_name_to_plugin_id(name))