mirror of
https://github.com/zhinianboke/xianyu-auto-reply.git
synced 2025-08-02 12:37:35 +08:00
修改bug
This commit is contained in:
parent
1dd4d9b841
commit
f9a3881b74
@ -1723,30 +1723,43 @@ class XianyuLive:
|
|||||||
|
|
||||||
async def _create_websocket_connection(self, headers):
|
async def _create_websocket_connection(self, headers):
|
||||||
"""创建WebSocket连接,兼容不同版本的websockets库"""
|
"""创建WebSocket连接,兼容不同版本的websockets库"""
|
||||||
|
import websockets
|
||||||
|
|
||||||
|
# 获取websockets版本用于调试
|
||||||
|
websockets_version = getattr(websockets, '__version__', '未知')
|
||||||
|
logger.debug(f"websockets库版本: {websockets_version}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# 尝试使用extra_headers参数
|
# 尝试使用extra_headers参数
|
||||||
return websockets.connect(
|
return websockets.connect(
|
||||||
self.base_url,
|
self.base_url,
|
||||||
extra_headers=headers
|
extra_headers=headers
|
||||||
)
|
)
|
||||||
except TypeError as e:
|
except Exception as e:
|
||||||
# 安全地检查异常信息
|
# 捕获所有异常类型,不仅仅是TypeError
|
||||||
error_msg = self._safe_str(e)
|
error_msg = self._safe_str(e)
|
||||||
|
logger.debug(f"extra_headers参数失败: {error_msg}")
|
||||||
|
|
||||||
if "extra_headers" in error_msg:
|
if "extra_headers" in error_msg or "unexpected keyword argument" in error_msg:
|
||||||
logger.warning("websockets库不支持extra_headers参数,使用兼容模式")
|
logger.warning("websockets库不支持extra_headers参数,尝试additional_headers")
|
||||||
# 使用additional_headers参数(较新版本)
|
# 使用additional_headers参数(较新版本)
|
||||||
try:
|
try:
|
||||||
return websockets.connect(
|
return websockets.connect(
|
||||||
self.base_url,
|
self.base_url,
|
||||||
additional_headers=headers
|
additional_headers=headers
|
||||||
)
|
)
|
||||||
except TypeError:
|
except Exception as e2:
|
||||||
# 如果都不支持,则不传递headers
|
error_msg2 = self._safe_str(e2)
|
||||||
logger.warning("websockets库不支持headers参数,使用基础连接模式")
|
logger.debug(f"additional_headers参数失败: {error_msg2}")
|
||||||
return websockets.connect(self.base_url)
|
|
||||||
|
if "additional_headers" in error_msg2 or "unexpected keyword argument" in error_msg2:
|
||||||
|
# 如果都不支持,则不传递headers
|
||||||
|
logger.warning("websockets库不支持headers参数,使用基础连接模式")
|
||||||
|
return websockets.connect(self.base_url)
|
||||||
|
else:
|
||||||
|
raise e2
|
||||||
else:
|
else:
|
||||||
raise
|
raise e
|
||||||
|
|
||||||
async def _handle_websocket_connection(self, websocket, toid, item_id, text):
|
async def _handle_websocket_connection(self, websocket, toid, item_id, text):
|
||||||
"""处理WebSocket连接的具体逻辑"""
|
"""处理WebSocket连接的具体逻辑"""
|
||||||
|
93
docker-rebuild.sh
Normal file
93
docker-rebuild.sh
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# ================================
|
||||||
|
# 闲鱼自动回复系统 - Docker重新构建脚本
|
||||||
|
# ================================
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "🐳 闲鱼自动回复系统 - Docker重新构建"
|
||||||
|
echo "=================================="
|
||||||
|
|
||||||
|
# 检查Docker是否运行
|
||||||
|
if ! docker info > /dev/null 2>&1; then
|
||||||
|
echo "❌ Docker未运行,请先启动Docker"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "📋 步骤1: 停止并删除现有容器"
|
||||||
|
echo "--------------------------------"
|
||||||
|
|
||||||
|
# 停止现有容器
|
||||||
|
if docker ps -q --filter "name=xianyu-auto-reply" | grep -q .; then
|
||||||
|
echo "🛑 停止现有容器..."
|
||||||
|
docker stop xianyu-auto-reply
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 删除现有容器
|
||||||
|
if docker ps -aq --filter "name=xianyu-auto-reply" | grep -q .; then
|
||||||
|
echo "🗑️ 删除现有容器..."
|
||||||
|
docker rm xianyu-auto-reply
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "📋 步骤2: 删除现有镜像"
|
||||||
|
echo "--------------------------------"
|
||||||
|
|
||||||
|
# 删除现有镜像
|
||||||
|
if docker images -q xianyu-auto-reply | grep -q .; then
|
||||||
|
echo "🗑️ 删除现有镜像..."
|
||||||
|
docker rmi xianyu-auto-reply
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "📋 步骤3: 重新构建镜像"
|
||||||
|
echo "--------------------------------"
|
||||||
|
|
||||||
|
echo "🔨 开始构建新镜像..."
|
||||||
|
docker build -t xianyu-auto-reply .
|
||||||
|
|
||||||
|
echo "📋 步骤4: 启动新容器"
|
||||||
|
echo "--------------------------------"
|
||||||
|
|
||||||
|
echo "🚀 启动新容器..."
|
||||||
|
docker run -d \
|
||||||
|
--name xianyu-auto-reply \
|
||||||
|
--restart unless-stopped \
|
||||||
|
-p 8080:8080 \
|
||||||
|
-v "$(pwd)/data:/app/data" \
|
||||||
|
-v "$(pwd)/logs:/app/logs" \
|
||||||
|
-v "$(pwd)/backups:/app/backups" \
|
||||||
|
-e DOCKER_ENV=true \
|
||||||
|
xianyu-auto-reply
|
||||||
|
|
||||||
|
echo "📋 步骤5: 检查容器状态"
|
||||||
|
echo "--------------------------------"
|
||||||
|
|
||||||
|
# 等待容器启动
|
||||||
|
echo "⏳ 等待容器启动..."
|
||||||
|
sleep 5
|
||||||
|
|
||||||
|
# 检查容器状态
|
||||||
|
if docker ps --filter "name=xianyu-auto-reply" --filter "status=running" | grep -q xianyu-auto-reply; then
|
||||||
|
echo "✅ 容器启动成功"
|
||||||
|
|
||||||
|
echo "📋 容器信息:"
|
||||||
|
docker ps --filter "name=xianyu-auto-reply" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||||||
|
|
||||||
|
echo "📋 最近日志:"
|
||||||
|
docker logs --tail 20 xianyu-auto-reply
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "🎉 Docker重新构建完成!"
|
||||||
|
echo "=================================="
|
||||||
|
echo "📱 Web界面: http://localhost:8080"
|
||||||
|
echo "📊 健康检查: http://localhost:8080/health"
|
||||||
|
echo "📋 查看日志: docker logs -f xianyu-auto-reply"
|
||||||
|
echo "🛑 停止容器: docker stop xianyu-auto-reply"
|
||||||
|
echo "🗑️ 删除容器: docker rm xianyu-auto-reply"
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "❌ 容器启动失败"
|
||||||
|
echo "📋 错误日志:"
|
||||||
|
docker logs xianyu-auto-reply
|
||||||
|
exit 1
|
||||||
|
fi
|
@ -11,7 +11,7 @@ pydantic>=2.7.0
|
|||||||
loguru>=0.7.0
|
loguru>=0.7.0
|
||||||
|
|
||||||
# 网络通信
|
# 网络通信
|
||||||
websockets>=12.0
|
websockets>=10.0,<13.0
|
||||||
aiohttp>=3.9.0
|
aiohttp>=3.9.0
|
||||||
requests>=2.31.0
|
requests>=2.31.0
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user