在近期创建了一个微信交流群,为了让群更有氛围感,更好的管理群就想着添加一个机器人,我的要求也不高,主要就以下几个功能:
有新人进群,自动@新人发送欢迎语
触发一些关键词时自动回复
每日统计群数据:进群离群人数、活跃人数、消息数量等
回答一些简单的问题,完成一些简单的对话
于是就在网上去搜寻了一波,发现有个专门提供微信机器人的平台,看起来挺符合我的需求,虽然要付费,但是还是购买了一个试试。
开始还挺满意的,想要的那些功能都有,但是这个智能对话功能属实有点鸡肋,放张图大家就能感受到了。
编辑搜图
请点击输入图片描述(最多18字)
果然是:已读,乱回。
然后就萌生了自己去开发一个微信机器人替换掉他的想法,说干就干,第二天就找到了一个用于开发微信机器人的开源项目gewechat,上手非常简单,现在想想自己当时还花钱去买,真的是大怨种。
gewe框架
gewe框架是一个开源的微信机器人SDK,它允许开发者通过编程创建自动化的微信聊天机器人。
gewe框架的工作原理基于微信的网页版接口,它通过模拟人类用户的行为来实现自动回复消息、管理好友和群聊等功能。由于微信官方并没有提供官方的机器人API,gewe框架的出现为广大开发者提供了一种可能性,使他们能够根据自己的需求开发微信机器人。
仅需要6行代码,你就可以创建一个机器人:
const { WechatyBuilder }= require('wechaty');
const wechaty = WechatyBuilder.build() // get a Wechaty instancewechaty
.on('scan', (qrcode, status) => console.log(`Scan QR Code to login: ${status}\nhttps://wechaty.js.org/qrcode/${encodeURIComponent(qrcode)}`))
.on('login', user => console.log(`User ${user} logged in`))
.on('message', message => console.log(`Message: ${message}`))
wechaty.start()
-
scan: 启动后展示登录二维码
-
login:扫码登录后触发的事件
-
message: 接收到消息时触发
除了以上3个最基础的事件之前,还提供了更多的事件监听:
要实现丰富灵活的功能,gewe框架有几个重要的对象来完成一系列的操作:
Contact(联系人):获取联系人的基本信息、发送消息给联系人、检查是否是好友等
Message(消息):获取消息类型、获取消息信息、回复消息等
Room(群聊):创建群聊、发送群消息、获取群信息、查询群成员、监控入群离群等
Friendship(好友关系):添加联系人、删除联系人、好友验证、管理好友等