基于wechaty-puppet-padplus的微信文件传输助手

本文介绍了如何使用wechaty-puppet-padplus框架开发一个微信文件传输助手。当群内成员@机器人并触发关键词时,机器人能自动从文件系统中发送文件,反之则将接收到的文件上传至系统。在尝试了各种方案后,作者选择了wechaty,因其易用性和丰富的社区支持。
摘要由CSDN通过智能技术生成

微信助手是很常见的运营工具,不仅能够给微信群带来活跃度,还能针对各种社群开发不同的玩法。 本目标是做一个文件传输助手,当群内有人@机器人并say关键词时,机器人从已有文件业务系统中找到文件并发出;同时在群中直接发送一个文件,机器人可将文件自动上传至文件业务系统。

以下是我的开发过程

1、微信官方并没有相关的 API。可能要考虑考虑企业微信?结果发现企业微信有群机器人,但完全无法满足我的需求,企业微信就排除了。

2、找了很多基于 Web 版微信的各种开源方案,但是对文件的支持基本为0。同时还存在很多账号登不了 Web 版微信的情况,找了官方文档,无法解决,放弃。

3、偶然间在github上看到了wechaty框架 对这个简单上手,实用性高的框架爱不释手,于是决定立即开展。但是有发现,iPad 协议,虽然需要付费获取 token,但是可以申请参与开源激励计划来获取免费甚至长期有效的 token。

使用wechaty收发消息

在 Wechaty 中,不同的 Puppet 对应不同的协议。Wechaty 还有不同语言的 SDK,以及 demo template repository,对开发者非常友好,开发者参与度也很高。 github上已经开源了非常多成功的案例,具体细节就不在详述,只介绍关键部分,如下。

首先需要初始化一个 bot: 1、install Wechaty 老实说,install Wechaty我还是花了一些时间的,老是npm错误。后面发现是vs_BuildTools安装不上,原来是已经有了底版本的。需要先卸载。好在后面处理好了,不然就卡住了。

2、初始化bot,绑定事件函数,这里只需要onScan和onMessage两个事件就行

// create a Wechaty instance as bot
const puppet = new PuppetPadplus({
      
  token: ipadToken
})
let bot = new Wechaty({
      puppet, name: 'getFile'});
bot.on('scan', onScan);
bot.on('message', onMessage);
bot
  .start()
  .then(() => {
      
    console.log('开始登陆微信');
  })
  .catch(async function(e) {
      
    console.log('初始化失败: ${e}.')
    await bot.stop()
    process.exit(1)
  });

3、onScan事件 由于申请的是 iPad 协议的 token,这里用到的是 PuppetPadplus。 接着对 bot 绑定各种事件的处理函数,其中 message 事件是接收到消息时触发的事件。

async function onScan(qrcode, status) {
      
    Qrterminal.generate(qrcode)
    console
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值