技术栈:node.js、wechaty、cron、cheerio等。
参考网站:wechaty官网 [https://wechaty.js.org/docs/]
通过wechaty包搭建微信机器人,使用自己微信账号,登录网页版微信客户端(也是wechaty默认的puppet模式,或者使用wechaty-puppet-wechat4u),登录完成后按照wechaty官方给的教程实现微信消息的拦截,自动回复、定时回复等功能。
定时功能使用cron包进行实现,定好对应的时间和事件即可。
cheerio包主要用于http请求获取每日天气和每日一言的内容,由于网上大部分先有API需要收费,因此可以直接请求有需求内容的HTML页面,通过cheerio爬虫功能获取对应页面标签下的天气或每日一言的内容。
机器人实例和相关配置文件放在src/utils/wechat-bot.js中;获取天气内容和每日一言的文件放在src/utils/send-message.js中。
其中将机器人实例导出到src/app.js中,进行机器人实例的启动,也就是执行bot.start()指令。
如果需要修改发送内容和消息,可以查看src/utils/wechat-bot.js文件,可以编辑最下方定时任务中的消息,或者上方的onmessage事件中监听微信消息后再做出回应的消息。
初次打开项目时,需要运行下面指令进行相关依赖安装(node > 16.x.x)
npm install
在配置完毕后,可以直接使用下方指令运行(我在package.json中添加的运行脚本)
npm run dev
运行之后,会在终端出现二维码,扫码登录网页版本微信,之后就可以正常运行微信机器人了。
如果需要持久化运行,可以在第一次扫码登录成功后,会在根路径出现一个*.memory-card.json的文件,之后启动项目会自动登录(长期休眠可能会导致断开连接),这样可以使用pm2去启动项目,建立一个守护进程进行持久化运行项目了。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。