原文: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