nonebot-adapter-qq 1.6.0__tar.gz → 1.6.1__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.6.0 → nonebot_adapter_qq-1.6.1}/PKG-INFO +2 -2
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/adapter.py +5 -4
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/bot.py +12 -6
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/message.py +2 -2
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/models/qq.py +2 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/pyproject.toml +2 -2
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/LICENSE +0 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/README.md +0 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/__init__.py +0 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/compat.py +0 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/config.py +0 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/event.py +0 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/exception.py +0 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/models/__init__.py +0 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/models/common.py +0 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/models/guild.py +0 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/models/payload.py +0 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/permission.py +0 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/store.py +0 -0
- {nonebot_adapter_qq-1.6.0 → nonebot_adapter_qq-1.6.1}/nonebot/adapters/qq/utils.py +0 -0
@@ -92,10 +92,7 @@ class Adapter(BaseAdapter):
|
|
92
92
|
self.driver.on_shutdown(self.shutdown)
|
93
93
|
|
94
94
|
async def startup(self) -> None:
|
95
|
-
log(
|
96
|
-
"DEBUG",
|
97
|
-
("QQ run in sandbox mode: " f"<y>{self.qq_config.qq_is_sandbox}</y>"),
|
98
|
-
)
|
95
|
+
log("DEBUG", f"QQ run in sandbox mode: <y>{self.qq_config.qq_is_sandbox}</y>")
|
99
96
|
|
100
97
|
try:
|
101
98
|
api_base = self.get_api_base()
|
@@ -464,6 +461,10 @@ class Adapter(BaseAdapter):
|
|
464
461
|
):
|
465
462
|
return response
|
466
463
|
|
464
|
+
# ensure bot self info
|
465
|
+
if not bot._self_info:
|
466
|
+
bot.self_info = await bot.me()
|
467
|
+
|
467
468
|
if bot.self_id not in self.bots:
|
468
469
|
self.bot_connect(bot)
|
469
470
|
|
@@ -200,6 +200,10 @@ class Bot(BaseBot):
|
|
200
200
|
raise RuntimeError(f"Bot {self.bot_info} is not connected!")
|
201
201
|
return self._self_info
|
202
202
|
|
203
|
+
@self_info.setter
|
204
|
+
def self_info(self, info: User):
|
205
|
+
self._self_info = info
|
206
|
+
|
203
207
|
@property
|
204
208
|
def ready(self) -> bool:
|
205
209
|
"""Bot 是否已经准备就绪"""
|
@@ -281,9 +285,11 @@ class Bot(BaseBot):
|
|
281
285
|
return _message
|
282
286
|
|
283
287
|
@staticmethod
|
284
|
-
def _extract_send_message(
|
288
|
+
def _extract_send_message(
|
289
|
+
message: Message, escape_text: bool = True
|
290
|
+
) -> dict[str, Any]:
|
285
291
|
kwargs = {}
|
286
|
-
content = message.extract_content() or None
|
292
|
+
content = message.extract_content(escape_text) or None
|
287
293
|
kwargs["content"] = content
|
288
294
|
if embed := (message["embed"] or None):
|
289
295
|
kwargs["embed"] = embed[-1].data["embed"]
|
@@ -347,7 +353,7 @@ class Bot(BaseBot):
|
|
347
353
|
guild_id=guild_id,
|
348
354
|
msg_id=msg_id,
|
349
355
|
event_id=event_id,
|
350
|
-
**self._extract_send_message(message=message),
|
356
|
+
**self._extract_send_message(message=message, escape_text=True),
|
351
357
|
**self._extract_guild_image(message=message),
|
352
358
|
)
|
353
359
|
|
@@ -363,7 +369,7 @@ class Bot(BaseBot):
|
|
363
369
|
channel_id=channel_id,
|
364
370
|
msg_id=msg_id,
|
365
371
|
event_id=event_id,
|
366
|
-
**self._extract_send_message(message=message),
|
372
|
+
**self._extract_send_message(message=message, escape_text=True),
|
367
373
|
**self._extract_guild_image(message=message),
|
368
374
|
)
|
369
375
|
|
@@ -376,7 +382,7 @@ class Bot(BaseBot):
|
|
376
382
|
event_id: Optional[str] = None,
|
377
383
|
) -> Union[PostC2CMessagesReturn, PostC2CFilesReturn]:
|
378
384
|
message = self._prepare_message(message)
|
379
|
-
kwargs = self._extract_send_message(message=message)
|
385
|
+
kwargs = self._extract_send_message(message=message, escape_text=False)
|
380
386
|
if kwargs.get("embed"):
|
381
387
|
msg_type = 4
|
382
388
|
elif kwargs.get("ark"):
|
@@ -425,7 +431,7 @@ class Bot(BaseBot):
|
|
425
431
|
event_id: Optional[str] = None,
|
426
432
|
) -> Union[PostGroupMessagesReturn, PostGroupFilesReturn]:
|
427
433
|
message = self._prepare_message(message)
|
428
|
-
kwargs = self._extract_send_message(message=message)
|
434
|
+
kwargs = self._extract_send_message(message=message, escape_text=False)
|
429
435
|
if kwargs.get("embed"):
|
430
436
|
msg_type = 4
|
431
437
|
elif kwargs.get("ark"):
|
@@ -532,9 +532,9 @@ class Message(BaseMessage[MessageSegment]):
|
|
532
532
|
)
|
533
533
|
return msg
|
534
534
|
|
535
|
-
def extract_content(self) -> str:
|
535
|
+
def extract_content(self, escape_text: bool = True) -> str:
|
536
536
|
return "".join(
|
537
|
-
str(seg)
|
537
|
+
seg.data["text"] if not escape_text and seg.type == "text" else str(seg)
|
538
538
|
for seg in self
|
539
539
|
if seg.type
|
540
540
|
in ("text", "emoji", "mention_user", "mention_everyone", "mention_channel")
|
@@ -10,11 +10,13 @@ from nonebot.adapters.qq.compat import field_validator
|
|
10
10
|
class FriendAuthor(BaseModel):
|
11
11
|
id: str
|
12
12
|
user_openid: str
|
13
|
+
union_openid: Optional[str] = None
|
13
14
|
|
14
15
|
|
15
16
|
class GroupMemberAuthor(BaseModel):
|
16
17
|
id: str
|
17
18
|
member_openid: str
|
19
|
+
union_openid: Optional[str] = None
|
18
20
|
|
19
21
|
|
20
22
|
class Attachment(BaseModel):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "nonebot-adapter-qq"
|
3
|
-
version = "1.6.
|
3
|
+
version = "1.6.1"
|
4
4
|
description = "QQ adapter for nonebot2"
|
5
5
|
authors = ["yanyongyu <yyy@nonebot.dev>"]
|
6
6
|
license = "MIT"
|
@@ -27,7 +27,7 @@ typing-extensions = ">=4.4.0, <5.0.0"
|
|
27
27
|
pydantic = ">=1.10.0,<3.0.0,!=2.5.0,!=2.5.1"
|
28
28
|
|
29
29
|
[tool.poetry.group.dev.dependencies]
|
30
|
-
ruff = "^0.
|
30
|
+
ruff = "^0.9.0"
|
31
31
|
isort = "^5.10.1"
|
32
32
|
nonemoji = "^0.1.3"
|
33
33
|
pre-commit = "^4.0.0"
|
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.6.0 → nonebot_adapter_qq-1.6.1}/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
|
File without changes
|