功能:通过 HTTP API 实现 Danding_QqPush 插件,用于 QQ 群通知
- 增加了通过外部 HTTP API 向 QQ 群组发送消息的核心功能。 - 实现了对长文本消息的图片渲染,以避免被认定为垃圾信息。 - 支持在消息中提及特定的 QQ 用户。 - 创建了用于 API 令牌和图片渲染设置的配置选项。 - 开发了一个测试脚本以验证 API 功能。 - 对现有代码进行了重构,以提高组织性和可维护性。
This commit is contained in:
52
danding_bot/plugins/danding_qqpush/utils.py
Normal file
52
danding_bot/plugins/danding_qqpush/utils.py
Normal file
@@ -0,0 +1,52 @@
|
||||
"""工具函数模块"""
|
||||
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}"
|
||||
Reference in New Issue
Block a user