如何免费每日自动运行WhatsApp生日机器人,避免重复认证问题?
免费替代平台推荐
如果修复GitHub Actions后还是有问题,以下几个免费平台完全能满足你的需求:
1. Replit
- 免费版自带持久化文件系统,第一次运行时在控制台扫描二维码完成认证,
.wwebjs_auth目录会被永久保存,后续运行自动复用会话。 - 支持配置定时任务(免费版可设置每日运行),就算脚本休眠,也能搭配定时唤醒工具维持运行。
- 操作门槛低,直接上传代码、安装依赖、设置环境变量就能用。
2. Vercel Cron Jobs + KV
- Vercel免费版支持每日定时触发Edge Functions,搭配Vercel KV(免费版有1GB存储)来持久化WhatsApp会话(避免临时文件丢失)。
- 需要把
LocalAuth改成SessionAuth,将会话数据存在KV中:const { Client, SessionAuth } = require('whatsapp-web.js'); const kv = require('@vercel/kv'); // 从KV读取会话 let session = await kv.get('whatsapp-session'); const client = new Client({ authStrategy: new SessionAuth({ session: session, onSessionSaved: async (newSession) => { // 保存更新后的会话到KV await kv.set('whatsapp-session', newSession); } }), puppeteer: { args: ['--no-sandbox', '--disable-setuid-sandbox'] } }); - 第一次运行需要在Vercel的函数日志里获取QR码手动扫描,之后会话会自动保存到KV,无需重复操作。
3. Heroku Scheduler(免费层)
- Heroku免费版的Scheduler可以设置每日定时运行脚本,虽然它的文件系统是临时的,但可以用AWS S3免费版(5GB存储)来保存
.wwebjs_auth目录的内容:- 每次运行前从S3下载认证文件,运行完成后再上传更新后的文件到S3。
- 用
aws-sdk包实现S3的上传下载,AWS免费版的额度完全够用。
注意事项
- 所有免费平台都有资源限制,但对于每日运行一次、只发送少量生日祝福的学校项目来说完全足够。
- 不管用哪个平台,第一次运行都需要手动扫描二维码完成认证,之后会话会被持久化保存,不需要重复操作。
内容的提问来源于stack exchange,提问作者Osajere Finney
相关产品推荐
相关产品推荐

