關(guān)于個(gè)人微信的機(jī)器人開(kāi)發(fā)

本篇文章主要討論微信機(jī)器人的開(kāi)發(fā)經(jīng)驗(yàn)。微信機(jī)器人的功能需求很簡(jiǎn)單,業(yè)務(wù)代碼賊好擼惩嘉,但是如何和微信交互呢踢故,如何取到微信數(shù)據(jù)調(diào)用相關(guān)聊天接口呢,具體分為以下幾種技術(shù)類(lèi)型:

1.微信Web接口

17年后微信都不支持了鸽粉,不過(guò)還是有一些抛パ蓿×的star 都是過(guò)W star的項(xiàng)目玷或,可惜荒廢了。

2.手機(jī)Xposed和電腦 PC

都是HOOK技術(shù)蔬胯,是需要懂匯編氛濒,懂c或c++才可以開(kāi)發(fā)自定義鹅髓,重點(diǎn)是還需要公司去買(mǎi)采購(gòu)刷機(jī)的手機(jī)和windows服務(wù)器窿冯,一個(gè)號(hào)成本幾千塊醒串,條件不允許啊Q稣酢椎木!

3.E云管家方案

這個(gè)方案目前可使用的內(nèi)容上來(lái)說(shuō)博烂,是功能最全的禽篱,而且安全性相比其他方案更好馍惹,安全性、穩(wěn)定性比較優(yōu)秀慎框。難點(diǎn)是后添,目前并沒(méi)有被公開(kāi),自己分析代價(jià)很大馅精,需要企業(yè)合作洲敢。

請(qǐng)求URL:

http://域名地址/sendApplet

請(qǐng)求方式:

POST

請(qǐng)求頭Headers:

Content-Type:application/json

Authorization:login接口返回

參數(shù):

參數(shù)名必選類(lèi)型說(shuō)明

wId是string登錄實(shí)例標(biāo)識(shí)

wcId是string接收方微信id/群id

content是string消息xml回調(diào)內(nèi)容,?(此回調(diào)的XML需要去掉部分压彭,截取appmsg開(kāi)頭的哮塞,具體請(qǐng)看請(qǐng)求參數(shù)示例)

返回?cái)?shù)據(jù):

參數(shù)名類(lèi)型說(shuō)明

codestring1000成功凳谦,1001失敗

msgstring反饋信息

data

data.typeint類(lèi)型

data.msgIdlong消息msgId

data.newMsgIdlong消息newMsgId

data.createTimelong消息發(fā)送時(shí)間戳

data.wcIdstring消息接收方id

請(qǐng)求參數(shù)示例

