mirror of
https://github.com/A-Minos/nonebot-plugin-tetris-stats.git
synced 2026-03-05 05:36:54 +08:00
31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
from nonebot_plugin_alconna.uniseg import UniMessage
|
|
from nonebot_plugin_orm import async_scoped_session
|
|
from nonebot_plugin_session import EventSession # type: ignore[import-untyped]
|
|
from nonebot_plugin_session_orm import get_session_persist_id # type: ignore[import-untyped]
|
|
from nonebot_plugin_user import User # type: ignore[import-untyped]
|
|
from sqlalchemy import select
|
|
|
|
from ...db import trigger
|
|
from . import alc
|
|
from .constant import GAME_TYPE
|
|
from .models import TETRIOUserConfig
|
|
from .typing import Template
|
|
|
|
|
|
@alc.assign('TETRIO.config')
|
|
async def _(user: User, session: async_scoped_session, event_session: EventSession, template: Template):
|
|
async with trigger(
|
|
session_persist_id=await get_session_persist_id(event_session),
|
|
game_platform=GAME_TYPE,
|
|
command_type='config',
|
|
command_args=[f'--default-template {template}'],
|
|
):
|
|
config = (await session.scalars(select(TETRIOUserConfig).where(TETRIOUserConfig.id == user.id))).one_or_none()
|
|
if config is None:
|
|
config = TETRIOUserConfig(id=user.id, query_template=template)
|
|
session.add(config)
|
|
else:
|
|
config.query_template = template
|
|
await session.commit()
|
|
await UniMessage('配置成功').finish()
|