itchat初步解读登陆(转)

原文: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()
View Code

 



  
代码执行结果以下:

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

相关文章
相关标签/搜索