在python中使用itchat傳送微信訊息

testingbang發表於2019-08-14

介紹


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)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69942496/viewspace-2653688/,如需轉載,請註明出處,否則將追究法律責任。

相關文章