バックグラウンド
すべてのユーザーがWeChatグループディスカッションを通じて製品の問題に関するフィードバックを提供することを好むため、これは間違いなく毎日のオンライン問題処理の効率に大きな影響を与えます。ユーザーにオンラインで入力するように案内しようとしましたが、失敗に終わりました。WeChatグループ監視ロボットを入手することが可能かどうかを見てみましょう。
前の会社では、Pythonを使用してitchatを介してBIデータをブロードキャストするロボットを取得しましたが、WeChat Webプロトコルを使用するため、WeChatの監視は非常に厳格であり、多くのアカウントを使用できません。ログインしても、どうしても接続が切断されることがよくあります。 、非常に不安定。したがって、今回は間違いなくWebプロトコルを介して行うことはできません。そこで少し期待して、WeChat ipadプロトコルをサポートするSDKであるWechatyを発見しました。
Wechatyの公式定義:
Wechatyは、Typescriptを使用して構築されたNode.jsアプリケーションである、オープンソースの個人アカウントWeChatロボットインターフェースです。Web、iPad、iOS、Windows、Androidなど、複数のWeChatアクセスソリューションをサポートします。Linux、Windows、Darwin(OSX / Mac)、Dockerプラットフォームを同時にサポートします。
トークンは、Wechatyオープンソースプロジェクトで設計およびサポートされている認証テクノロジーであり、Sentence InteractiveのWechatyのPuppetに基づくプラグインの実装のクラウドサービスAPIの承認アカウントであることをここで言及することが重要です。つまり、Wechatyを使用してipadプロトコルに基づくロボットを開発する前に、使用可能なトークンを取得する必要があります。Wechatyコミュニティから15日間のトライアルトークンを申し込むことができます。トライアル期間後、それを支払う(200RMB /月)か、次のように長期無料トークンを取得するかを選択できます:Wechatyトークンのアプリケーションと使用法のドキュメントおよびFAQ
Wechaty目前已经支持了Java
、Python
、Go
、PHP
等多种语言,但是该SDK原生是用TypeScript
编写的,并且github上大量的demo和开源项目都是用node.js
写的,再加上Wechaty宣称可以通过6行代码就可以实现一个机器人,于是最终决定用之前一点稚嫩的JavaScript
前端开发经验拥抱node.js
吧!
参考资料:
-
官方 API文档
-
官方demo:wechaty-getting-started
-
wechaty-puppet-padplus 示例 。
- Wechaty社区 开源项目
通过短时间的学习和尝试后,发现基本微信机器人常用的功能实现几乎都能从这些开源的项目中直接拿到,然后再结合自己的需求再进行改装就可以了,确实开发起来挺方便的。
开发之前,首先要明确一下此次的功能需求:
-
自动聊天:群聊中通过
@[机器人]xxx
, 机器人回复问题反馈模版信息 (已完成) -
加入群聊自动欢迎:当新的小伙伴加入群聊后自动
@[新的小伙伴]
发一个文字欢迎 (已完成) -
推送机器人登陆二维码到企业微信:机器人掉线后,自动将二维码信息推送给指定企业微信群(已完成)
-
监控群聊信息:实时将聊天记录入库 (已完成)
-
自动识别问题反馈信息:自动识别判断群聊中问题反馈类信息,并收纳入问题库 (开发中)
- 群播报功:每天下班前播报问题收纳和未关闭问题情况 (未开始)
プロジェクトのgithubアドレス: https://github.com/tomallv/wechat-group-chat-monitoring-robot
1.プロジェクトの構造
|-- src/
|---- index.js # 入口文件
|---- config.js # 配置文件
|---- onScan.js # 机器人需要扫描二维码时监听回调
|---- onRoomJoin.js # 进入房间监听回调
|---- onMessage.js # 消息监听回调
|---- onFriendShip.js # 好友添加监听回调
|---- onDatabaseOperation.js # MySQL数据库操作回调
|---- onEnterpriseWechatBot.js # 企业微信群消息发送回调
|---- onFileIO.js # 文件读取回调
|-- package.json
2.コアパッケージ:
-
Wechatyコアパッケージ:
npm install --save wechaty
-
padplusプロトコルパッケージ:
npm install --save wechaty-puppet-padplus
- QRコードを生成:
npm install --save qrcode-terminal
3.次に、いくつかのコアコードファイルを紹介します
1.構成ファイル(src/config.js
):
module.exports = {
// puppet_padplus Token
token: "xxxxxxxxxx",
// 机器人名字
name: "xxxxxxxxxx",
// 房间/群聊
room: {
// 加入房间回复
roomJoinReply: `\n您好,欢迎您的加入,请自觉遵守群规则,文明交流!