Merge pull request #587 from lanvent/dev2

fix: request qrscan when hotreload failed
This commit is contained in:
zhayujie
2023-03-25 14:10:21 +08:00
committed by GitHub

View File

@@ -4,6 +4,7 @@
wechat channel
"""
import os
import itchat
import json
from itchat.content import *
@@ -50,9 +51,20 @@ class WechatChannel(Channel):
pass
def startup(self):
# login by scan QRCode
itchat.auto_login(enableCmdQR=2, hotReload=conf().get('hot_reload', False))
itchat.instance.receivingRetryCount = 600 # 修改断线超时时间
# login by scan QRCode
hotReload = conf().get('hot_reload', False)
try:
itchat.auto_login(enableCmdQR=2, hotReload=hotReload)
except Exception as e:
if hotReload:
logger.error("Hot reload failed, try to login without hot reload")
itchat.logout()
os.remove("itchat.pkl")
itchat.auto_login(enableCmdQR=2, hotReload=hotReload)
else:
raise e
# start message listener
itchat.run()