Files
AstrBot/astrbot/core/message_event_result.py
T
2024-11-27 15:04:30 +08:00

58 lines
1.6 KiB
Python

from typing import List, Union, Optional
from dataclasses import dataclass, field
from nakuru.entities.components import *
@dataclass
class MessageChain():
chain: List[BaseMessageComponent] = field(default_factory=list)
use_t2i_: Optional[bool] = None # None 为跟随用户设置
def message(self, message: str):
'''
快捷回复消息。
CommandResult().message("Hello, world!")
'''
self.chain.append(Plain(message))
return self
def error(self, message: str):
'''
快捷回复消息。
CommandResult().error("Hello, world!")
'''
self.chain.append(Plain(message))
return self
def url_image(self, url: str):
'''
快捷回复图片(网络url的格式)。
CommandResult().image("https://example.com/image.jpg")
'''
self.chain.append(Image.fromURL(url))
return self
def file_image(self, path: str):
'''
快捷回复图片(本地文件路径的格式)。
CommandResult().image("image.jpg")
'''
self.chain.append(Image.fromFileSystem(path))
return self
def use_t2i(self, use_t2i: bool):
'''
设置是否使用文本转图片服务。如果不设置,则跟随用户的设置。
'''
self.use_t2i_ = use_t2i
return self
@dataclass
class MessageEventResult(MessageChain):
is_command_call: Optional[bool] = False
callback: Optional[callable] = None
CommandResult = MessageEventResult