适配db的修改;MessageComponent更新

This commit is contained in:
UnCLAS-Prommer
2026-03-02 20:37:15 +08:00
parent 3f93d93b9a
commit c16ced765e
3 changed files with 11 additions and 5 deletions

View File

@@ -78,6 +78,7 @@ class SessionMessage(MaiMessage):
content = f"[图片:{desc}]" if desc else "[一张图片,网卡了加载不出来]"
component.content = content
component.binary_data = b"" # 处理完就丢掉二进制数据,节省内存
return content
async def process_emoji_component(self, component: EmojiComponent) -> str:
@@ -97,6 +98,7 @@ class SessionMessage(MaiMessage):
else:
content = "[一个表情,网卡了加载不出来]"
component.content = content
component.binary_data = b"" # 处理完就丢掉二进制数据,节省内存
return content
async def process_at_component(self, component: AtComponent) -> str:

View File

@@ -1,9 +1,9 @@
from datetime import datetime
from typing import List, Optional, Literal
from typing import List, Optional
import json
from src.common.database.database_model import Expression
from src.common.database.database_model import Expression, ModifiedBy
from . import BaseDatabaseDataModel
@@ -23,7 +23,7 @@ class MaiExpression(BaseDatabaseDataModel[Expression]):
session_id: Optional[str] = None,
checked: bool = False,
rejected: bool = False,
modified_by: Optional[Literal["ai", "user"]] = None,
modified_by: Optional[ModifiedBy] = None,
):
self.item_id = item_id
"""自增主键ID"""
@@ -45,7 +45,7 @@ class MaiExpression(BaseDatabaseDataModel[Expression]):
"""是否已经被检查过"""
self.rejected: bool = rejected
"""是否被拒绝但是未更新"""
self.modified_by: Optional[Literal["ai", "user"]] = modified_by
self.modified_by: Optional[ModifiedBy] = modified_by
"""最后修改者标记用户或AI为空表示未检查"""
@classmethod

View File

@@ -14,10 +14,12 @@ class ImageType(str, Enum):
EMOJI = "emoji"
IMAGE = "image"
class ModifiedBy(str, Enum):
AI = "ai"
USER = "user"
class Messages(SQLModel, table=True):
__tablename__ = "mai_messages" # type: ignore
id: Optional[int] = Field(default=None, primary_key=True) # 自增主键
@@ -186,7 +188,9 @@ class Expression(SQLModel, table=True):
checked: bool = Field(default=False) # 是否已经被检查过
rejected: bool = Field(default=False) # 是否被拒绝但是未更新
modified_by: Optional[ModifiedBy] = Field(default=None, sa_column=Column(SQLEnum(ModifiedBy), nullable=True)) # 最后修改者标记用户或AI为空表示未检查
modified_by: Optional[ModifiedBy] = Field(
default=None, sa_column=Column(SQLEnum(ModifiedBy), nullable=True)
) # 最后修改者标记用户或AI为空表示未检查
class Jargon(SQLModel, table=True):