使用Wechaty开发微信群管理小助手

本文介绍了一款针对租房平台推广的微信小程序群发机器人开发过程。通过使用微信机器人,实现每日固定时间向多个微信群发送推广信息及小程序二维码,大幅提高了工作效率。文章详细描述了代码结构、依赖安装及核心功能实现。

我们设计了一个租房平台的微信小程序,为了方便推广,针对每个地区开设了一个或多个微信群,每天会在群里发文字和小程序的二维码来推广小程序和阐述群规定。因为所开的群太多,如果是人工发送这些东西,会很浪费时间。因为发的东西都是固定的,所以考虑使用微信机器人。

具体实现

  1. 代码repository
git clone git@github.com:isnl/wechat-robot.git
  1. 代码结构
  • bot.js: 项目入口文件,实现了扫码微信,登录登出功能。
  • daily-job.js: 群发逻辑的实现函数,可以自定义每天发送的文字以及发送时间。

安装依赖

  • npm install wechaty@latest
  • npm install wechaty-puppet@latest
  • npm install wechaty-puppet-padplus@latest
  • npm install qrcode-terminal
  • npm install node-schedule
  • sudo npm install ts-node typescript -g

代码实现

扫描二维码登录

这个功能主要依赖qrcode-terminal,代码实现如下:

function onScan(qrcode, status) {
  if (status === ScanStatus.Waiting || status === ScanStatus.Timeout) {
    require('qrcode-terminal').generate(qrcode, {
      small: true
    }) // show qrcode on console

    const qrcodeImageUrl = [
      'https://api.qrserver.com/v1/create-qr-code/?data=',
      encodeURIComponent(qrcode),
    ].join('')

    log.info('StarterBot', 'onScan: %s(%s) - %s', ScanStatus[status], status, qrcodeImageUrl)

  } else {
    log.info('StarterBot', 'onScan: %s(%s)', ScanStatus[status], status)
  }
}

定时发送消息的功能

主要是依赖node-schedule,通过修改schedule的format可以指定在每天的什么时候发送消息。

// *    *    *    *    *    *
// ┬    ┬    ┬    ┬    ┬    ┬
// │    │    │    │    │    │
// │    │    │    │    │    └ day of week (0 - 7) (0 or 7 is Sun)
// │    │    │    │    └───── month (1 - 12)
// │    │    │    └────────── day of month (1 - 31)
// │    │    └─────────────── hour (0 - 23)
// │    └──────────────────── minute (0 - 59)
// └───────────────────────── second (0 - 59, OPTIONAL)

运行代码

node bot.js

测试效果

avatar

作者: Sam Code: Github

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值