使用python定時傳送訊息給微信好友
阿新 • • 發佈:2018-11-04
以前以為微信沒有介面和python連線,但是最近發現了個庫wechat_sender,然後就稍微學習了下。還不深入,寫了一個簡易的測試程式作為初步進入。
需要用到的庫有 threading, wxpy前者需要用到Timer這個函式,作為定時器使用。後者wxpy用到Bot函式,載入登入微信的二維碼。所以需要安裝這兩個庫,使用pip或者pycharm的設定新增庫,都可以安裝。
具體實施程式碼,如下:可以自行擴充程式碼內容,這只是實現了傳送的基本框架。
from threading import Timer from wxpy import Bot bot = Bot(cache_path='./微信登入二維碼.png') ''' 載入二維碼,登入進入。位置放在同目錄下就行。 ''' def send_news(): try: Friend = bot.friends().search(u'朋友的暱稱')[0] ''' 這裡的暱稱,不是備註,不是微訊號,就是原本朋友的暱稱,下面的暱稱也是如此。 ''' Friend.send(get_txt()) # send傳送的引數,是get_txt()的返回內容,就是要傳送的內容。 # 每個人要傳送的不一樣,這個函式就自己單獨實現吧。很容易 # Friend.send(u'晚安') # 這句話加的有點廢話,不過也是多發條訊息。 t = Timer(20, send_news) ''' 這裡有坑,之前是這樣寫的Timer(20,send_news('txt')),這樣寫的結果就是錯 第一次傳送沒問題,之後傳送的就出現了問題,說是找不到物件,碰一次就遇到了。 我這個send_news()函式沒有引數,如果你要加引數的話,如下這樣加: t = Timer(20, send_news, [引數]) ''' t.start() except: Friend = bot.friends().search("自己的暱稱")[0] Friend.send(u'訊息傳送失敗') if __name__ == '__main__': t = Timer(20, send_news) ''' 這裡也需要和send_news函式中的定時器一樣的寫法。 最開始想使用while()迴圈,一直迴圈定時器,這樣根本是行不通的。 ''' t.start()