project,

微信代购机器人(WeChat Purchasing Robot)

DevoZou(邹定一) DevoZou(邹定一) Follow Jul 20, 2020 · 2 mins read
微信代购机器人(WeChat Purchasing Robot)

Wechaty 开源激励计划

背景

女朋友在做代购,加了很多微信好友和微信群,所以每天会有很多人前来咨询商品信息以及商品价格,因此想做一个管理机器人,用于自动回复消息、群管理以及自动添加好友,以及用户发送商品关键词能够自动回复相应商品信息。

功能

  • 自动处理好友请求
  • 私聊关键字回复
  • 通过指令完成指定任务
  • 群管理(拉人进群、踢人出群、@群成员)
  • 发送图片、链接、名片

在有人咨询商品信息的时候,比如发送有关于【香水】的话题,便自动回复有在售出的香水商品列表,包含了商品不同尺寸下的价格。

效果图

结构

|-- img                     # 储项目所使用到的图片与其他相应资源
|-- src/
|---- listeners/
|------ on-scan.js          # 机器人需要扫描二维码时监听回调
|------ on-room.js          # 进入房间监听回调
|------ on-message.js       # 消息监听回调
|------ on-friend.js        # 好友添加监听回调
|---- config.js             # 配置文件
|---- index.js              # 入口文件
|-- package.json

依赖

wechaty:wechaty 核心库
wechaty-puppet-padplus:wechaty的ipad协议实现

代码介绍

// init
const bot = new Wechaty({
  puppet: new PuppetPadplus({
    token: config.token
  }),
  name: config.name
})

bot.on('scan', onScan) // 机器人需要扫描二维码时监听
bot.on('login', (user) => log.info('StarterBot', '%s login', user))
bot.on('logout', (user) => log.info('StarterBot', '%s logout', user))
bot.on('message', onMessage(bot)) // 消息监听
bot.on('friendship', onFriendShip) // 添加好友监听
bot.on('room-join', onRoomJoin) // 加入房间监听

bot
  .start()
  .then(() => {
    log.info('StarterBot', 'Starter Bot Started.')
  })
  .catch((e) => log.error('StarterBot', e))

本地运行

  • 克隆项目
git clone https://github.com/zoudingyi/wechaty-robot.git

cd wechaty-robot
  • 安装依赖
npm install
  • 启动项目
npm run serve

使用

  1. 打开src/config.js 文件
  2. 修改config配置
  3. 运行项目

其他功能效果

效果图

致谢

非常感谢Wechaty团队提供微信机器人SDK,让开发者可以专注于业务代码。
感谢句子互动提供的pad协议版token。
wechaty: https://wechaty.github.io/
juzibot: https://www.juzibot.com

作者: DevoZou Code: Github

Join Newsletter
Get the latest news right in your inbox. We never spam!
Written by DevoZou(邹定一)
一个打杂特别勤奋的前端工程师,喜欢研究有趣的东西。