简介

使用Wechaty以少量的代码实现一个微信文件日程匣子项目。可快速将微信中的内容同步(转存)到其他网盘中。同时还添加自动识别处理日程等的小功能。

关于Wechaty

官方定义:
Wechaty是一个开源的的个人号微信机器人接口,使用Typescript构建的Node.js应用。支持多种微信接入方案,包括网页,ipad,ios,windows,android等。同时支持 Linux, Windows, Darwin(OSX/Mac) 和 Docker 多个平台。

一句话概括——Wechaty是一个能模拟登录微信并收发微信信息、添加自定义处理逻辑的库。值得注意的是其中的模拟登录,可以是模拟Web端登录(Wechaty提供免费支持),也可以是模拟Mac、iPad端登录(Wechaty以收费的云服务形式提供,但是可以申请成为开发者获取使用权限)。

项目背景

在使用微信作为主力办公工具的过程中,经常令人头大的问题之一就是处理文件,不论是同事之间互传文件或者是群聊里发送文件,要统一归档到网盘同步都是很麻烦的事情(尤其在iOS端微信,只能挨个打开在选择用其他应用打开)。因此希望实现一个能自动归档文件的效率小工具。

实现思路

由于Wechaty提供了很方便的File API,通过fileMsg.toFileBox方法就能获取一个消息的文件,因此通过收到多个文件-转发到文件匣子微信号-转存到其他位置的流程,就能实现把文件多选转发到文件匣子,然后自动归档到网盘的效果。

此外,msg.type方法能判断消息类型,从而可以对应日程文本使用正则匹配日期的NLP方法,将转发到匣子的日程文本识别出来存到数据库中供后续处理;如果是URL分享类型的消息,也可以识别出来并统一存储。

代码结构

代码仓库已开源。

目录结构如下:

├── LICENSE
├── Node
│ ├── coursHandler.js
│ ├── databasesConfig.js
│ ├── databases.js
│ ├── fileHandler.js
│ ├── functions.js
│ ├── httpServer.js
│ ├── main.js
│ ├── menuHandler.js
│ ├── scheduleHandler.js
│ ├── test.js
│ └── webdav.js
├── package.json
├── package-lock.json
├── public
│ └── cours.json
├── README.md
├── RunDir
├── RunRobot.sh
├── template
│ └── template.html
└── Time-NLP
├── pom.xml
├── README.md
├── resource
├── src
└── target

主要代码位于Node/下。其中:

  • main.js初始化Wechaty实例并判断收到消息的类型

  • databases.js和databasesConfig.js配置数据库表结构和连接数据库

  • webdav.js配置node的webdav模块,通过Webdav连接到个人网盘

  • menuHandler.js, scheduler.js, fileHandler.js, coursHandler.js分别处理控制消息、日程消息、文件消息、课程表查询消息

  • httpServer.js, template.html, cours.json则实现了一个简易的webpage用于网页端访问这些信息。

Time-NLP/中的源代码编译后,能够得到class字节码供node的java模块调用,从而实现从含有日程的文本信息解析出日期。

RunDir/的存在主要是因为msg.toFileBox方法会在运行目录保存文件,故在此目录下暂存这些文件。

结语

众所周知微信作为我们每天都在使用的工具,在文件管理等方面较QQ等其他工具功能过于单一,因此可以通过Wechaty搭建一个文件匣子,给微信加上文件自动同步网盘、日程自动收集等小功能,让日常办公更加效率:)

