完整代碼如下:
import itchat
import time
from apscheduler.schedulers.blocking import BlockingScheduler
# 登陸,enableCmdQR 值為true 或 負數 為負數的原因有的手機無法識别二維碼,改為負數就好了
# 讀取檔案
def send():
f = open(r'C:\CRM\doc\01綜合管理\01資源相關\05日常運維監控\dingding\dingding.json')
contents = f.read()
contents=contents[42:-3]
f.close()
chatroomName = u'批處理監控'
itchat.get_chatrooms(update=True)
chatrooms = itchat.search_chatrooms(name=chatroomName)
print(chatrooms)
if len(chatrooms) <=0:
print(u'沒有找到群聊:' + chatroomName)
else:
chatroom = chatrooms[0]["UserName"]
print(chatroom)
itchat.send(contents, toUserName=chatroom)
itchat.auto_login(enableCmdQR='-1',hotReload=True)
sched = BlockingScheduler()
sched.add_job(send, 'cron', hour=6,minute=40,second=10)
sched.start()
環境:python3.7
下載下傳對應子產品,安裝時可能會提示更新,輸入對應指令更新即可
<1> pip install itchat
<2>pip install apscheduler
登陸微信:
itchat.auto_login(enableCmdQR=’-1’,hotReload=True)
上為登陸微信方法,run代碼,控制台輸出登陸二維碼,并提示Please scan the QR code to log in.掃碼登陸即可,如下圖

enableCmdQR預設為true,但是輸出的二維碼有的手機無法登陸,是以改為-1,遇到無法登陸的情況,可以嘗試切換該值;
hotReload預設為True,為True時,下次登陸就不用掃碼了
手機登入微信
建立群聊,修改群名,群名自定義即可,群聊要儲存到通訊錄,否則會找不到群聊。
chatrooms = itchat.search_chatrooms(name=自定義群名)
chatrooms 為從你群清單裡查到的群名為自定義群名的list,是以為了友善,群名最好不一樣
chatroom = chatrooms[0][“UserName”]
chatroom 為你建立那個群聊對象
itchat.send(contents, toUserName=chatroom)
發送消息,contents為自定義内容
定時
這時候就要用到apscheduler子產品了,導入apscheduler
from apscheduler.schedulers.blocking import BlockingScheduler
建立定時器
sched = BlockingScheduler()
添加任務
sched.add_job(send, ‘cron’, hour=6,minute=40,second=10)
send為要執行的方法名
cron定時任務類型
後面的時間意為每天6點40分10秒執行,可根據需要自行修改
執行
sched.start()