11月24日周四晚8點,GitChat團隊開啟了來自一位前端女技術(shù)工程師李佳芮的問答交流埂淮,以下是主持人小冰將交流過程重新整理,記錄下了分享者和用戶之間對微信機器人的交流精彩片段写隶。
問:你能說說目前微信機器人能做什么,不能做什么讲仰?
答:Wechaty的實現(xiàn)原理慕趴,是監(jiān)聽Web微信的所有內(nèi)容,封裝成接口給開發(fā)者使用鄙陡。所以原則上冕房,只要能在Web微信上能實現(xiàn)的事情,微信機器人都可以做趁矾。注意我說的是Web微信耙册,不是微信客戶端。微信在Web上閹割了很多功能毫捣,相比較详拙,PC客戶端的功能豐富的多。所以搶紅包功能做不了蔓同。因為在Web微信里面饶辙,是無法識別到有紅包的事件的。還有斑粱,轉(zhuǎn)賬功能機器人也做不了弃揽。
問:機器人是PC端監(jiān)聽瀏覽器然后調(diào)用微信Api,應(yīng)用號是基于“微信OS”的“本地”app则北,這么解釋對么矿微?
答:機器人是在監(jiān)聽瀏覽器,但是和微信Api沒有任何關(guān)系尚揣,完全是Hack進去的涌矢。機器人更像是在解決運營中的機械化重復(fù)操作,希望在Chat的過程中惑艇,提供服務(wù)蒿辙。
問:既然是Hack到Web微信的,會不會有一天被封殺了呢滨巴?
答:如果他強制封殺思灌,肯定是有辦法的,但是我個人覺得可能性比較低恭取。第一泰偿,封殺的話,技術(shù)是有成本的蜈垮,微信也是要考慮投入產(chǎn)出比的耗跛;第二裕照,Git上最少有20多個這樣的開源項目,而且好多都是幾年前就做好了调塌,微信不可能不知道晋南,而且從技術(shù)研究和Chatbot的應(yīng)用研究層面的角度看,這個是有意義的羔砾;第三是负间,這件事如果沒有威脅到微信的生態(tài),就不會封殺姜凄,不過之前可以批量刪除好友的功能就被封了政溃。
PS:我倒是覺得,這個被封殺最大的可能性态秧,是把你的個人微信號封了董虱,之前我看過一個技術(shù)社區(qū)上有人說,他做了一個防撤回機器人申鱼,就是在有人撤回消息的時候用聊天機器人把撤回的消息原封不動發(fā)出來愤诱。然后就扔到群里讓大家玩了。但是因為沒有寫字?jǐn)?shù)限制润讥,群里發(fā)多長的消息转锈,他都會原封不動的發(fā)出來,就構(gòu)成了炸群楚殿。
微信就把這個號封了7天撮慨,不能給好友發(fā)信息,不能發(fā)朋友圈脆粥,但是可以給好友發(fā)紅包砌溺,然后紅包里面帶回復(fù)內(nèi)容,我覺得也挺逗的变隔。我有一次也因為沒有判斷消息是不是自己發(fā)的规伐,然后測試修改群名稱,結(jié)果系統(tǒng)消息和自己發(fā)的消息混了匣缘,忽然群也不能用了猖闪。所以使用的時候,注意一下肌厨,比如限制字?jǐn)?shù)啊培慌,屏蔽bot自己發(fā)的消息之類的,用message.self()就可以了柑爸。
問:微信機器人跟微信官方近期推出的應(yīng)用號是怎樣一個關(guān)系吵护,如何結(jié)合?
答:微信機器人和官方近期推出的應(yīng)用號是不一樣的應(yīng)用場景。應(yīng)用號馅而,或者說小程序祥诽,是在微信的應(yīng)用上提供一個入口為用戶提供服務(wù),這樣可以免去下載app的苦惱瓮恭,很多低頻場景的app很適合做小程序雄坪。而微信機器人,本質(zhì)就是一個微信號屯蹦,現(xiàn)階段主要是為了釋放人力诸衔,免去人在微信上做的很多機械性的工作,比如批量通過好友請求啊颇玷,比如拉人進群啊,或者批量刪好友就缆。這個可能更類似于Chatbot帖渠,希望再chat的過程中提供服務(wù)。機器人除了做些機械操作竭宰,還可以在聊天頁面推送一些鏈接給好友空郊,這個鏈接可以是小程序的鏈接,也可以是app的鏈接切揭,也可以是公眾號狞甚。
問:機器人斷線概率高么?
答:從我自己使用的情況來看廓旬,Wechaty這個框架很穩(wěn)定哼审,但是網(wǎng)頁微信定期會把你踢下去,所以需要重新登錄孕豹。Wechaty有一個功能涩盾,就是通過wechaty.instance({ profile: ‘test’ }) 會把你的session信息存到一個test.wechaty.json的文件中,如果掉線了励背,會自動重新登錄春霍,test可以隨便換名字哈。我現(xiàn)在長期在我的服務(wù)器上跑兩個機器人叶眉,基本上一周會掉一次址儒,我在文章里介紹了server醬,是一個從服務(wù)器推報警信息到微信的工具衅疙,結(jié)合server醬莲趣,在logout和scan事件的時候加入一個推送,掉線以后會有提醒炼蛤,如果session沒了也會把二維碼推給你妖爷,還是挺爽的,也不用怕掉線再去服務(wù)器上登錄了。
問:GitChat現(xiàn)在想用一個微信號實現(xiàn)自動拉人進群的功能(突破掃二維碼100人的限制)絮识,不知道Wechaty是不是最好的選擇绿聘?
答:我認為是很好的選擇,實際上我最開始使用Wechaty也單純是為了突破群二維碼100人限制次舌。使用三個關(guān)鍵函數(shù):在聊天頁面通過m.from() 獲取聯(lián)系人contact熄攘,通過room.find() 找到群,然后room.add(contact) 就可以實現(xiàn)自動拉人了彼念。
問:微信機器人可以檢測自己是否還是某個聯(lián)系人的好友嗎挪圾?
答:可以的,Contact有一個Contact.findAll()的函數(shù)逐沙,返回一個Contact數(shù)組哲思,會找到你所有的聯(lián)系人,然后遍歷這個數(shù)組吩案,使用contact.say()給所有好友群發(fā)消息棚赔,判斷回復(fù)的類型和內(nèi)容,回復(fù)消息的類型可以通過Message.type()獲取徘郭,如果返回的是10000就是系統(tǒng)消息靠益,一旦判斷出返回的是一個“對方不是你好友”的系統(tǒng)消息,那們就判斷出這個聯(lián)系人不是好友了残揉。
問:微信機器人不是走的微信接口去獲取數(shù)據(jù)么胧后,在想一個找回群的需求,不知道是否可以實現(xiàn)抱环?
答:機器人不是走的微信接口壳快,不過你的要求可以實現(xiàn),不過需要你常年登著镇草,然后把你所有消息都存進去濒憋,這樣從登錄開始算起的所有內(nèi)容都可以搜索。我之前做的自動拉人進群的功能陶夜,有個小點和你這個需求比較類似凛驮。這個人回復(fù)機器人暗號,機器人會拉他進去条辟,如果這個人已經(jīng)在群里了黔夭,機器人就會在群里@他一下,這樣這個群就在你的聊天界面最前面了羽嫡。這樣有些人群多就可以通過這種方式找到某個沉寂已久的微信群了本姥。
問:現(xiàn)在微信機器人可以處理個人微信號的很多事情,有考慮接下來如何設(shè)計機器人讓它更加智能化杭棵?
答:恩婚惫,有考慮氛赐。但是更多的希望,第一步先讓這個微信機器人更好的完成自動化的工作先舷,就是說本來需要人做的重復(fù)性工作艰管,比如拉群、自動回復(fù)蒋川、加人牲芋、一鍵群發(fā)等等,機器人都幫你先完成了捺球,這個也是很多企業(yè)在微信社群運營中面臨的很大的困惑缸浦。有一句話說的特別好:“Machine should work, People should think” 。
我希望我的微信機器人氮兵,在第一步能把很多運營人員面臨的問題先解決了裂逐,讓他們更多的時間放在思考如何進行活動策劃、如何留存用戶泣栈,甚至如何進行商業(yè)變現(xiàn)絮姆。一方面希望幫助企業(yè)節(jié)約成本,實現(xiàn)讓一個運營人員管理上千個群和微信號秩霍,另外一方面,希望幫助企業(yè)釋放人力蚁阳,讓運營人員從復(fù)雜機械化的操作中解放出來铃绒,做有創(chuàng)造性的東西。
人工智能方面螺捐,現(xiàn)在有一些機器人的平臺做的已經(jīng)很好了颠悬,他們是專門研究這個的,做的比我們專業(yè)好多定血,每天就是有好多聰明絕頂?shù)乃惴üこ處熢谘芯颗獍悄芑梢允褂盟麄兊慕涌冢热缥抑坝梦业奈⑿艡C器人接過圖靈機器人澜沟,效果還不錯灾票。我更希望和做智能機器人的企業(yè)有合作,共同解決聊天或者社群運營過程中的繁瑣問題茫虽,或者說刊苍,我做的更多是一個應(yīng)用層面的chatbot嘗試,以更少的成本探索更多需求并小成本迭代解決問題濒析。
問:文中提到了好幾個實現(xiàn)微信機器人的類庫正什,你是怎樣比較最終選擇了Wehaty?
答:我當(dāng)時確實對比了幾個不同的類庫号杏,我選擇的原因很簡單婴氮,就是看是用什么語言實現(xiàn)的,因為我對JS比較熟悉,所以使用了Wechaty主经。其實選類庫的時候荣暮,我發(fā)現(xiàn)Python的庫是最早的,且相對比較最完善的旨怠。但是有兩點原因我沒有選擇渠驼,一是我對Python沒有JS熟悉, 二是Python的庫雖然早鉴腻,但是接口封裝的不是很干凈迷扇。
JS的有這幾個,你們可以參考下哈:
Wechat4U:微信 Wechat web 網(wǎng)頁版接口的JavaScript實現(xiàn)爽哎,兼容Node和瀏覽器蜓席;
Weixinbot Nodejs:封裝網(wǎng)頁版微信的接口,可編程控制微信消息课锌;
WechatBot:面向個人的微信Wechat機器人平臺 - 使用微信網(wǎng)頁版接口Wechat4u厨内;
Wechat-user-bot:正在組裝中的微信機器人;
Hubot-WeChat Hubot:是一個具有真實微信號的機器人渺贤,可以自動回復(fù)信息到微信群和某聯(lián)系人雏胃,并能給維護者的微信自動發(fā)送Hubot在線狀態(tài)。
問:文章里提到教舞蹈做視頻志鞍,你覺得舞蹈給你帶來了哪些好處呢瞭亮?
答:首先,舞蹈給我?guī)砹撕芏嗯笥压膛铮J識了工作之外的各種人统翩,而且都是很有趣的人,我在生活中有的時候比較無趣此洲,多和這些人在一起能讓我變得有趣一點厂汗。另外,當(dāng)你有一個興趣愛好的時候呜师,每周的生活過起來就會豐富多彩一點娶桦,因為我們拍攝的是系列視頻,你會有一個期待汁汗,就像追劇一樣趟紊,而你是劇中的主角或者編導(dǎo),這種感覺是很美妙的碰酝。
最主要的一點霎匈,跳舞對我來說是一種運動方式,每周出一點汗是身體和心理的雙重放松送爸,也能讓我更好的投入工作中铛嘱,這種運動還有一個副產(chǎn)品暖释,就是可以保持身材,對于姑娘來說墨吓,這個還是非常重要的球匕。
問:桔子互動是提供微信運營服務(wù)的,是怎樣契機開始運營微信服務(wù)帖烘,以后想要如何發(fā)展呢亮曹?
我在研一的時候,公眾號剛剛火起來秘症,一個機緣巧合照卦,一個畢業(yè)的學(xué)長知道我在實驗室寫php,他的朋友正好有外包需求乡摹,所以他牽頭役耕,找了幾個技術(shù)的同學(xué)開始接項目。后來索性在學(xué)校附近租了個工作室聪廉,每周大家都會到工作室里碰一下瞬痘,一起做項目。隨著項目的同質(zhì)化越來越嚴(yán)重板熊,我們就嘗試著做了一個小平臺框全,將一些通用需求,比如簽到干签、填寫表單津辩、微信墻、微信婚禮請柬等做成一個一個的模塊筒严,然后內(nèi)部使用,后來接開發(fā)接的多了情萤,也開始嘗試著打包成服務(wù)鸭蛙,可能這就是一個契機吧。
后來我拿著我們做的婚禮請柬參加了創(chuàng)業(yè)比賽筋岛,還拿了風(fēng)投娶视,就去深圳做了婚慶O2O,結(jié)果因為線下資源和產(chǎn)品方向等原因失敗了睁宰,回北京之后就又重操舊業(yè)肪获,做一些微信運營的項目。我們現(xiàn)在也會接一些H5的項目柒傻、網(wǎng)站的項目和內(nèi)容運營相關(guān)的需求孝赫,但是現(xiàn)在這一塊已經(jīng)成為一片紅海,利潤并不是很高红符。
最近我發(fā)現(xiàn)青柄,微信個人號上有很多重復(fù)的工作伐债,需要自動化,所以正在嘗試往這個方向轉(zhuǎn)致开,接下來我會把產(chǎn)品模塊化峰锁,希望可以幫助幫助更多企業(yè)在微信社群運營商提供自動化服務(wù),幫助他們節(jié)約成本双戳,釋放人力虹蒋。
問:對于創(chuàng)業(yè),你有什么想法可以和大家分享的飒货,又有什么建議是想告訴想要創(chuàng)業(yè)的朋友的呢魄衅?
答:對于創(chuàng)業(yè),從我這幾年走過的各種彎路來看膏斤,專注可能是最重要的徐绑。之前一直覺得自己精力充沛,有的時候覺得自己可以做很多東西莫辨,然后就會去做各種嘗試傲茄,但是所有的嘗試最好能在一個有限域里面,做的項目也一定要切分一塊比較垂直的領(lǐng)域沮榜,將這一塊做好再去迅速的規(guī)呐陶ィ化。
另外蟆融,創(chuàng)業(yè)就是一場生意草巡,所以整個產(chǎn)品是一定要有商業(yè)邏輯在里面的,我最開始做婚慶O2O的時候型酥,可能也是因為拿到了幾百萬的風(fēng)投山憨,團隊規(guī)模又不是很大,以為公司又不缺錢弥喉,所以就單純的想產(chǎn)品做好了郁竟,其他東西自然就來了,然后就會陷入悶頭做產(chǎn)品的窘?jīng)r由境。甚至連如何產(chǎn)生現(xiàn)金流棚亩,如何盈利都沒有想的非常明白,就去做了虏杰。
所以現(xiàn)在我做的內(nèi)容讥蟆,也會盡量更加聚焦一點,希望在Chatbot的領(lǐng)域里面纺阔,從微信運營自動化入手瘸彤,幫助企業(yè)和某些個人解決實際的運營自動化需求,然后盡量把產(chǎn)品打磨好做精笛钝。我希望對Chatbot有興趣的钧栖,可以一起聊聊低零,希望碰出一些好想法。
問:作為一名優(yōu)秀的程序媛拯杠,有想要給其他程序媛或者想要成為程序媛的妹子一些建議么掏婶?
答:首先,就是不要害怕潭陪。桑德伯格有一本書叫《向前一步》雄妥,鼓勵女性追求自己的目標(biāo),其實我覺得這幾個字在程序世界中也很對依溯。對很多姑娘來說老厌,無論是不是技術(shù)出身,都會對程序有一種恐懼黎炉,比如總怕把服務(wù)器弄壞了枝秤,或者什么程序搞崩了。其實不然慷嗜,去做就好了淀弹,大不了重新裝個系統(tǒng),重新寫個代碼庆械,不要因為害怕出錯而不敢做薇溃。包括現(xiàn)在,我有的時候也會有這種恐懼缭乘,其實應(yīng)該自己克服的沐序,程序里面很多東西,也像一層窗戶紙堕绩,向前一步策幼,一捅破,你會發(fā)現(xiàn)程序的世界也沒有那么撲朔迷離奴紧。
另外特姐,是當(dāng)一大段代碼調(diào)不通,你也不知道什么問題的時候绰寞,好多女生會忽然覺得很絕望到逊,其實有一個小竅門铣口,可以把整個代碼分成幾個小片段滤钱,一個一個去調(diào)游岳,就會捉到問題致盟,很多大牛也是這樣去調(diào)程序的棺榔,但是有的時候拯坟,我們不敢去拆分共螺,就會陷入很困惑的情況跳不出來咏连。
最后搭幻,也是我最想說的姆吭,不是只有男生才可以駕馭程序,很多工作痊末,不分男女蚕苇,只分強弱,其實創(chuàng)業(yè)也是一樣凿叠。