35 lines
968 B
Python
35 lines
968 B
Python
import time
|
|
from typing import List
|
|
from dataclasses import dataclass
|
|
from astrbot.core.message.components import BaseMessageComponent
|
|
from .message_type import MessageType
|
|
|
|
|
|
@dataclass
|
|
class MessageMember:
|
|
user_id: str # 发送者id
|
|
nickname: str = None
|
|
|
|
|
|
class AstrBotMessage:
|
|
"""
|
|
AstrBot 的消息对象
|
|
"""
|
|
|
|
type: MessageType # 消息类型
|
|
self_id: str # 机器人的识别id
|
|
session_id: str # 会话id。取决于 unique_session 的设置。
|
|
message_id: str # 消息id
|
|
group_id: str = "" # 群组id,如果为私聊,则为空
|
|
sender: MessageMember # 发送者
|
|
message: List[BaseMessageComponent] # 消息链使用 Nakuru 的消息链格式
|
|
message_str: str # 最直观的纯文本消息字符串
|
|
raw_message: object
|
|
timestamp: int # 消息时间戳
|
|
|
|
def __init__(self) -> None:
|
|
self.timestamp = int(time.time())
|
|
|
|
def __str__(self) -> str:
|
|
return str(self.__dict__)
|