最近在學習一點python,先找了找有趣的應用,實際修改跑了一下提升興趣程度。python
找到itchat,它的簡介是這樣的:git
「itchat是一個開源的微信我的號接口,使用python調用微信從未如此簡單。github
使用不到三十行的代碼,你就能夠完成一個可以處理全部信息的微信機器人。api
固然,該api的使用遠不止一個機器人,更多的功能等着你來發現,好比這些。微信
該接口與公衆號接口itchatmp共享相似的操做方式,學習一次掌握兩個工具。函數
現在微信已經成爲了我的社交的很大一部分,但願這個項目可以幫助你擴展你的我的的微信號、方便本身的生活。」工具
http://itchat.readthedocs.io/zh/latest/學習
itchat使用須要先下載安裝,安裝過程很簡單,直接測試
pip install itchat
我安裝的python3.6自帶pip,若是沒有pip的話我建議升級python。spa
在網上已經有很多itchat的應用,最簡單的就是查找特定用戶來發送微信消息。我結合另外一個示範將消息擴展了一點:間隔特定時間給特定的好友發送微信消息提醒(久坐提醒?)
代碼以下:
1 #-*-coding:utf8-*- 2 import itchat 3 import datetime, os, platform,time 4 5 def timerfun(sched_time) : 6 flag = 0 7 while True: 8 now = datetime.datetime.now() 9 if now > sched_time and now < sched_time + datetime.timedelta(seconds=1) : # 由於時間秒以後的小數部分不必定相等,要標記一個範圍判斷 10 send_move() 11 time.sleep(1) # 每次判斷間隔1s,避免屢次觸發事件 12 flag = 1 13 else : 14 #print('schedual time is {0}'.format(sched_time)) 15 #print('now is {0}'.format(now)) 16 if flag == 1 : 17 sched_time = sched_time + datetime.timedelta(hours=1) # 把目標時間增長一個小時,一個小時後觸發再次執行 18 flag = 0 19 20 def send_move: 21 # nickname = input('please input your firends\' nickname : ' ) 22 # 想給誰發信息,先查找到這個朋友,name後填微信備註便可,deepin測試成功 23 # users = itchat.search_friends(name=nickname) 24 users = itchat.search_friends(name='大壯') # 使用備註名來查找實際用戶名 25 #獲取好友所有信息,返回一個列表,列表內是一個字典 26 print(users) 27 #獲取`UserName`,用於發送消息 28 userName = users[0]['UserName'] 29 itchat.send("該起來動一下了!",toUserName = userName) 30 print('succeed') 31 32 if __name__=='__main__': 33 itchat.auto_login(hotReload=True) # 首次掃描登陸後後續自動登陸 34 sched_time = datetime.datetime(2017,11,6,16,24,10) #設定初次觸發事件的事件點 35 print('run the timer task at {0}'.format(sched_time)) 36 timerfun(sched_time)
有幾個地方調試了一下:
這個程序正常狀況下直接運行便可,第一次運行可能須要掃碼登陸一下。另外能夠將第11行的判斷間隔增大一些,減小程序運行消耗。
後續仍是要繼續學習python基礎,只學習網上現成的實例的話,根基不穩,後續學習效率高不了。