From e203e8507827a0feb3953770713f214a07a2bc2f Mon Sep 17 00:00:00 2001 From: MingxuanGame Date: Sat, 16 Dec 2023 14:24:00 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=94=AF=E6=8C=81=E6=9B=B4?= =?UTF-8?q?=E5=A4=9A=E6=96=87=E6=9C=AC=E6=A0=B7=E5=BC=8F=20(#65)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hertavilla/message/text.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/hertavilla/message/text.py b/hertavilla/message/text.py index 4e4cdf6..a3bb35a 100644 --- a/hertavilla/message/text.py +++ b/hertavilla/message/text.py @@ -70,8 +70,13 @@ def __init_subclass__(cls) -> None: class Text(_TextEntity): - def __init__(self, text: str) -> None: + def __init__( + self, + text: str, + *styles: Literal["bold", "italic", "strikethrough", "underline"], + ) -> None: self.text = text + self.styles = styles async def get_text(self, _: VillaBot) -> str: return self.text @@ -198,6 +203,16 @@ async def text_to_content( if isinstance(entity, Text): text = str(entity) length = len(text) + entities.extend( + ( + { + "entity": {"type": "style", "font_style": style}, + "length": length, + "offset": offset, + } + for style in entity.styles + ), + ) else: text = f"{await entity.get_text(bot)}{space}" length = _c(text)