🐛 Bug: inherit_supported_adapters 在展开缩写前取交集 (#2654)

Co-authored-by: Ju4tCode <42488585+yanyongyu@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
Azide
2024-04-18 18:50:11 +08:00
committed by GitHub
parent b497bb8c83
commit f5f5d93b64
3 changed files with 96 additions and 32 deletions

View File

@ -206,18 +206,17 @@ def inherit_supported_adapters(*names: str) -> Optional[set[str]]:
meta = plugin.metadata
if meta is None:
raise ValueError(f'Plugin "{name}" has no metadata!')
support = meta.supported_adapters
if support is None:
if (raw := meta.supported_adapters) is None:
continue
support = {
f"nonebot.adapters.{adapter[1:]}" if adapter.startswith("~") else adapter
for adapter in raw
}
final_supported = (
support if final_supported is None else (final_supported & support)
)
return final_supported and {
(
f"nonebot.adapters.{adapter_name[1:]}"
if adapter_name.startswith("~")
else adapter_name
)
for adapter_name in final_supported
}
return final_supported