zoukankan      html  css  js  c++  java
  • itchat初步解读登录(转)

    原文:https://blog.csdn.net/coder_pig/article/details/81357810

    itchat的登录采取的是通过itchat.auto_login()这个函数来完成的,不带参数的话会生成一个二维码图片文件供你扫描登陆。一般的话我们的电脑都会关机,如果机器人有需要持久在线的需求,我们可以把脚本挂到服务器上,24小时跑,但是一般的云服务器是没有界面的,都是通过终端命令行进行操作,这个时候可以添加enableCmdQR=True参数,让二维码显示到命令行上,另外部分系统可能字符宽度有出入,如图19.2所示,可以通过把enableCmdQR赋值为特定的倍数进行调整。

    Q: 为什么我在设定了itchat.auto_login()的enableCmdQR为True后还是没有办法在命令行显示二维码?

    A: 这是由于没有安装可选的包 pillow ,可以使用右边的命令安装: pip install pillow



    图19.2 命令行二维码错位


    比如enableCmdQR=2后,二维码图片如图19.3所示

    图19.3 调整后正常的二维码图片


    扫码登录后,如果想退出程序以后还暂存登录状态,重新执行程序也不用扫码可以添加参数hotReload=True

    如果在启动时没有设置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.
    登录后调用
    退出后调用


    ---------------------
    参考文章 :
    原文:https://blog.csdn.net/coder_pig/article/details/81357810

  • 相关阅读:
    [洛谷P2463][SDOI2008]Sandy的卡片
    后缀数组
    周记【距gdoi:110天】
    hdu3068最长回文(Manacher算法)
    二分图的一些题目合集
    周记【距gdoi:117天】
    二分图、网络流模版总结
    2014end
    周记【距gdoi:126天】
    2-sat
  • 原文地址:https://www.cnblogs.com/dagon007/p/10900598.html
Copyright © 2011-2022 走看看