diff --git a/nonebot/adapters/_message.py b/nonebot/adapters/_message.py index fc8d8c3f..21c4a46b 100644 --- a/nonebot/adapters/_message.py +++ b/nonebot/adapters/_message.py @@ -164,7 +164,9 @@ class Message(List[TMS], abc.ABC): @classmethod def _validate(cls, value): - if isinstance(value, str): + if isinstance(value, cls): + return value + elif isinstance(value, str): pass elif isinstance(value, dict): value = parse_obj_as(cls.get_segment_class(), value)