Skip to content

Instantly share code, notes, and snippets.

@RoyXiang
Last active March 25, 2019 04:02
Show Gist options
  • Save RoyXiang/100696e8d021ef43d2b56a456a9ef2e5 to your computer and use it in GitHub Desktop.
Save RoyXiang/100696e8d021ef43d2b56a456a9ef2e5 to your computer and use it in GitHub Desktop.

须知:

  1. EFB 微信端使用的是 itchat 这个第三方库,所有的行为目前与微信网页版一致。
  2. 若需长期维持在线,需保持微信移动端在线,卸载或者彻底关闭后台将会导致掉线。

掉线常见情况:

  • 正常掉线(已达到微信网页版的最长挂机时长)

    即 Telegram 上会收到掉线提醒,且可以直接在 Telegram 上进行重新登录的操作

  • bot 通信不畅最终引起的微信网页版掉线

    此时发送 /start 命令给 bot 不会响应,通常是由于服务器与 Telegram 服务器通信不畅导致,使用 webhook 方式启动 bot 可以一定程度上规避这个问题。

  • 微信网页版掉线(Telegram 上无通知)

    此时发送 /start 命令给 bot 会正常回复内容,这种情况的原因目前尚且不明。发生这种情况的话,必须手动登录服务器重新启动 EFB。(希望在重启之前可以执行下面的脚本并把输出内容反馈到 itchat 的 issue#229

#!/usr/bin/env python3
import itchat
import logging
from itchat.components.login import sync_check
instance = itchat.new_instance()
instance.load_login_status('storage/eh_wechat_slave.pkl')
logging.basicConfig(level=logging.DEBUG)
sync_check(instance)
@yv-code
Copy link

yv-code commented Mar 21, 2017

前两天开始使用 docker 版的 EFB,发现存在这个问题。我是 Android 7.1.2 的系统登录微信,每天一早都会出现第三种情况,手动重启 docker 重新验证才恢复正常。今天把微信的电量优化关闭了,试试看明早会不会再现问题。
#-------------------------------------------------------------------
更新:基本确定手机端微信被服务器判为“离线”(机制不明,也许是心跳多少次失败之类的判断),EFB 就必然会出现第三种情况的掉线。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment