Skip to content

Commit cb0c112

Browse files
committed
chore: 使用 basedpyright 代替 pyright
1 parent c139cff commit cb0c112

File tree

24 files changed

+1324
-533
lines changed

24 files changed

+1324
-533
lines changed

.github/workflows/lint.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,8 @@ jobs:
3838
- uses: actions/checkout@v4
3939
- name: Setup Python
4040
uses: ./.github/actions/setup-python
41-
- name: Setup Node
42-
uses: ./.github/actions/setup-node
4341
- run: uv sync --all-extras --all-packages --all-groups
44-
- run: |
45-
source .venv/bin/activate
46-
pnpm run pyright
42+
- run: uv run basedpyright
4743

4844
mypy:
4945
runs-on: ubuntu-latest

alicebot/adapter/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def __init__(self, bot: "Bot") -> None:
5959
"""
6060
if not hasattr(self, "name"):
6161
self.name = self.__class__.__name__
62-
self.bot: Bot = bot
62+
self.bot = bot
6363
self.handle_event = self.bot.handle_event
6464

6565
@property

alicebot/event.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
事件类的基类。适配器开发者应实现此事件类基类的子类。
44
"""
55

6-
from abc import ABC, abstractmethod
6+
from abc import ABCMeta, abstractmethod
77
from typing import TYPE_CHECKING, Any, Generic, NamedTuple, Optional, Union
88
from typing_extensions import Self, override
99

@@ -14,7 +14,7 @@
1414
__all__ = ["Event", "EventHandleOption", "MessageEvent"]
1515

1616

17-
class Event(ABC, BaseModel, Generic[AdapterT]):
17+
class Event(BaseModel, Generic[AdapterT], metaclass=ABCMeta):
1818
"""事件类的基类。
1919
2020
Attributes:
@@ -51,7 +51,7 @@ class EventHandleOption(NamedTuple):
5151
handle_get: bool
5252

5353

54-
class MessageEvent(Event[AdapterT], Generic[AdapterT]):
54+
class MessageEvent(Event[AdapterT], Generic[AdapterT], metaclass=ABCMeta):
5555
"""通用的消息事件类的基类。"""
5656

5757
@abstractmethod

alicebot/message.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,10 @@
44
适配器开发者可以根据需要实现此模块中消息类的子类或定义与此不同的消息类型,但建议若可行的话应尽量使用此模块中消息类的子类。
55
"""
66

7+
import builtins
78
from abc import ABC, abstractmethod
89
from collections.abc import ItemsView, Iterator, KeysView, Mapping, ValuesView
9-
from typing import ( # noqa: UP035
10-
Any,
11-
Generic,
12-
Optional,
13-
SupportsIndex,
14-
Type,
15-
TypeVar,
16-
Union,
17-
overload,
18-
)
10+
from typing import Any, Generic, Optional, SupportsIndex, TypeVar, Union, overload
1911
from typing_extensions import Self, override
2012

2113
from pydantic import BaseModel, Field, GetCoreSchemaHandler
@@ -51,6 +43,7 @@ def __init__(self, *messages: BuildMessageType[MessageSegmentT]) -> None:
5143
Args:
5244
*messages: 可以被转化为消息的数据。
5345
"""
46+
super().__init__()
5447
segment_class = self.get_segment_class()
5548
for message in messages:
5649
if isinstance(message, list):
@@ -315,7 +308,7 @@ def _replace_str(self, old: str, new: str, count: int = -1) -> Self:
315308
return temp_msg
316309

317310

318-
class MessageSegment(ABC, BaseModel, Mapping[str, Any], Generic[MessageT]):
311+
class MessageSegment(ABC, BaseModel, Mapping[str, Any], Generic[MessageT]): # pyright: ignore[reportUnsafeMultipleInheritance]
319312
"""消息字段。
320313
321314
本类实现了所有 `Mapping` 类型的方法,这些方法全部是对 `data` 属性的操作。
@@ -332,7 +325,7 @@ class MessageSegment(ABC, BaseModel, Mapping[str, Any], Generic[MessageT]):
332325

