微信机器人开发
前言
最近在搞微信機(jī)器人的東西,想必很多人都聽過,那些有女朋友的程序員有的也會(huì)給自己女朋友定制一個(gè)微信機(jī)器人,給機(jī)器人接上一些有趣的接口,啥土味情話,天氣預(yù)報(bào)就都上來了,確實(shí)很有趣,就找了時(shí)間研究一下。
wechaty
wechaty是一個(gè)微信機(jī)器人的工具包,他會(huì)為你提供一系列的功能,包括收發(fā)信息,建群,群內(nèi)加好友,自動(dòng)通過好友申請等,開發(fā)微信機(jī)器人一般用的都是這個(gè),這個(gè)沒啥好說的,基本上看文檔就知道怎么做了。
wechaty下面的一些木偶(puppet)版本
puppet就是wechaty用來操控微信的東西,就像puppeteer一樣,只不過操控微信不像puppeteer那么簡單,他有好多個(gè)版本,下面就簡單介紹一下各個(gè)版本的區(qū)別。
puppet-service
我試了那么多個(gè)來看最強(qiáng)的版本應(yīng)該是puppet-service,這個(gè)就是用平板的微信版本進(jìn)行操控,功能也最為齊全,但是這個(gè)版本的需要token,就是要給錢,他的原理應(yīng)該是別人在服務(wù)器上模擬平板的微信,你通過一個(gè)token訪問到他的服務(wù)器上,登錄微信,使用api接口進(jìn)行通信,別人因?yàn)橛蟹?wù)器的開銷所以會(huì)要你給錢,具體別人怎么做的不清楚,別人研究出來賣錢的東西。
puppet-wechat
puppet-wechat 這個(gè)版本是免費(fèi)的,相應(yīng)的功能也少,能夠收發(fā)信息,但是能夠發(fā)的信息類型只有文字和文件,這個(gè)版本內(nèi)部用的是網(wǎng)頁版微信進(jìn)行操控,掃碼登錄,那些無法登錄微信網(wǎng)頁版的微信號(hào)現(xiàn)在也能夠正常使用這個(gè)版本,需要開啟一個(gè)uos選項(xiàng)
WechatyBuilder.build({name: 'wechat-bot',puppet: 'wechaty-puppet-wechat',puppetOptions: {uos: true, // 開啟這個(gè)選項(xiàng)后無法登錄微信網(wǎng)頁版的微信號(hào)也能正常登錄head: false}, })puppet-xp
puppet-xp版本是使用pc版微信去操控的,功能和puppet-wechat差不了太多,但是這個(gè)版本能夠拿到微信唯一id,如果是用來做客服之類的功能,使用這個(gè)版本我認(rèn)為是最好的,但是也有局限性,只能使用Windows WeChat 3.3.0.115版本進(jìn)行開發(fā)。收發(fā)消息也和puppet-wechat版本一樣,只支持文字和圖片。但是經(jīng)過一系列深扒源碼不斷地試驗(yàn)發(fā)現(xiàn),這個(gè)版本其實(shí)還能發(fā)小程序和鏈接卡片,但是這塊要實(shí)現(xiàn)的話就得改puppet-xp包的源碼了,這塊有時(shí)間再寫一篇來說說。
總結(jié)
上面提到的那些木偶版本目前來說都是能用的,根據(jù)需求而定吧。底層的邏輯我覺得才是最值得注意的地方,web版的木偶是直接調(diào)用微信接口完成各類動(dòng)作的,pc版本的木偶是通過往微信里面掛一個(gè)dll直接調(diào)用微信的方法去實(shí)現(xiàn)的。第一個(gè)web版本其實(shí)微信官方完全可以堵住,第二個(gè)pc版因?yàn)橛玫氖桥f版的微信可能堵截起來就比較困難了,我覺得這種東西是帶有一定的危險(xiǎn)性的,有心之人很容易利用這種東西,至于用來干嘛那就不得而知了。
總結(jié)
- 上一篇: 【机器视觉学习笔记】Harris 角点检
- 下一篇: Exynos4412启动过程分析