承接上文
如何用6行代码写出微信聊天机器人
我们已经使用 Docker 把微信机器人 / Wechaty 部署到本地,接下来讲讲该如何使用它以及部署到云端。
环境部署好以后运行下面6行代码,就可以成功的实现基础的bot功能:将微信机器人收到的所有消息打印出来:
const { Wechaty } = require('wechaty')
Wechaty.instance()
.on('scan', (url, code) => console.log(`Scan QR Code to login: ${code}\n${url}`))
.on('login', user => console.log(`User ${user.name()} logined`))
.on('message', message => console.log(`Message: ${message.content()}`))
.init()
下面对这段代码进行简单的介绍:
-
scan事件:两个返回值
-
login 事件:返回的 user,代表登陆的用户,返回的是一个 Contact 的类型,打印出来,是可以看到你当前登陆的用户昵称的。通过 user.id() 可以获取用户唯一 id,user.name() 可以获取用户的微信昵称,user.weixin() 可以获取用户的微信号。
-
message 事件:返回的是 message,代表收到的消息,是一个 Message 类型。通过message.content()可以获取到消息的内容,message.from() 可以获取到消息的发送者,返回的是一个 Contact 类型。
终端中出现如下页面时,掏出手机微信扫一扫,登录微信网页端。
终端监听微信信息:
Wechaty 依赖的很多包都在墙外,建议使用国外的 VPS,我使用的是腾讯云(境外的小鸡不想动)如果只是跑一个机器人服务的话,建议使 2GB/2 CPUs 以上的配置,一个机器人服务会占用 1G 内存左右。
使用 putty 或其他 ssh 客户端工具登录你的服务器
Step 1: 新建一个mybot.js,内容如下:
const { Wechaty } = require('wechaty')
Wechaty.instance()
.on('scan', (url, code) => console.log(`Scan QR Code to login: ${code}