Python 微信機器人

1.微信庫選擇

python關於開發微信的庫主要有itchatwxpy,而wxpy底層是調用的itchat,因此若是你只是要使用的話建議使用wxpy庫,它比其餘的庫都要優雅,更面向對象,並且深度整合了圖靈機器人小i機器人;而itchat擴展性更好,若是你想本身開發一個本身的微信庫那建議選itchatpython

2.實現原理

我相信有很多同窗使用過微信的網頁版,而wxpy(底層使用itchat)庫就是模擬登陸網頁端,而後調用微信的api實現操做的,咱們能夠查看itchat源碼發現。
git

總之你們記住,目前wxpyitchat都是模擬網頁版微信來操做的github

3.圖靈機器人

既然能夠模擬網頁微信了,那又如何作到自動回覆呢?這裏咱們就使用到了圖靈機器人,你們能夠在他們的官網(http://www.tuling123.com)免費註冊帳號,而後申請一個免費的機器人,每一個人最多免費申請五個機器人。
數據庫

 


我會在項目代碼中給一個默認的apikey,讓你們不用申請機器人就能夠直接運行項目,可是豬哥仍是建議同窗本身去申請,由於這個默認的apikey有調用次數限制,何況這算是一筆免費的財富呢!api

4.總體流程

爲了方便你們理解,豬哥給你們畫了一個時序圖
微信

 

2、項目代碼

先來張項目結構圖壓壓驚:
svn

 

1.下載項目

豬哥已經把項目放在了GitHub上,羣裏有小夥伴反饋不會使用github,這裏我就詳細講一下如何從github上下載項目。工具

注意:github與git不是同一個東西,github是全球最大的同性戀交友論壇,在這裏咱們不比顏值與財富,只比誰的項目star多,star越多也就說明你越吸引同性的喜歡與愛慕,甚至連你的同事也會愛上你!而git是項目管理工具,github上的項目就是用git來管理,項目管理工具另外一派系是svn。測試


首先找到你須要下載的項目,而後點擊Clone or download,而後點擊右側的複製按鈕,豬哥這個項目的地址是:https://github.com/pig6/wxrobot
code

 


而後打開你的pycharm,選擇CSV->Checkout from version control->git,而後粘貼剛纔複製的項目連接。

 


最後pycharm可能會提示你使用 新窗口打開 仍是用 當前窗口 打開,豬哥通常習慣使用 新窗口(New Window) 打開,這樣能夠避免多個項目開發時形成混亂。

這個好像你電腦得安裝Git :https://git-scm.com/download/win

2.下載wxpy庫

項目下載下來以後,由於沒有安裝必須的庫wxpy,pycharm可能會有以下提示,這時咱們點一下install就能夠。

若是沒有出現安裝庫提示的話,咱們能夠在Setting->Project->Project Interpreter裏面添加wxpy庫。

 


或者使用如下命令安裝wxpy庫,若是你是pip3則替換下面的pip。

pip install -U wxpy -i 「https://pypi.doubanio.com/simple/「

3.運行項目

你能夠按右上角的綠色三角形按鈕,也能夠右鍵項目而後點擊run

運行以後彈出登陸二維碼,手機微信掃一掃點擊肯定登陸便可和好友聊天。

 

3、總結

首先感謝你們的耐心閱讀,考慮到有不少零基礎的同窗因此文章有點長。

豬哥來總結下這幾天使用wxpy庫開發微信機器人的一些感覺吧!

  1. 豬哥用本身的大號測試了一週,也沒有出現被封的跡象,只要不發送大量的相同信息就沒問題

  2. 即便出現被封也只是會限制你微信登陸網頁版,手機端不影響使用,正常使用大概一兩週就自動解封

  3. 最好用小號測試,聽說2018年及之後註冊的微信號都不能夠登微信網頁版,也就是說不能用測試

  4. 微信網頁版有些功能被閹割了,好比:添加好友,拉人入羣等,由於怕微商使用機器人處處做惡因此才閹割

  5. 目前只開發了一個功能,先讓你們入門,後面的功能會慢慢豐富起來

  6. 目前wxpy基於微信網頁登陸,不少功能沒法實現,後期考慮跟換成iPad登陸

  7. 圖靈機器人智商有待提升

接收羣消息  請看下圖

過濾有用羣消息

能接收到羣消息以後,咱們如何過濾咱們須要的消息呢?這裏咱們能夠在接收到羣消息後比較下這個羣是否是咱們須要監聽的羣,而後再比較當前消息發送者在不在咱們要監聽的對象中,若是二者都知足便實現了消息過濾。

在配置文件中指定須要監聽人的名稱(最好是備註名,防止微信暱稱重名)和須要監聽的羣

根據配置須要監聽的羣和人去過濾羣消息

轉發有用羣消息

在咱們拿到有用羣消息後,咱們如何保存這些信息呢?有不少種保存信息的方式,你能夠存文件,存數據庫,也能夠選擇轉發。這裏豬哥就選擇將信息轉發,這樣有幾個優勢:簡單、實時、永久保存。

那轉發給誰?你能夠轉發到指定好友或者文件助手都行,在豬哥的代碼中是轉發到機器人管理員那裏,若是你沒有設置管理員那麼就轉發到文件助手中。

管理員設置技巧:若是你用小號登陸機器人,那麼你能夠設置你的大號爲管理員;若是你沒有小號用本身的大號登陸,那這個你就空着默認就設置文件助手爲管理員,相關信息發送至你的文件助手中。

目前微信機器人第二階段開發完成,本次不只僅新增監聽模式,還新增瞭如下如下一些功能:

  1. 機器人羣聊:讓機器人加入羣聊,讓更多的人來撩~

  2. 轉發模式:可將老闆重要指示轉發至其餘羣

  3. 監控模式:監控羣中別人發的分享,這樣就能夠第一時間發現是否有人在羣中發廣告

  4. 管理員:指定管理員後能夠遠程控制機器人的各個開關

 

 

你們能夠根據本身的平常需求來自由發揮,個性化機器人哦~

原文:https://mp.weixin.qq.com/s/hqPx7Z6Pbd6zXRIzuGgl6w

Github項目地址:https://github.com/pig6/wxrobot(或點擊閱讀原文)
wxpy官方文檔:https://wxpy.readthedocs.io/zh/latest

抄襲於 裸睡的豬公衆號。。。。。。本人改良。

相關文章
相關標籤/搜索