支持n个账号切换
This commit is contained in:
parent
d25215a7be
commit
1913445b95
@ -1,6 +1,6 @@
|
||||
## New Bing 接口
|
||||
|
||||
包括http和websocket两种协议的接口,可根据实际情况选用
|
||||
包括 http 和 websocket 两种协议的接口,可根据实际情况选用
|
||||
|
||||
## 部署
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
```
|
||||
1.git clone https://github.com/bujnlc8/gptbing
|
||||
2.cd gptbing/new-bing
|
||||
3.mkdir cookies && mv cookie.json cookies # 支持3个cookie,可分别命名为cookie.json,cookie1.json,cookie2.json
|
||||
3.mkdir cookies && mv cookie.json cookies # 通过COOKIE_FILES环境变量可以支持n个账号的自动切换,目前微软对每个账号每天的聊天限制是200条
|
||||
4.cp env.example env # 根据实际情况修改
|
||||
5.bash start.sh 0.0.3
|
||||
6.curl -X POST 'http://127.0.0.1:8000/chat' -H 'content-type: application/json' --data '{"q":"你是谁?","t":1,"sid":"1"}' # 验证是否成功
|
||||
@ -19,5 +19,4 @@
|
||||
|
||||
`EdgeGPT.py`文件 fork 至[https://github.com/acheong08/EdgeGPT](https://github.com/acheong08/EdgeGPT),并做了些许修改,在此表示感谢!
|
||||
|
||||
|
||||
**⚠️ 目前中国大陆的IP会返回404,自备代理** 见[https://github.com/acheong08/EdgeGPT/issues/178](https://github.com/acheong08/EdgeGPT/issues/178)
|
||||
**⚠️ 目前中国大陆的 IP 会返回 404,自备代理** 见[https://github.com/acheong08/EdgeGPT/issues/178](https://github.com/acheong08/EdgeGPT/issues/178)
|
||||
|
||||
@ -16,10 +16,18 @@ from EdgeGPT import Chatbot, ConversationStyle
|
||||
APPID = os.environ.get('WXAPPID')
|
||||
APPSECRET = os.environ.get('WXAPPSECRET')
|
||||
WX_URL = 'https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code'
|
||||
COOKIE = os.environ.get('COOKIE_FILE', '')
|
||||
# 备用cookie
|
||||
BAK_COOKIE = os.environ.get('COOKIE_FILE1', '')
|
||||
BAK_COOKIE1 = os.environ.get('COOKIE_FILE2', '')
|
||||
|
||||
# cookie列表, 如果有此环境变量,优先使用
|
||||
COOKIE_FILES = raw_json.loads(os.environ.get('COOKIE_FILES', '[]'))
|
||||
if COOKIE_FILES:
|
||||
os.environ['COOKIE_FILE'] = COOKIE_FILES[0]
|
||||
else:
|
||||
COOKIE = os.environ.get('COOKIE_FILE', '')
|
||||
if not COOKIE:
|
||||
raise ValueError('COOKIE_FILE环境变量为空')
|
||||
BAK_COOKIE = os.environ.get('COOKIE_FILE1', COOKIE)
|
||||
BAK_COOKIE1 = os.environ.get('COOKIE_FILE2', COOKIE)
|
||||
BAK_COOKIE2 = os.environ.get('COOKIE_FILE3', COOKIE)
|
||||
|
||||
LOCK = threading.Lock()
|
||||
BOT_LOCK = threading.Lock()
|
||||
@ -36,14 +44,17 @@ def reset_cookie():
|
||||
if not LOCK.acquire(blocking=False):
|
||||
return
|
||||
cookie = os.environ.get('COOKIE_FILE')
|
||||
if cookie == COOKIE:
|
||||
if BAK_COOKIE:
|
||||
if COOKIE_FILES:
|
||||
os.environ['COOKIE_FILE'] = COOKIE_FILES[(COOKIE_FILES.index(cookie) + 1) % len(COOKIE_FILES)]
|
||||
else:
|
||||
if cookie == COOKIE:
|
||||
os.environ['COOKIE_FILE'] = BAK_COOKIE
|
||||
elif cookie == BAK_COOKIE:
|
||||
if BAK_COOKIE1:
|
||||
elif cookie == BAK_COOKIE:
|
||||
os.environ['COOKIE_FILE'] = BAK_COOKIE1
|
||||
elif cookie == BAK_COOKIE1:
|
||||
os.environ['COOKIE_FILE'] = COOKIE
|
||||
elif cookie == BAK_COOKIE1:
|
||||
os.environ['COOKIE_FILE'] = BAK_COOKIE2
|
||||
elif cookie == BAK_COOKIE2:
|
||||
os.environ['COOKIE_FILE'] = COOKIE
|
||||
LOCK.release()
|
||||
|
||||
|
||||
|
||||
@ -3,4 +3,5 @@ WXAPPSECRET=用不到小程序可以不填
|
||||
COOKIE_FILE=/sanic/cookies/cookie.json
|
||||
COOKIE_FILE1=/sanic/cookies/cookie1.json # 备用cookie1, 没有可以删掉
|
||||
COOKIE_FILE2=/sanic/cookies/cookie2.json # 备用cookie2, 没有可以删掉
|
||||
COOKIE_FILES=["/sanic/cookies/cookie.json", "/sanic/cookies/cookie1.json", "/sanic/cookies/cookie2.json"] #cookie列表,配置了此环境变量,会优先使用此变量,直接忽略上面的3个环境变量
|
||||
https_proxy=http://127.0.0.1:1080 # 目前中国大陆的IP会返回404,所以最好能加个代理
|
||||
|
||||
Loading…
Reference in New Issue
Block a user