Skip to content

Sapio-S/wechaty-puppet-work

Repository files navigation

puppetwork

使用说明

  • 仅能使用信息拉取的功能。基本支持全部信息类型的拉取,但是一些种类的信息将转换成普通文本信息存储。
  • 请保证电脑可以支持c语言的运行。
  • 推荐使用版本为8.7.0的node.js(即开发环境),否则依赖包node-ffi将出现不可控的错误。
  • 媒体文件拉取到后将先放入cache文件夹下,产生一份文件。目前没有制定清理该文件夹的功能,可以手动清理该文件夹。

配置说明

  • 将rsa的private key放入private_key.txt中,将corpid(调用企业的企业id,例如:wwd08c8exxxx5ab44d,可以在企业微信管理端--我的企业--企业信息查看)与secret(聊天内容存档的Secret,可以在企业微信管理端--管理工具--聊天内容存档查看)按照json格式放入parameters.json中
  • 正常运行box即可

不足与进一步开发说明

  • puppet整体设计上:

    • 尚未在linux系统下测试。
    • 性能有很大提升空间。现在的拉取频率是600次/分钟(考虑到接收信息的延迟,可能达不到这个速度),每次1条。企业微信的最大容量是600次/分钟,每次1000条。
    • Login与Logout函数没有真正功能,目前是伪登录登出。考虑到实际需求,可能这样也还算合理。
    • messageImage、messageMiniProgram、messageUrl等函数仍未实现。观察其实现似乎与图片分类等有关,需要进一步研究。
  • 信息拉取部分的其他问题:

    • message可以扩充type类,将更多消息分类。目前多数消息都使用text类封装,将企业微信SDK返回的JSON文件直接放入payload.text中,留待后续处理。
    • 媒体文件无法进行异步获取。调用messageFIle的时候需要等待媒体文件完全下载才可以进行下一步。这个可能和bot的实现有关,因为示例bot用了await等待文件下载。如果全是后台下载的话速度将快很多。
    • 媒体文件未进行md5sum校验。(c代码已经写入了,但是目前转换有bug,因此没有接入)
    • contact和room类仅封装了id等基本信息,更多的信息无法通过SDK拉取到,需要获取access_token,进行回调配置之后使用。
  • 目前支持的消息内容及其格式:

    • 文本
    • 图片(可拉取媒体文件)
    • 撤回消息
    • 同意会话聊天内容
    • 语音(可拉取媒体文件)
    • 视频(可拉取媒体文件)
    • 名片
    • 位置
    • 表情(可拉取媒体文件)
    • 文件(可拉取媒体文件)
    • 链接
    • 小程序
    • 会话记录消息
    • 会话记录消息item,承接上面的会话记录消息,但是需要将会话记录一条条单独处理
    • 代办消息
    • 投票消息
    • 填表消息
    • 红包消息
    • 会议邀请消息
    • 切换企业日志
    • 在线文档消息
    • MarkDown格式消息
    • 图文消息
    • 日程消息
    • 混合消息
    • 音频存档消息(可拉取媒体文件)
    • 音频共享文档消息(可拉取媒体文件)

补充说明

  • GitHub中的项目尚未调试,不保证可以直接运行。原本的开发环境下,example中的测试用代码与src中的puppet-work.ts代码及.dll文件与package.json等文件在同一个目录下。为了清晰起见,将代码大致作了一些区分,放在不同的文件夹下。运行时可以将src中除c-code文件夹以外的内容全部放入主文件夹下。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published