feat✨: 添加hook,更新其他

This commit is contained in:
HibiKier
2024-02-26 03:04:32 +08:00
parent eb0572ea77
commit 7b3793728a
22 changed files with 1064 additions and 117 deletions
+63
View File
@@ -17,6 +17,14 @@ class GroupConsole(Model):
"""最大人数"""
member_count = fields.IntField(default=0, description="当前人数")
"""当前人数"""
status = fields.BooleanField(default=True, description="群状态")
"""群状态"""
level = fields.IntField(default=5, description="群权限")
"""群权限"""
is_super = fields.BooleanField(
default=False, description="超级用户指定,可以使用全局关闭的功能"
)
"""超级用户指定群,可以使用全局关闭的功能"""
group_flag = fields.IntField(default=0, description="群认证标记")
"""群认证标记"""
block_plugin = fields.TextField(default="", description="禁用插件")
@@ -31,6 +39,61 @@ class GroupConsole(Model):
table_description = "群组信息表"
unique_together = ("group_id", "channel_id")
@classmethod
async def is_super_group(cls, group_id: str, channel_id: str | None = None) -> bool:
"""是否超级用户指定群
参数:
group_id: 群组id
channel_id: 频道id.
返回:
bool: 是否超级用户指定群
"""
if group := await cls.get_or_none(group_id=group_id):
return group.is_super
return False
@classmethod
async def is_super_block_plugin(
cls, group_id: str, module: str, channel_id: str | None = None
) -> bool:
"""查看群组是否超级用户禁用功能
参数:
group_id: 群组id
module: 模块名称
channel_id: 频道id
返回:
bool: 是否禁用被动
"""
return await cls.exists(
group_id=group_id,
channel_id=channel_id,
block_plugin__contains=f"super:{module},",
)
@classmethod
async def is_block_plugin(
cls, group_id: str, module: str, channel_id: str | None = None
) -> bool:
"""查看群组是否禁用功能
参数:
group_id: 群组id
module: 模块名称
channel_id: 频道id
返回:
bool: 是否禁用被动
"""
return await cls.exists(
group_id=group_id,
channel_id=channel_id,
block_plugin__contains=f"{module},",
)
@classmethod
async def is_block_task(
cls, group_id: str, task: str, channel_id: str | None = None