💥 🐛 add support for non-plaintext start message

This commit is contained in:
Mix
2021-02-07 02:21:31 +08:00
parent bf7b2a8cbe
commit abcdbc4de9
2 changed files with 16 additions and 12 deletions

View File

@ -25,7 +25,7 @@ from nonebot.exception import ParserExit
from nonebot.typing import T_State, T_RuleChecker
if TYPE_CHECKING:
from nonebot.adapters import Bot, Event
from nonebot.adapters import Bot, Event, MessageSegment
class Rule:
@ -137,8 +137,9 @@ class TrieRule:
prefix = None
suffix = None
message = event.get_message()
message_seg = message[0]
if message_seg.is_text():
message_seg: Optional[MessageSegment] = next(
filter(lambda x: x.is_text(), message), None)
if message_seg is not None:
prefix = cls.prefix.longest_prefix(str(message_seg).lstrip())
message_seg_r = message[-1]
if message_seg_r.is_text():