1.新增私聊接口2.新增.talk指令

This commit is contained in:
2025-11-03 10:14:38 +08:00
parent ff709eadca
commit d88edc31fc
8 changed files with 841 additions and 14 deletions

View File

@@ -135,3 +135,40 @@ def get_message_sender() -> MessageSender:
_sender_instance.webhook_url = GetWebhookURL()
return _sender_instance
async def send_private_message(user_id: int, content: str, msg_type: str = 'text') -> bool:
"""发送私聊消息到用户个人webhook URL
Args:
user_id: 目标用户ID
content: 消息内容
msg_type: 消息类型 ('text''markdown')
Returns:
是否发送成功如果用户没有个人URL则返回False
"""
from core.database import get_db
# 从数据库获取用户webhook URL
db = get_db()
webhook_url = db.get_user_webhook_url(user_id)
if not webhook_url:
logger.warning(f"用户 {user_id} 没有注册个人webhook URL无法发送私聊消息")
return False
# 创建MessageSender实例使用用户的个人URL
sender = MessageSender(webhook_url=webhook_url)
try:
# 根据msg_type调用相应方法
if msg_type == 'markdown':
return await sender.send_markdown(content)
else:
return await sender.send_text(content)
except Exception as e:
logger.error(f"发送私聊消息失败: user_id={user_id}, error={e}", exc_info=True)
return False
finally:
# 关闭HTTP客户端
await sender.close()