背景
女朋友做微商代理卖水果,建了一个卖水果的微信群,为了维持群里的活跃度,有时候会弄一些积分送水果的活动,对于群成员的积分管理只能靠手动记分来维护,这样操作起来其实挺辛苦的。因此想做一个自动记分的群管理机器人,手动@用户就可以给用户加积分,这样就不用一个一个手动改备注积分啦,后期统计起来也很方便。
功能
- 自动处理好友请求
- 通过@成员给成员加积分
- 群管理(拉人进群、@群成员)
当用户在群里发好评时,@该用户会给用户添加自定义积分。

结构
|-- config/
|------config.js            # 用于存储机器人的一些配置以及群配置。
|---service                 # eggJs 搭建的数据接口
|-- src/
|-----  integral.js         # 积分业务逻辑处理
|-----  onScan.js           # 机器人需要扫描二维码时监听回调
|------ onRoomJoin.js       # 进入房间监听回调
|------ onMessage.js        # 消息监听回调
|------ onFriendShip.js     # 好友添加监听回调
|------ postServer.js       # 消息回复的处理
|------ superagent.js       # ajax 接口调用的封装
|---- config.js             # 配置文件
|---app.js                  # 入口文件
|-- package.json
服务层
服务层是用eggJs 搭建 配置起来超级简单,使用mysql作为数据持久化存储。具体可参考官网配置。
依赖
wechaty:wechaty 核心库
wechaty-puppet-padplus:wechaty的ipad协议实现
代码介绍
import { Wechaty }  from 'wechaty' // Wechaty核心包
import { PuppetPadplus }  from 'wechaty-puppet-padplus' // padplus协议包
import config  from './config/config' // 配置文件
import onScan  from './src/onScan' // 机器人需要扫描二维码时监听回调
import onRoomJoin  from './src/onRoomJoin' // 加入房间监听回调
import onMessage  from './src/onMessage' // 消息监听回调
import onFriendShip  from './src/onFriendShip' // 好友添加监听回调
// 初始化
const bot = new Wechaty({
    puppet: new PuppetPadplus({
        token: config.token
    }),
    name: config.name
})
bot
    .on("scan", onScan) // 机器人需要扫描二维码时监听
    .on("room-join", onRoomJoin) // 加入房间监听
    .on('login', (user) => {
        console.log(`user ${user} login`)
    })
    .on("message", onMessage(bot)) // 消息监听
    .on("friendship", onFriendShip) // 好友添加监听
    .start()
本地运行
- 克隆项目
git clone https://github.com/hzhuhao/wechaty-integral-robot.git
cd wechaty-integral-robot
- 安装依赖机器人所需依赖
npm install
- 安装serve服务依赖
cd service
npm install
// 启动服务
npm start
- 启动项目
npm start
使用
- 打开config/config.js文件
- 修改config配置
- 进入 service/config修改服务配置 以及 配置mysql数据库
- 运行项目
致谢
非常感谢Wechaty团队提供微信机器人SDK,让开发者可以专注于业务代码。
感谢句子互动提供的pad协议版token。
wechaty: https://wechaty.github.io/
juzibot: https://www.juzibot.com
 
                           
				 
         暑期2020[基于 RPA 封装 Wechaty 接口下的快手聊天机器人]计划书
  暑期2020[基于 RPA 封装 Wechaty 接口下的快手聊天机器人]计划书