在python中使用itchat傳送微信訊息
介紹
itchat是一個開源的微信個人號介面,使用python呼叫微信從未如此簡單。
使用不到三十行的程式碼,你就可以完成一個能夠處理所有資訊的微信機器人
安裝
pip install itchat
示例程式碼
#-*-coding:utf8-*-
import itchat
import datetime, os, platform,time
def timerfun(sched_time) :
flag = 0
while True:
now = datetime.datetime.now()
if now > sched_time and now < sched_time + datetime.timedelta(seconds=1) : # 因為時間秒之後的小數部分不一定相等,要標記一個範圍判斷
send_move()
time.sleep(1) # 每次判斷間隔1s,避免多次觸發事件
flag = 1
else :
#print('schedual time is {0}'.format(sched_time))
#print('now is {0}'.format(now))
if flag == 1 :
sched_time = sched_time + datetime.timedelta(hours=1) # 把目標時間增加一個小時,一個小時後觸發再次執行
flag = 0
def send_move:
# nickname = input('please input your firends\' nickname : ' )
# 想給誰發信息,先查詢到這個朋友,name後填微信備註即可
# users = itchat.search_friends(name=nickname)
users = itchat.search_friends(name='大壯') # 使用備註名來查詢實際使用者名稱
#獲取好友全部資訊,返回一個列表,列表內是一個字典
print(users)
#獲取`UserName`,用於傳送訊息
userName = users[0]['UserName']
itchat.send("該起來動一下了!",toUserName = userName)
print('succeed')
if __name__=='__main__':
itchat.auto_login(hotReload=True) # 首次掃描登入後後續自動登入
sched_time = datetime.datetime(2017,11,6,16,24,10) #設定初次觸發事件的事件點
print('run the timer task at {0}'.format(sched_time))
timerfun(sched_time)