使用Wechaty搭建微信文件日程匣子相关推荐

  1. wechaty搭建微信机器人——超详细版

    文章目录 前言 一.wechaty是什么? 二.准备 1.安装 Node.js(需要10.0版本以上) 2.安装Wechaty 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能 ...

  2. itchat python_itchat-python搭建微信机器人(附示例)

    itchat是python开源第三方库,用于搭建微信机器人,几十行代码就能帮你实现自动的处理所有信息.比如,添加好友,搭建自动回复机器人,还原撤销信息,分析好友男女比例,地理分布情况,爬朋友圈做数据分 ...

  3. 公众平台 python_轻松实现python搭建微信公众平台

    本文主要是一步一步教大家如何利用python搭建微信公众平台,有兴趣的朋友可以参考一下 使用的工具,python 新浪SAE平台,微信的公众平台 你需要先在微信的公众平台与新浪SAE平台上各种注册,微 ...

  4. [python]用flask框架搭建微信公众号的后台

    用flask框架搭建微信公众号的后台 最近用python写了点爬虫,为了要让爬取的数据能够随时显示在我眼前,并实时根据我的指令返回数据.于是采用微信公众号做这个显示窗口,既能发送指令也能显示简单的相关 ...

  5. 腾讯云+CentOS 7.2+python:搭建微信公众号后台入门教程

    因为想自己编写微信公众号后台的程序,实现一些小功能,为以后的开发做准备,所以就从零开始,摸索着注册微信公众号,租用服务器,搭建环境进行开发. 简单的搭建过程中也经历了一些波折,踩了不少坑,仅留此文给跟 ...

  6. 微信读书登陆界面java_(JAVA后端)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好...

    转载地址:(JAVA后端)微信小程序-毕设级项目搭建-微信阅读小程序(内含源码,微信小程序+java逻辑后台+vue管理系统)~不求完美,实现就好 转载请注明出处 一.环境搭建 相关环境软件:JDK1 ...

  7. 阿里云服务搭建微信小程序开发环境

    最近微信小程序异常火爆,很多人在学习,下面带着大家搭建下微信小程序的调试环境(client+server),并调试一套demo源码(JavaScript和node.js基础即可,微信推荐使用的语言,无 ...

  8. python微信公众号框架_轻松实现python搭建微信公众平台

    本文主要是一步一步教大家如何利用python搭建微信公众平台,有兴趣的朋友可以参考一下 使用的工具,python 新浪SAE平台,微信的公众平台 你需要先在微信的公众平台与新浪SAE平台上各种注册,微 ...

  9. 搭建微信小程序HTTPS服务器

    微信小程序是目前热门,学习及应用的人非常多,但很多人不知道小程序接口域名HTTPS怎么做,下面我们将详细介绍搭建微信小程序每一个步骤,希望可以快速的帮助你如何搭建微信小程序与HTTPS服务器. 一.申 ...

最新文章

  1. 从paxos到raft zab,为何raft能够“独领风骚”
  2. 计算机视觉 | 哥大读博五年总结
  3. 阿里云centos7通过yum安装 Mysql 8.0.11
  4. java之spring mvc之文件上传
  5. python语言编写一个生成九宫格图片的代码_用Python一键生成炫酷九宫格图片,火了朋友圈...
  6. Tomcat部署Web应用
  7. python系统自学_如何系统地自学python
  8. Ajax异步(客户端测试)
  9. axure html 360安装扩展,win10系统360浏览器添加Axure扩展的操作方法
  10. Jenkins_安装基础软件_入门试炼03
  11. 面试 | 阿里P7级别程序猿亲身告知,不会面试,还想进大厂?做梦吧
  12. 开源数据库在平安的应用实践
  13. java jframe 设置背景图片_JAVA怎样设置JFrame的背景图片呢?谁能教教我怎么弄背景图片...
  14. 11个前端开发者必备的网站
  15. 怎么更好掌握Web前端技术?JS的跨域是怎么回事?
  16. 20190109每日一句
  17. python opencv人脸识别考勤系统
  18. 6.1 静态路由及默认路由的基本配置
  19. rsync+inotify-tools和rsync+sersync实战应用的区别
  20. 华为AR路由器端口配置trunk_锐捷交换机和路由器的一些基础命令

热门文章

  1. 发多少范德萨范德萨范德萨范德萨
  2. 适配2K和4K分辨率
  3. Batch Normalization(BN)超详细解析
  4. 科目二很难考吗?经验全在这里!
  5. 内存泄漏试试AScan
  6. Insta360影石递交注册:年营收将超12亿 启明与迅雷为股东
  7. Android Studio发生AVD Pixel_XL_API_30 is already running报错,无手机界面问题
  8. plc控制可调节阀流程图_工业电气控制及PLC技术第四章可编程控制器及其工作原理ppt课件...
  9. python如何生成多个随机数的列表
  10. 贪玩蓝月服务器维护需多少时间,贪玩蓝月合区维护一次多久 | 手游网游页游攻略大全...