✨ 提供一个插件好感度限制 (#1846)

* ✨ 提供一个插件好感度限制

* 💬 在提示中显示需要的好感度
This commit is contained in:
HibiKier
2025-02-10 15:39:18 +08:00
committed by GitHub
parent ee55078b56
commit 41613c09a9
6 changed files with 64 additions and 8 deletions
+3
View File
@@ -52,6 +52,8 @@ class PluginInfo(Model):
"""父插件"""
is_show = fields.BooleanField(default=True, description="是否显示在帮助中")
"""是否显示在帮助中"""
impression = fields.FloatField(default=0, description="插件好感度限制")
"""插件好感度限制"""
class Meta: # pyright: ignore [reportIncompatibleVariableOverride]
table = "plugin_info"
@@ -87,4 +89,5 @@ class PluginInfo(Model):
"ALTER TABLE plugin_info ADD COLUMN parent character varying(255);",
"ALTER TABLE plugin_info ADD COLUMN is_show boolean DEFAULT true;",
"ALTER TABLE plugin_info ADD COLUMN ignore_prompt boolean DEFAULT false;",
"ALTER TABLE plugin_info ADD COLUMN impression float DEFAULT 0;",
]
+18
View File
@@ -36,6 +36,24 @@ class SignUser(Model):
table = "sign_users"
table_description = "用户签到数据表"
@classmethod
async def get_user(cls, user_id: str, platform: str | None = None) -> "SignUser":
"""获取签到用户
参数:
user_id: 用户id
platform: 平台.
返回:
Self: SignUser
"""
user_console = await UserConsole.get_user(user_id, platform)
user, _ = await SignUser.get_or_create(
user_id=user_id,
defaults={"user_console": user_console, "platform": platform},
)
return user
@classmethod
async def sign(
cls,