更好的缓存,扬掉global,重构代码,整理聊天逻辑 (#16)

* 实现缓存装饰器,优化数据获取和存储逻辑

* 重构代码,准备将聊天请求逻辑移入MarshoHandler

* 记录点(

* unfinished

* 🎨 重写基本完毕

* 移除未使用import,添加漏掉的换行
This commit is contained in:
Akarin~
2025-02-24 01:19:26 +08:00
committed by GitHub
parent 3436390f4b
commit aa53643aae
9 changed files with 344 additions and 251 deletions

View File

@ -70,11 +70,9 @@ class Caller:
):
return False, "告诉用户 Permission Denied 权限不足"
if self.ctx.state is None:
return False, "State is None"
if self._rule and not await self._rule(
self.ctx.bot, self.ctx.event, self.ctx.state
):
# if self.ctx.state is None:
# return False, "State is None"
if self._rule and not await self._rule(self.ctx.bot, self.ctx.event):
return False, "告诉用户 Rule Denied 规则不匹配"
return True, ""
@ -115,6 +113,10 @@ class Caller:
# 检查函数签名,确定依赖注入参数
sig = inspect.signature(func)
for name, param in sig.parameters.items():
if param.annotation == T_State:
self.di.state = name
continue # 防止后续判断T_State子类时报错
if issubclass(param.annotation, Event) or isinstance(
param.annotation, Event
):
@ -133,9 +135,6 @@ class Caller:
):
self.di.matcher = name
if param.annotation == T_State:
self.di.state = name
# 检查默认值情况
for name, param in sig.parameters.items():
if param.default is not inspect.Parameter.empty:

View File

@ -19,7 +19,7 @@ class SessionContext(BaseModel):
bot: Bot
event: Event
matcher: Matcher
state: T_State
# state: T_State
caller: Any = None
class Config:
@ -30,5 +30,5 @@ class SessionContextDepends(BaseModel):
bot: str | None = None
event: str | None = None
matcher: str | None = None
state: str | None = None
# state: str | None = None
caller: str | None = None