{"wId":"0000016f-78bd-21c8-0001-29c4d004ae46","wcId":"jack_623555049","content":"<appmsg appid=\"\" sdkver=\"0\">\n\t\t<title>首頁(yè)</title>\n\t\t<des />\n\t\t<username />\n\t\t<action>view</action>\n\t\t<type>33</type>\n\t\t<showtype>0</showtype>\n\t\t<content />\n\t\t<url>https://mp.weixin.qq.com/mp/waerrpage?appid=wx9c4062d486855e2f&amp;type=upgrade&amp;upgradetype=3#wechat_redirect</url>\n\t\t<lowurl />\n\t\t<dataurl />\n\t\t<lowdataurl />\n\t\t<contentattr>0</contentattr>\n\t\t<streamvideo>\n\t\t\t<streamvideourl />\n\t\t\t<streamvideototaltime>0</streamvideototaltime>\n\t\t\t<streamvideotitle />\n\t\t\t<streamvideowording />\n\t\t\t<streamvideoweburl />\n\t\t\t<streamvideothumburl />\n\t\t\t<streamvideoaduxinfo />\n\t\t\t<streamvideopublishid />\n\t\t</streamvideo>\n\t\t<canvasPageItem>\n\t\t\t<canvasPageXml><![CDATA[]]></canvasPageXml>\n\t\t</canvasPageItem>\n\t\t<appattach>\n\t\t\t<attachid />\n\t\t\t<cdnthumburl>305c0201000455305302010002042aaae40702032f55f902048e0260b402045ed89962042e6175706170706d73675f333731636636306138623165316663615f313539313235333334353838385f32303838300204010400030201000400</cdnthumburl>\n\t\t\t<cdnthumbmd5>0d249c2dd3b3296a4aea2ac0fbeb865f</cdnthumbmd5>\n\t\t\t<cdnthumblength>72340</cdnthumblength>\n\t\t\t<cdnthumbheight>576</cdnthumbheight>\n\t\t\t<cdnthumbwidth>720</cdnthumbwidth>\n\t\t\t<cdnthumbaeskey>c1ce6b862ceab481955de4cbde33fffc</cdnthumbaeskey>\n\t\t\t<aeskey>c1ce6b862ceab481955de4cbde33fffc</aeskey>\n\t\t\t<encryver>1</encryver>\n\t\t\t<fileext />\n\t\t\t<islargefilemsg>0</islargefilemsg>\n\t\t</appattach>\n\t\t<extinfo />\n\t\t<androidsource>3</androidsource>\n\t\t<thumburl />\n\t\t<mediatagname />\n\t\t<messageaction><![CDATA[]]></messageaction>\n\t\t<messageext><![CDATA[]]></messageext>\n\t\t<emoticongift>\n\t\t\t<packageflag>0</packageflag>\n\t\t\t<packageid />\n\t\t</emoticongift>\n\t\t<emoticonshared>\n\t\t\t<packageflag>0</packageflag>\n\t\t\t<packageid />\n\t\t</emoticonshared>\n\t\t<designershared>\n\t\t\t<designeruin>0</designeruin>\n\t\t\t<designername>null</designername>\n\t\t\t<designerrediretcturl>null</designerrediretcturl>\n\t\t</designershared>\n\t\t<emotionpageshared>\n\t\t\t<tid>0</tid>\n\t\t\t<title>null</title>\n\t\t\t<desc>null</desc>\n\t\t\t<iconUrl>null</iconUrl>\n\t\t\t<secondUrl />\n\t\t\t<pageType>0</pageType>\n\t\t</emotionpageshared>\n\t\t<webviewshared>\n\t\t\t<shareUrlOriginal />\n\t\t\t<shareUrlOpen />\n\t\t\t<jsAppId />\n\t\t\t<publisherId />\n\t\t</webviewshared>\n\t\t<template_id />\n\t\t<md5>0d249c2dd3b3296a4aea2ac0fbeb865f</md5>\n\t\t<weappinfo>\n\t\t\t<pagepath><![CDATA[pages/venue/list.html]]></pagepath>\n\t\t\t<username>gh_6c471f8ef617@app</username>\n\t\t\t<appid>wx9c4062d486855e2f</appid>\n\t\t\t<version>198</version>\n\t\t\t<type>2</type>\n\t\t\t<weappiconurl><![CDATA[http://wx.qlogo.cn/mmhead/Q3auHgzwzM5Rz1QFH4Wpx2ibOTJGgLA9ovlIsFkPszXW4GEIPHkf3ibg/96]]></weappiconurl>\n\t\t\t<shareId><![CDATA[1_wx9c4062d486855e2f_574177060_1591252418_0]]></shareId>\n\t\t\t<appservicetype>0</appservicetype>\n\t\t\t<videopageinfo>\n\t\t\t\t<thumbwidth>720</thumbwidth>\n\t\t\t\t<thumbheight>576</thumbheight>\n\t\t\t\t<fromopensdk>0</fromopensdk>\n\t\t\t</videopageinfo>\n\t\t</weappinfo>\n\t\t<statextstr />\n\t\t<finderFeed>\n\t\t\t<objectId>null</objectId>\n\t\t\t<objectNonceId>null</objectNonceId>\n\t\t\t<feedType>0</feedType>\n\t\t\t<nickname />\n\t\t\t<avatar><![CDATA[null]]></avatar>\n\t\t\t<desc />\n\t\t\t<mediaCount>0</mediaCount>\n\t\t\t<mediaList />\n\t\t</finderFeed>\n\t\t<findernamecard>\n\t\t\t<username />\n\t\t\t<avatar><![CDATA[]]></avatar>\n\t\t\t<nickname />\n\t\t\t<auth_job />\n\t\t\t<auth_icon>0</auth_icon>\n\t\t</findernamecard>\n\t\t<finderTopic>\n\t\t\t<topic />\n\t\t\t<topicType>-1</topicType>\n\t\t\t<iconUrl><![CDATA[]]></iconUrl>\n\t\t\t<desc />\n\t\t\t<location>\n\t\t\t\t<poiClassifyId />\n\t\t\t\t<longitude>0.0</longitude>\n\t\t\t\t<latitude>0.0</latitude>\n\t\t\t</location>\n\t\t</finderTopic>\n\t\t<finderEndorsement>\n\t\t\t<scene><![CDATA[0]]></scene>\n\t\t</finderEndorsement>\n\t\t<directshare>0</directshare>\n\t\t<websearch />\n\t</appmsg>"}

成功返回示例

{"code":"1000","message":"發(fā)送成功","data":{"type":0,"msgId":697760545,"newMsgId":7645748705605226305,"createTime":1641458149,"wcId":"jack_623555049"}}

錯(cuò)誤返回示例

{"message":"失敗","code":"1001","data":null}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市如失,隨后出現(xiàn)的幾起案子绊诲,更是在濱河造成了極大的恐慌,老刑警劉巖褪贵,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掂之,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡脆丁,警方通過(guò)查閱死者的電腦和手機(jī)世舰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)槽卫,“玉大人,你說(shuō)我怎么就攤上這事歼培≌鸾” “怎么了茸塞?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)查剖。 經(jīng)常有香客問(wèn)我钾虐,道長(zhǎng),這世上最難降的妖魔是什么笋庄? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任效扫,我火速辦了婚禮,結(jié)果婚禮上无切,老公的妹妹穿的比我還像新娘荡短。我一直安慰自己,他們只是感情好哆键,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布掘托。 她就那樣靜靜地躺著,像睡著了一般籍嘹。 火紅的嫁衣襯著肌膚如雪闪盔。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天辱士,我揣著相機(jī)與錄音泪掀,去河邊找鬼。 笑死颂碘,一個(gè)胖子當(dāng)著我的面吹牛异赫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播头岔,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼塔拳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了峡竣?” 一聲冷哼從身側(cè)響起靠抑,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎适掰,沒(méi)想到半個(gè)月后颂碧,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡类浪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年载城,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片戚宦。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡个曙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出受楼,到底是詐尸還是另有隱情垦搬,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布艳汽,位于F島的核電站猴贰,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏河狐。R本人自食惡果不足惜米绕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望馋艺。 院中可真熱鬧栅干,春花似錦、人聲如沸捐祠。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)踱蛀。三九已至窿给,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間率拒,已是汗流浹背崩泡。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留猬膨,地道東北人角撞。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像勃痴,于是被迫代替她去往敵國(guó)和親谒所。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容