添加聊天功能
This commit is contained in:
@@ -216,17 +216,13 @@ def api_send_message():
|
||||
|
||||
# 获取机器人实例
|
||||
server = current_app.dashboard_server
|
||||
if not server or not server.client:
|
||||
if not server or not server.robot:
|
||||
return jsonify({'success': False, 'message': '机器人未初始化'})
|
||||
|
||||
# 创建事件循环
|
||||
loop = asyncio.new_event_loop()
|
||||
asyncio.set_event_loop(loop)
|
||||
|
||||
# 根据消息类型调用不同的发送方法
|
||||
if msg_type == 'text':
|
||||
client_msg_id, create_time, new_msg_id = loop.run_until_complete(
|
||||
server.client.send_text_message(wxid, content)
|
||||
client_msg_id, create_time, new_msg_id = asyncio.run(
|
||||
server.robot.send_text_message(wxid, content)
|
||||
)
|
||||
return jsonify({
|
||||
'success': True,
|
||||
@@ -241,8 +237,8 @@ def api_send_message():
|
||||
if 'file' not in request.files:
|
||||
return jsonify({'success': False, 'message': '未上传文件'})
|
||||
file = request.files['file']
|
||||
client_msg_id, create_time, new_msg_id = loop.run_until_complete(
|
||||
server.client.send_image_message(wxid, file.read())
|
||||
client_msg_id, create_time, new_msg_id = asyncio.run(
|
||||
server.robot.send_image_message(wxid, file.read())
|
||||
)
|
||||
return jsonify({
|
||||
'success': True,
|
||||
@@ -257,8 +253,8 @@ def api_send_message():
|
||||
if 'file' not in request.files:
|
||||
return jsonify({'success': False, 'message': '未上传文件'})
|
||||
file = request.files['file']
|
||||
client_msg_id, create_time, new_msg_id = loop.run_until_complete(
|
||||
server.client.send_voice_message(wxid, file.read())
|
||||
client_msg_id, create_time, new_msg_id = asyncio.run(
|
||||
server.robot.send_voice_message(wxid, file.read())
|
||||
)
|
||||
return jsonify({
|
||||
'success': True,
|
||||
@@ -273,8 +269,8 @@ def api_send_message():
|
||||
if 'file' not in request.files:
|
||||
return jsonify({'success': False, 'message': '未上传文件'})
|
||||
file = request.files['file']
|
||||
client_msg_id, new_msg_id = loop.run_until_complete(
|
||||
server.client.send_video_message(wxid, file.read())
|
||||
client_msg_id, new_msg_id = asyncio.run(
|
||||
server.robot.send_video_message(wxid, file.read())
|
||||
)
|
||||
return jsonify({
|
||||
'success': True,
|
||||
@@ -288,8 +284,8 @@ def api_send_message():
|
||||
url = content.get('url')
|
||||
title = content.get('title', '')
|
||||
description = content.get('description', '')
|
||||
client_msg_id, create_time, new_msg_id = loop.run_until_complete(
|
||||
server.client.send_link_message(wxid, url, title, description)
|
||||
client_msg_id, create_time, new_msg_id = asyncio.run(
|
||||
server.robot.send_link_message(wxid, url, title, description)
|
||||
)
|
||||
return jsonify({
|
||||
'success': True,
|
||||
@@ -306,5 +302,3 @@ def api_send_message():
|
||||
except Exception as e:
|
||||
logger.error(f"发送消息失败: {e}")
|
||||
return jsonify({'success': False, 'message': str(e)}), 500
|
||||
finally:
|
||||
loop.close()
|
||||
|
||||
Reference in New Issue
Block a user