德扑之星有限公司官方网站

如何實現微信機器人并提取群聊信息

微信群中常常有大量信息㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,尤其是學術群❻❼❽❾❿⓫⓬⓭⓮⓯⓰,技術群❣❦❧♡۵,會有很多有用信息⑰⑱⑲⑳⓪⓿❶❷❸❹❺,那么如何做一個微信機器人♀☿☼☀☁☂☄,并提取有效信息然后保存呢☈⊙☉℃℉❅?

本文就微信機器人的創建和信息提取❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,做一個簡單介紹

 

 

  

 

微信機器人實現方式

 

微信機器人可以通過微信官方接口獲取也可以通過第三方包來實現ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,有一個開源的包叫Wechaty✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴,官方網址是 https://wechaty.js.org/zh/docs/

我們可以借助這個包✺ϟ☇♤♧♡♢♠♣♥,實現微信的通訊ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,具體思路如下:

1. 引入wechatyⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,啟動機器人

2. 微信掃描登錄㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,qrcode-terminal生成二維碼

3. 監聽消息⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,提取有用信息

4. 保存消息到本地⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,積累到一定數目✵✶✷✸✹✺✻✼❄❅,通過ajax發送服務器存儲

具體的代碼如下:

const { WechatyBuilder} = require("wechaty");
class Bot { // 機器人類
  bot = null;
  constructor() {
    this.bot = WechatyBuilder.build(); // 新建機器人對象
    this.bot.on("scan", (code) => { // 生成登陸二維碼
      qrcode.generate(code, { small: true });
    });
    this.bot.on("message", this.onMessage.bind(this)); // 綁定監聽微信消息事件
    this.bot.start(); // 開啟該機器人
  }
  async onMessage(message) { // 監聽消息回調函數
    const talker = message.talker(); // 發送消息的聯系人
    const room = message.room(); // 發送消息的群組
    if (talker.payload.type != 1) return; // 對話用戶類型限制
    if (message.payload.type != 7) return; // 消息內容非文本
    ...
    const text = await message.mentionText(); // 消息內容
    ...
    await talker.say(text); // 在私聊中發送消息
    ...
    const topic = await room.topic(); // 群名
    await room.say(image); // 在群組中發送消息
    ...
  }
}
(async () => {
  dotenv.config();
  try {
    new Bot(); // 啟用一個機器人
  } catch (e) {
    console.error(e);
  }
})();

 

通過以上代碼⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,就可以實現一個微信機器人⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,然后把這個微信機器人加入群聊웃유ღ♋♂,就能提取群里的信息ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,保存到對應后臺數據庫⑰⑱⑲⑳⓪⓿❶❷❸❹❺。

當然♦☜☞☝✍☚☛☟✌✽✾✿❁❃,代碼是NodeJS的㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,所以最好用pm2來啟動和管理ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ。微信機器人本質是要一個用戶的①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,比如自己的微信賬號作為機器人ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,可以加好友♦☜☞☝✍☚☛☟✌✽✾✿❁❃,發朋友圈等等㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,所以ⓣⓤⓥⓦⓧⓨⓩ,登錄也是一樣㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,要用一個微信掃描登錄ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,下面就是登錄的截圖✺ϟ☇♤♧♡♢♠♣♥,掃描登錄❣❦❧♡۵,該賬號就是微信機器人賬號了㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,參考下圖:

 

 

結論

 

當然微信機器人只提取消息⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,會顯得功能比較弱✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴,后續可以對接更多服務☈⊙☉℃℉❅,實現客服機器人✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴、數據標引等功能ⓣⓤⓥⓦⓧⓨⓩ。

Wechaty本身也有一個第三方的插件貢獻計劃⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,可以訪問這里 

https://github.com/wechaty/plugin-contrib

 

 

原創不易❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,轉載請注明出處❻❼❽❾❿⓫⓬⓭⓮⓯⓰!

 

更多資料㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,請參考我們之前的文章:

 

1. 2.5D VR在線展覽/云展覽平臺介紹

2. 如何基于開源的Photo Sphere Viewer 框架開發360/720全景VR(一)☾☽❄☃?

3. 全景沉浸式Web VR制作中如何選擇全景相機 (2023版本)

4. 基于WebVR技術的虛擬展覽館/虛擬博物館案例介紹

5. WebVR哪個框架好❻❼❽❾❿⓫⓬⓭⓮⓯⓰?WebVR開發框架的技術選型ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ,360VR技術框架⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓。

6. 如何基于開源系統構建圖片/圖庫管理系統

7. CMS如何存儲和管理大量圖片/海量圖片☾☽❄☃?

8. CMS智能圖片管理之 OCR 圖片文本的提取

9. 如何建設圖書館多媒體電子資源庫✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴?

 

德扑之星官网下载 网站地图