nonebot-adapter-qq 1.4.3__tar.gz → 1.4.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/PKG-INFO +2 -2
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/adapter.py +11 -10
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/models/common.py +15 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/models/guild.py +0 -12
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/pyproject.toml +3 -3
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/LICENSE +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/README.md +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/__init__.py +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/bot.py +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/compat.py +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/config.py +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/event.py +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/exception.py +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/message.py +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/models/__init__.py +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/models/payload.py +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/models/qq.py +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/permission.py +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/store.py +0 -0
- {nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/utils.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: nonebot-adapter-qq
|
3
|
-
Version: 1.4.
|
3
|
+
Version: 1.4.4
|
4
4
|
Summary: QQ adapter for nonebot2
|
5
5
|
Home-page: https://github.com/nonebot/adapter-qq
|
6
6
|
License: MIT
|
@@ -19,7 +19,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.10
|
20
20
|
Classifier: Programming Language :: Python :: 3.11
|
21
21
|
Classifier: Programming Language :: Python :: 3.12
|
22
|
-
Requires-Dist: nonebot2 (>=2.2.
|
22
|
+
Requires-Dist: nonebot2 (>=2.2.1,<3.0.0)
|
23
23
|
Requires-Dist: pydantic (>=1.10.0,<3.0.0,!=2.5.0,!=2.5.1)
|
24
24
|
Requires-Dist: typing-extensions (>=4.4.0,<5.0.0)
|
25
25
|
Requires-Dist: yarl (>=1.9.0,<2.0.0)
|
@@ -1,12 +1,11 @@
|
|
1
1
|
import sys
|
2
|
-
import json
|
3
2
|
import asyncio
|
4
3
|
from typing_extensions import override
|
5
4
|
from typing import Any, List, Tuple, Literal, Optional
|
6
5
|
|
7
6
|
from nonebot.utils import escape_tag
|
8
7
|
from nonebot.exception import WebSocketClosed
|
9
|
-
from nonebot.compat import PYDANTIC_V2, type_validate_python
|
8
|
+
from nonebot.compat import PYDANTIC_V2, type_validate_json, type_validate_python
|
10
9
|
from nonebot.drivers import (
|
11
10
|
URL,
|
12
11
|
Driver,
|
@@ -68,7 +67,7 @@ class Adapter(BaseAdapter):
|
|
68
67
|
"websocket client! "
|
69
68
|
"QQ Adapter need a WebSocketClient Driver to work."
|
70
69
|
)
|
71
|
-
self.
|
70
|
+
self.on_ready(self.startup)
|
72
71
|
self.driver.on_shutdown(self.shutdown)
|
73
72
|
|
74
73
|
async def startup(self) -> None:
|
@@ -241,7 +240,8 @@ class Adapter(BaseAdapter):
|
|
241
240
|
) -> Optional[Literal[True]]:
|
242
241
|
"""鉴权连接"""
|
243
242
|
if not bot.ready:
|
244
|
-
payload =
|
243
|
+
payload = type_validate_python(
|
244
|
+
Identify,
|
245
245
|
{
|
246
246
|
"data": {
|
247
247
|
"token": await bot._get_authorization_header(),
|
@@ -252,18 +252,19 @@ class Adapter(BaseAdapter):
|
|
252
252
|
"$language": f"python {sys.version}",
|
253
253
|
"$sdk": "NoneBot2",
|
254
254
|
},
|
255
|
-
}
|
256
|
-
}
|
255
|
+
}
|
256
|
+
},
|
257
257
|
)
|
258
258
|
else:
|
259
|
-
payload =
|
259
|
+
payload = type_validate_python(
|
260
|
+
Resume,
|
260
261
|
{
|
261
262
|
"data": {
|
262
263
|
"token": await bot._get_authorization_header(),
|
263
264
|
"session_id": bot.session_id,
|
264
265
|
"seq": bot.sequence,
|
265
266
|
}
|
266
|
-
}
|
267
|
+
},
|
267
268
|
)
|
268
269
|
|
269
270
|
try:
|
@@ -326,7 +327,7 @@ class Adapter(BaseAdapter):
|
|
326
327
|
while True:
|
327
328
|
if bot.ready:
|
328
329
|
log("TRACE", f"Heartbeat {bot.sequence}")
|
329
|
-
payload = Heartbeat
|
330
|
+
payload = type_validate_python(Heartbeat, {"data": bot.sequence})
|
330
331
|
try:
|
331
332
|
await ws.send(self.payload_to_json(payload))
|
332
333
|
except Exception as e:
|
@@ -387,7 +388,7 @@ class Adapter(BaseAdapter):
|
|
387
388
|
|
388
389
|
@staticmethod
|
389
390
|
async def receive_payload(bot: Bot, ws: WebSocket) -> Payload:
|
390
|
-
payload =
|
391
|
+
payload = type_validate_json(PayloadType, await ws.receive())
|
391
392
|
if isinstance(payload, Dispatch):
|
392
393
|
bot.on_dispatch(payload)
|
393
394
|
return payload
|
@@ -1,3 +1,4 @@
|
|
1
|
+
from datetime import datetime
|
1
2
|
from urllib.parse import urlparse
|
2
3
|
from typing import List, Literal, Optional
|
3
4
|
|
@@ -119,6 +120,19 @@ class MessageKeyboard(BaseModel):
|
|
119
120
|
content: Optional[InlineKeyboard] = None
|
120
121
|
|
121
122
|
|
123
|
+
# Message Audit Event
|
124
|
+
class MessageAudited(BaseModel):
|
125
|
+
audit_id: str
|
126
|
+
message_id: Optional[str] = None
|
127
|
+
user_openid: Optional[str] = None
|
128
|
+
group_openid: Optional[str] = None
|
129
|
+
guild_id: Optional[str] = None
|
130
|
+
channel_id: Optional[str] = None
|
131
|
+
audit_time: datetime
|
132
|
+
create_time: Optional[datetime] = None
|
133
|
+
seq_in_channel: Optional[str] = None
|
134
|
+
|
135
|
+
|
122
136
|
# Interaction Event
|
123
137
|
class ButtonInteractionContent(BaseModel):
|
124
138
|
user_id: Optional[str] = None
|
@@ -167,6 +181,7 @@ __all__ = [
|
|
167
181
|
"InlineKeyboardRow",
|
168
182
|
"InlineKeyboard",
|
169
183
|
"MessageKeyboard",
|
184
|
+
"MessageAudited",
|
170
185
|
"ButtonInteractionContent",
|
171
186
|
"ButtonInteractionData",
|
172
187
|
"ButtonInteraction",
|
@@ -162,17 +162,6 @@ class MessageDelete(BaseModel):
|
|
162
162
|
op_user: User
|
163
163
|
|
164
164
|
|
165
|
-
# Message Audit Event
|
166
|
-
class MessageAudited(BaseModel):
|
167
|
-
audit_id: str
|
168
|
-
message_id: Optional[str] = None
|
169
|
-
guild_id: str
|
170
|
-
channel_id: str
|
171
|
-
audit_time: datetime
|
172
|
-
create_time: Optional[datetime] = None
|
173
|
-
seq_in_channel: Optional[str] = None
|
174
|
-
|
175
|
-
|
176
165
|
# Message Setting
|
177
166
|
class MessageSetting(BaseModel):
|
178
167
|
disable_create_dm: bool
|
@@ -525,7 +514,6 @@ __all__ = [
|
|
525
514
|
"ChannelPermissions",
|
526
515
|
"Message",
|
527
516
|
"MessageDelete",
|
528
|
-
"MessageAudited",
|
529
517
|
"MessageSetting",
|
530
518
|
"DMS",
|
531
519
|
"RecommendChannel",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "nonebot-adapter-qq"
|
3
|
-
version = "1.4.
|
3
|
+
version = "1.4.4"
|
4
4
|
description = "QQ adapter for nonebot2"
|
5
5
|
authors = ["yanyongyu <yyy@nonebot.dev>"]
|
6
6
|
license = "MIT"
|
@@ -21,12 +21,12 @@ packages = [{ include = "nonebot" }]
|
|
21
21
|
[tool.poetry.dependencies]
|
22
22
|
python = "^3.8"
|
23
23
|
yarl = "^1.9.0"
|
24
|
-
nonebot2 = "^2.2.
|
24
|
+
nonebot2 = "^2.2.1"
|
25
25
|
typing-extensions = ">=4.4.0, <5.0.0"
|
26
26
|
pydantic = ">=1.10.0,<3.0.0,!=2.5.0,!=2.5.1"
|
27
27
|
|
28
28
|
[tool.poetry.group.dev.dependencies]
|
29
|
-
ruff = "^0.
|
29
|
+
ruff = "^0.4.0"
|
30
30
|
isort = "^5.10.1"
|
31
31
|
black = "^24.0.0"
|
32
32
|
nonemoji = "^0.1.3"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{nonebot_adapter_qq-1.4.3 → nonebot_adapter_qq-1.4.4}/nonebot/adapters/qq/models/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|