微信機器人能夠做些什麼事?

zhuangbiaowei發表於2018-11-25

作為一個會寫程式碼的產品經理,我最近自己在玩一個微信機器人的開源框架:wechaty,因為上手特別簡單,通過修改hello world,我也寫出了自己的微信機器人,所以引發了很多的聯想,打算和朋友們聊聊這些想法。

只要是用微信客戶端,人類可以完成的事情,微信機器人理論上可以做任何事。當然,以下一些限制,還是存在的?

  • 沒有朋友圈相關的API,這個沒辦法。很多基於朋友圈可以做的玩法,現在還不行。
  • 接受“關鍵字”命令會很擅長,如果要實現自然語言操作(對話),就很困難。

其他的,就沒啥了。下面開始海闊天空:

記錄聊天的歷史

這是我最先嚐試的工作,將微信群裡聊天的記錄,同步到gitter.im去,只要做兩個機器人,分別加入微信群和gitter群,然後將微信裡收到的訊息,實時轉發過去就行。稍微困難一點的,是解析各種訊息型別,然後正常的轉發過去。

這樣做的好處只有一個:因為微信無法為後來者,展示群裡的過去的聊天記錄,而gitter可以做到這一點,這樣新人要回看過去的聊天記錄,就非常方便了。

社群招新

現在我們已經可以實現,任何人都可以自動加這個機器人為好友。然後和這個機器人聊天。如果輸入“#join 申請加入的理由”,這個人就會被拉到一個微信群中,並且這個微信群裡,有一些“面試官”,他們會與這個新人聊天,並確定是否可以接受他的加入申請。

還可以有更進一步的操作,通過#join ,選擇加入不同的微信群。對於一個大的社群,這樣應該會很有幫助。

多群直播轉發

這個應該是很容易的工作了,假設一個特別厲害的大牛,線上直播(圖文、音訊多條記錄,再加上答疑)。這就可以先建立1群、2群到n群,然後大牛不必加入任何一個群,只需要對著微信機器人發言就好。機器人就可以把他的授課內容,同步的轉發到多個微信群裡。

更進一步的,如果有人提問,機器人也可以轉發這些問題給講師(或者再加上一個提問人工稽核的中間步驟)。講師的回答,也可以同步的轉發到所有的群裡。

於是,微信群的500人上限,就不再是問題了。

按規定改名

很多的微信群,都會有改名的規範,比如“莊表偉@上海#開源社”代表我的姓名,所在城市與單位。

如果使用微信機器人,完全可以在新人加入群的時候提示一遍。24小時內不改名的,自動踢人。

識別小廣告

參考某種垃圾郵件的過濾演算法,只要識別出群裡有人發的內容是小廣告的,直接踢走。

清理潛水者

既然可以記錄所有的群內聊天記錄。那麼,長期潛水的群友,在清理之前再刷屏,就已經沒啥用了。

一個簡單的演算法,平均每天發言不少於3條,連續不發言時間小於3天。就可以將潛水者篩選出來,想清理的,就可以直接動手了。

會員等級制度

一個更加複雜的貢獻點制度,也是有可能的。

  • 新加入群的朋友,等級為0。
  • 連續2周活躍,等級為1。
  • 等級為1以上的朋友,可以發言“@某某 謝謝”,或其他關鍵字
  • 獲得感謝超過N的朋友,等級可以升一級
  • 發紅包的,直接踢走(不能通過發紅包,來買感謝)

作為管理員的工具

在一對一聊天的時候,機器人可以接受更多的命令。比如:

  • find :name="張三"
  • kick :name="張三", :room=:all
  • ban :name="張三"
  • broadcast :msg="", :room=/開源社/g
  • manager add :name="張三"
  • manager delete :name="張三"
  • 還可以有很多很多......

老使用者促活

曾經活躍的使用者,最近一段時間不活躍了。發個訊息“撩一下”。如果能夠做到更加智慧:“某某群裡,最近在聊前端的Vue框架,你不打算參與討論一下嗎?”

相信能夠拉回來很多人。

工作群——對接工作事項

工作群可以做的事情就太多了。這裡只能先隨意的扯幾句。

  • 經理:今天的XXX,分析出原因了嗎?
  • 小張:是的,發現了一個問題,我們明天解決
  • 經理:是你去解決嗎?
  • 小張:@李四 明天這個問題解決一下。 @機器人 #newtask 修改XXXX導致的bug
  • 機器人: 已經建立任務單,單號 #13048,責任人:@李四
  • 李四: 收到

工作群——ChatOps

講微信群的聊天訊息,轉發到某個支援ChatOps的IM,比如Slack或者BearyChat,那就更加是海闊天空了。


先聊到這裡,後續的想法,也歡迎大家一起來討論。二維碼是“開源社-bot”,歡迎新增。功能還很弱,大家輕拍 :)

微信機器人能夠做些什麼事?

相關文章