333326
@classmethod
334327
@abstractmethod
335-
def get_message_class(cls) -> Type[MessageT]: # noqa: UP006
328+
def get_message_class(cls) -> builtins.type[MessageT]:
336329
"""获取消息类。
337330
338331
Returns:

package.json

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,31 +17,29 @@
1717
"docs:serve": "vitepress serve docs",
1818
"changelog": "conventional-changelog -p angular -i docs/changelog.md -s -r 0",
1919
"markdownlint": "markdownlint-cli2 '{*.md,docs/guide/**/*.md,packages/**/*.md}'",
20-
"pyright": "pyright",
2120
"prettier": "prettier -c .",
2221
"prettier:fix": "prettier -w .",
2322
"eslint": "eslint .",
2423
"eslint:fix": "eslint . --fix"
2524
},
2625
"dependencies": {
2726
"@iconify-json/mdi": "^1.2.3",
28-
"unocss": "^66.1.2",
27+
"unocss": "^66.1.3",
2928
"vitepress": "^1.6.3",
30-
"vue": "^3.5.14"
29+
"vue": "^3.5.16"
3130
},
3231
"devDependencies": {
33-
"@eslint/js": "^9.27.0",
34-
"@types/node": "^22.15.21",
35-
"@unocss/eslint-config": "^66.1.2",
32+
"@eslint/js": "^9.28.0",
33+
"@types/node": "^22.15.29",
34+
"@unocss/eslint-config": "^66.1.3",
3635
"conventional-changelog-cli": "^5.0.0",
37-
"eslint": "^9.27.0",
36+
"eslint": "^9.28.0",
3837
"eslint-config-prettier": "^10.1.5",
3938
"eslint-plugin-vue": "^10.1.0",
40-
"globals": "^16.1.0",
39+
"globals": "^16.2.0",
4140
"markdownlint-cli2": "^0.18.1",
4241
"prettier": "^3.5.3",
43-
"pyright": "1.1.400",
44-
"typescript-eslint": "^8.32.1",
42+
"typescript-eslint": "^8.33.0",
4543
"vue-eslint-parser": "^10.1.3"
4644
},
4745
"pnpm": {

packages/alicebot-adapter-apscheduler/alicebot/adapter/apscheduler/event.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
"""APScheduler 适配器事件。"""
22

33
# pyright: reportMissingTypeStubs = false
4-
from typing import TYPE_CHECKING, Any, Optional, Type, Union # noqa: UP035
4+
from typing import TYPE_CHECKING, Any, Optional, Union
55

66
from apscheduler.job import Job
77
from apscheduler.triggers.base import BaseTrigger
88

99
from alicebot.event import Event
1010

1111
if TYPE_CHECKING:
12+
import builtins
13+
1214
from alicebot.plugin import Plugin
1315

1416
from . import APSchedulerAdapter
@@ -22,7 +24,7 @@ class APSchedulerEvent(Event["APSchedulerAdapter"]):
2224

2325
type: Optional[str] = "apscheduler"
2426
if TYPE_CHECKING:
25-
plugin_class: Type[Plugin[Any, Any, Any]] # noqa: UP006
27+
plugin_class: "builtins.type[Plugin[Any, Any, Any]]"
2628
else:
2729
plugin_class: Any
2830

packages/alicebot-adapter-cqhttp/alicebot/adapter/cqhttp/exceptions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def __init__(self, resp: dict[str, Any]) -> None:
3030
Args:
3131
resp: 返回的响应。
3232
"""
33+
super().__init__()
3334
self.resp = resp
3435

3536

packages/alicebot-adapter-mirai/alicebot/adapter/mirai/event/message.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""消息事件。"""
22
# pyright: reportIncompatibleVariableOverride=false
33

4+
from abc import ABC
45
from typing import TYPE_CHECKING, Any, Literal, Union
56
from typing_extensions import override
67

@@ -14,7 +15,7 @@
1415
from .. import MiraiAdapter # noqa: TID252
1516

1617

17-
class MiraiBaseMessageEvent(MiraiEvent, BaseMessageEvent["MiraiAdapter"]):
18+
class MiraiBaseMessageEvent(ABC, MiraiEvent, BaseMessageEvent["MiraiAdapter"]):
1819
"""Mirai 消息事件基类"""
1920

2021
messageChain: MiraiMessage

packages/alicebot-adapter-mirai/alicebot/adapter/mirai/exceptions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ def __init__(self, code: int, resp: dict[str, Any]) -> None:
2525
code: 错误代码。
2626
resp: 返回的响应。
2727
"""
28+
super().__init__()
2829
self.code = code
2930
self.resp = resp
3031

packages/alicebot-adapter-onebot/alicebot/adapter/onebot/exceptions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def __init__(self, resp: Any) -> None:
2424
Args:
2525
resp: 返回的响应。
2626
"""
27+
super().__init__()
2728
self.resp = resp
2829

2930

0 commit comments

Comments
 (0)