新群被动添加时所有群默认状态

This commit is contained in:
HibiKier 2024-08-21 23:36:19 +08:00
parent ef662a16df
commit 2fe825f67d
4 changed files with 12 additions and 35 deletions

View File

@ -93,6 +93,7 @@ async def _handle_setting(
name=task.name,
status=task.status,
run_time=task.run_time,
default_status=task.default_status,
)
)
@ -171,6 +172,12 @@ async def _():
update_list.append(task)
if create_list:
await TaskInfo.bulk_create(create_list, 10)
if block := [t.module for t in create_list if not t.default_status]:
block_task = ",".join(block) + ","
if group_list := await GroupConsole.all():
for group in group_list:
group.block_task += block_task
await GroupConsole.bulk_update(group_list, ["block_task"], 10)
if update_list:
await TaskInfo.bulk_update(
update_list,

View File

@ -137,6 +137,8 @@ class Task(BaseBlock):
"""被动技能名称"""
status: bool = True
"""全局开关状态"""
default_status: bool = True
"""初次加载默认开关状态"""
run_time: str | None = None
"""运行时间"""

View File

@ -1,7 +1,4 @@
from typing import Any
from tortoise import fields
from tortoise.backends.base.client import BaseDBAsyncClient
from typing_extensions import Self
from zhenxun.services.db_context import Model
@ -43,35 +40,6 @@ class GroupConsole(Model):
table_description = "群组信息表"
unique_together = ("group_id", "channel_id")
# @classmethod
# async def create( # type: ignore
# cls,
# using_db: BaseDBAsyncClient | None = None,
# **kwargs: Any,
# ) -> Self:
# group, _ = await super().create(using_db, **kwargs)
# return group
# @classmethod
# async def get_or_create( # type: ignore
# cls,
# defaults: dict | None = None,
# using_db: BaseDBAsyncClient | None = None,
# **kwargs: Any,
# ) -> tuple[Self, bool]:
# group, is_create = await super().get_or_create(defaults, using_db, **kwargs)
# return group, is_create
# @classmethod
# async def update_or_create( # type: ignore
# cls,
# defaults: dict | None = None,
# using_db: BaseDBAsyncClient | None = None,
# **kwargs: Any,
# ) -> tuple[Self, bool]:
# group, is_create = await super().update_or_create(defaults, using_db, **kwargs)
# return group, is_create
@classmethod
async def get_group(
cls, group_id: str, channel_id: str | None = None

View File

@ -15,8 +15,8 @@ class TaskInfo(Model):
"""被动技能名称"""
status = fields.BooleanField(default=True, description="全局开关状态")
"""全局开关状态"""
# default_status = fields.BooleanField(default=True, description="进群默认状态")
# """进群默认状态"""
default_status = fields.BooleanField(default=True, description="进群默认状态")
"""加载默认状态"""
run_time = fields.CharField(255, null=True, description="运行时间")
"""运行时间"""
run_count = fields.IntField(default=0, description="运行次数")
@ -59,5 +59,5 @@ class TaskInfo(Model):
@classmethod
def _run_script(cls):
return [
# "ALTER TABLE task_info ADD default_status boolean NOT NULL DEFAULT true;",
"ALTER TABLE task_info ADD default_status boolean NOT NULL DEFAULT true;",
]