7dd95d8a59
* chore: auto fix by ruff * refactor: 统一修正返回类型注解为 None/bool 以匹配实现 * refactor: 将 _get_next_page 改为异步并移除多余的请求错误抛出 * refactor: 将 get_client 的返回类型改为 object * style: 为 LarkMessageEvent 的相关方法添加返回类型注解 None --------- Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com>
37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
from astrbot.api import sp, star
|
|
from astrbot.api.event import AstrMessageEvent, MessageEventResult
|
|
|
|
|
|
class SetUnsetCommands:
|
|
def __init__(self, context: star.Context) -> None:
|
|
self.context = context
|
|
|
|
async def set_variable(self, event: AstrMessageEvent, key: str, value: str) -> None:
|
|
"""设置会话变量"""
|
|
uid = event.unified_msg_origin
|
|
session_var = await sp.session_get(uid, "session_variables", {})
|
|
session_var[key] = value
|
|
await sp.session_put(uid, "session_variables", session_var)
|
|
|
|
event.set_result(
|
|
MessageEventResult().message(
|
|
f"会话 {uid} 变量 {key} 存储成功。使用 /unset 移除。",
|
|
),
|
|
)
|
|
|
|
async def unset_variable(self, event: AstrMessageEvent, key: str) -> None:
|
|
"""移除会话变量"""
|
|
uid = event.unified_msg_origin
|
|
session_var = await sp.session_get(uid, "session_variables", {})
|
|
|
|
if key not in session_var:
|
|
event.set_result(
|
|
MessageEventResult().message("没有那个变量名。格式 /unset 变量名。"),
|
|
)
|
|
else:
|
|
del session_var[key]
|
|
await sp.session_put(uid, "session_variables", session_var)
|
|
event.set_result(
|
|
MessageEventResult().message(f"会话 {uid} 变量 {key} 移除成功。"),
|
|
)
|