- 增加了通过外部 HTTP API 向 QQ 群组发送消息的核心功能。 - 实现了对长文本消息的图片渲染,以避免被认定为垃圾信息。 - 支持在消息中提及特定的 QQ 用户。 - 创建了用于 API 令牌和图片渲染设置的配置选项。 - 开发了一个测试脚本以验证 API 功能。 - 对现有代码进行了重构,以提高组织性和可维护性。
53 lines
1.1 KiB
Python
53 lines
1.1 KiB
Python
"""工具函数模块"""
|
|
import secrets
|
|
import string
|
|
|
|
|
|
def generate_token(length: int = 16, prefix: str = "danding-") -> str:
|
|
"""
|
|
生成随机 Token
|
|
|
|
Args:
|
|
length: 随机部分长度
|
|
prefix: Token 前缀
|
|
|
|
Returns:
|
|
生成的 Token
|
|
"""
|
|
# 生成随机字符串(字母和数字)
|
|
alphabet = string.ascii_letters + string.digits
|
|
random_part = ''.join(secrets.choice(alphabet) for _ in range(length))
|
|
|
|
return f"{prefix}{random_part}"
|
|
|
|
|
|
def validate_token(token: str, expected_token: str) -> bool:
|
|
"""
|
|
验证 Token 是否正确
|
|
|
|
Args:
|
|
token: 待验证的 Token
|
|
expected_token: 期望的 Token
|
|
|
|
Returns:
|
|
是否匹配
|
|
"""
|
|
if not token or not expected_token:
|
|
return False
|
|
|
|
return token == expected_token
|
|
|
|
|
|
def format_log_message(message: str, level: str = "INFO") -> str:
|
|
"""
|
|
格式化日志消息
|
|
|
|
Args:
|
|
message: 原始消息
|
|
level: 日志级别
|
|
|
|
Returns:
|
|
格式化后的消息
|
|
"""
|
|
return f"[Danding_QqPush] [{level}] {message}"
|