From b9f92e547c663a6d4a853b1c967e6f3cc2dca641 Mon Sep 17 00:00:00 2001 From: Kyomotoi <0w0@imki.moe> Date: Thu, 13 Oct 2022 15:27:36 +0800 Subject: =?UTF-8?q?=F0=9F=A7=B1=20=E4=B8=BA=E9=95=BF=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=8F=90=E4=BE=9B=E4=BE=BF=E6=90=BA=E7=9A=84=E9=93=BE=E6=9E=84?= =?UTF-8?q?=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ATRI/message.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 ATRI/message.py diff --git a/ATRI/message.py b/ATRI/message.py new file mode 100644 index 0000000..fb31ef5 --- /dev/null +++ b/ATRI/message.py @@ -0,0 +1,39 @@ +from io import BytesIO +from pathlib import Path +from typing import Optional, Union + +from nonebot.adapters.onebot.v11.message import Message, MessageSegment + + +class MessageBuilder(Message): + def at(self, user_id: Union[int, str]) -> "MessageBuilder": + self.append(MessageSegment.at(user_id)) + return self + + def face(self, id_: int) -> "MessageBuilder": + self.append(MessageSegment.face(id_)) + return self + + def image( + self, + file: Union[str, bytes, BytesIO, Path], + type_: Optional[str] = None, + cache: bool = True, + proxy: bool = True, + timeout: Optional[int] = None, + ) -> "MessageBuilder": + self.append(MessageSegment.image(file, type_, cache, proxy, timeout)) + return self + + def reply(self, id_: int) -> "MessageBuilder": + self.append(MessageSegment.reply(id_)) + return self + + def text(self, text: str) -> "MessageBuilder": + if self[-1].type == "text": + text = "\n" + text + self.append(MessageSegment.text(text)) + return self + + def done(self) -> str: + return str().join(map(str, self)) -- cgit v1.2.3