Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ 添加小真寻的口癖配置 #1738

Merged
merged 1 commit into from
Nov 23, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions zhenxun/builtin_plugins/catchphrase.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
from typing import Any

from nonebot.adapters import Bot

from zhenxun.services.log import logger
from zhenxun.configs.config import Config

Config.add_plugin_config(
"catchphrase",
"CATCHPHRASE",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

建议: 考虑为口号配置添加最大长度限制

无限制的口号长度可能会导致消息过大。考虑在设置配置时验证长度。

    "CATCHPHRASE",
    max_length=50,
Original comment in English

suggestion: Consider adding a maximum length limit for the catchphrase configuration

An unbounded catchphrase length could potentially lead to oversized messages. Consider validating the length when setting the config.

    "CATCHPHRASE",
    max_length=50,

"",
help="小真寻的口癖,在文本末尾添加指定文字~",
default_value="",
)


@Bot.on_calling_api
async def handle_api_call(bot: Bot, api: str, data: dict[str, Any]):
if api == "send_msg":
catchphrase = Config.get_config("catchphrase", "CATCHPHRASE")
if catchphrase and (message := data.get("message")):
for i in range(len(message) - 1, -1, -1):
if message[i].type == "text":
message[i].data["text"] += catchphrase
logger.debug(
f"文本: {message[i].data['text']} 添加口癖: {catchphrase}"
)
break
Loading