add custom_post

This commit is contained in:
felinae98 2022-05-25 21:26:00 +08:00
parent 8720ff4d2b
commit 1bec4f9933
No known key found for this signature in database
GPG Key ID: 00C8B010587FF610
2 changed files with 30 additions and 3 deletions

View File

@ -42,9 +42,14 @@ class AbstractPost(OptionalMixin, BasePost):
msg_segments = await self.generate_pic_messages()
else:
msg_segments = await self.generate_text_messages()
if msg_segments:
if self.compress:
msgs = [reduce(lambda x, y: x.append(y), msg_segments, Message())]
else:
msgs = list(map(lambda msg_segment: Message([msg_segment]), msg_segments))
msgs = list(
map(lambda msg_segment: Message([msg_segment]), msg_segments)
)
else:
msgs = []
msgs.extend(self.extra_msg)
return msgs

View File

@ -0,0 +1,22 @@
from dataclasses import dataclass
from nonebot.adapters.onebot.v11.message import Message, MessageSegment
from .abstract_post import AbstractPost, BasePost
@dataclass
class _CustomPost(BasePost):
message_segments: list[MessageSegment]
async def generate_text_messages(self) -> list[MessageSegment]:
return self.message_segments
async def generate_pic_messages(self) -> list[MessageSegment]:
... # TODO
@dataclass
class CustomPost(_CustomPost, AbstractPost):
...