原文:https://blog.csdn.net/coder_pig/article/details/81357810服务器
itchat的登陆采起的是经过itchat.auto_login()这个函数来完成的,不带参数的话会生成一个二维码图片文件供你扫描登录。通常的话咱们的电脑都会关机,若是机器人有须要持久在线的需求,咱们能够把脚本挂到服务器上,24小时跑,可是通常的云服务器是没有界面的,都是经过终端命令行进行操做,这个时候能够添加enableCmdQR=True参数,让二维码显示到命令行上,另外部分系统可能字符宽度有出入,如图19.2所示,能够经过把enableCmdQR赋值为特定的倍数进行调整。ide
Q: 为何我在设定了itchat.auto_login()的enableCmdQR为True后仍是没有办法在命令行显示二维码?函数
A: 这是因为没有安装可选的包 pillow ,可使用右边的命令安装: pip install pillowui
图19.2 命令行二维码错位this
好比enableCmdQR=2后,二维码图片如图19.3所示
图19.3 调整后正常的二维码图片spa
扫码登陆后,若是想退出程序之后还暂存登陆状态,从新执行程序也不用扫码能够添加参数hotReload=True。.net
若是在启动时没有设置hotReload=True参数,程序退出后过一下子就会自动掉线的了,若是想快速退出的话能够调用itchat.logout()注销登陆状态。另外,有时咱们可能想在登陆成功或者注销登陆后执行一些操做,能够添加两个调用登陆时传入两个方法参数loginCallback和exitCallback,简单示例以下:命令行
1 import itchat 2 import time 3 4 5 def after_login(): 6 print("登陆后调用") 7 8 9 def after_logout(): 10 print("退出后调用") 11 12 13 if __name__ == '__main__': 14 itchat.auto_login(loginCallback=after_login, exitCallback=after_logout) 15 time.sleep(5) 16 itchat.logout()
代码执行结果以下:
Getting uuid of QR code.
Downloading QR code.
Please scan the QR code to log in.
Please press confirm on your phone.
Loading the contact, this may take a little while.
登陆后调用
退出后调用
code
---------------------
参考文章 :
原文:https://blog.csdn.net/coder_pig/article/details/81357810
blog