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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM