⚗️ support segment typing for message

This commit is contained in:
yanyongyu
2021-05-10 00:54:15 +08:00
parent 4b38afdcd7
commit f8ad9ef278
5 changed files with 9 additions and 9 deletions

View File

@ -100,14 +100,14 @@ def _check_at_me(bot: "Bot", event: "Event"):
# check the first segment
if event.message[0] == at_me_seg:
event.to_me = True
del event.message[0]
event.message.pop(0)
if event.message and event.message[0].type == "text":
event.message[0].data["text"] = event.message[0].data[
"text"].lstrip()
if not event.message[0].data["text"]:
del event.message[0]
if event.message and event.message[0] == at_me_seg:
del event.message[0]
event.message.pop(0)
if event.message and event.message[0].type == "text":
event.message[0].data["text"] = event.message[0].data[
"text"].lstrip()

View File

@ -3,7 +3,7 @@ from io import BytesIO
from pathlib import Path
from base64 import b64encode
from functools import reduce
from typing import Any, Dict, Union, Tuple, Mapping, Iterable, Optional
from typing import Any, List, Dict, Union, Tuple, Mapping, Iterable, Optional
from nonebot.typing import overrides
from nonebot.adapters import Message as BaseMessage, MessageSegment as BaseMessageSegment
@ -229,7 +229,7 @@ class MessageSegment(BaseMessageSegment):
return MessageSegment("xml", {"data": data})
class Message(BaseMessage):
class Message(BaseMessage[MessageSegment]):
"""
CQHTTP 协议 Message 适配。
"""