构建一个微信转发机器人
前言
随着智能手机的普及,越来越多的人开始试图将工作和家庭分开,例如,有两个手机号码,工作使用一个,生活使用一个。与此同时,也有人拥有多个微信。许多系统因此贴心的推出了应用多开的功能。然而,并非每个人的手机都支持这一功能,而且考虑到手机号与微信号的高度绑定,如果可能,还是分开比较安全。因此,对于这一人群,一个微信转发机器人就显得很实用了。
基本功能
由于Wechaty提供的强大功能,使得写一个机器人变得十分简单。简单的思考就可以做出基础设计:当触发message事件时,将message转发给指定的contact即可。当然,由于自己发出的内容也会触发message事件,因此要对message.talker()
进行检查。同时由于群聊的消息过于频繁,因此要对群聊的内容进行过滤。
if (!talker.self()) {
// somehow talker === bot.userSelf() does not work for this puppet
if (talker.id == g.commander.id && !room) {
// this can be decided with direct object comparison, but to unify all contact deciding process, I use id here too
await processCommand(g, message)
return
}
g.stat.messageReceived ++
if (room && !g.roomNameList.includes(await room.topic())) {