内容提要
我开发了一个WhatsApp消息调度器,后端使用Bun和Hono,消息队列采用BullMQ,调度信息存储在Prisma和SQLite中,使用wweb.js发送消息,前端基于Next.js构建。项目虽然有挑战,但功能正常,期待反馈。
关键要点
-
开发了一个WhatsApp消息调度器,未使用WhatsApp Business API。
-
项目功能包括创建、编辑和删除调度消息,设置发送延迟,支持一键重新调度。
-
选择BullMQ作为消息队列,使用Redis进行作业管理,确保可靠性。
-
后端使用Bun和Hono,消息和调度信息存储在Prisma和SQLite中。
-
使用whatsapp-web.js作为非官方WhatsApp客户端发送消息。
-
前端基于Next.js构建,界面简单但功能正常。
-
项目仍在进行中,期待反馈和改进建议。
延伸解读
项目背景与挑战
开发者在寻找合适的WhatsApp消息调度器时未能找到合适的解决方案,因此决定自行开发。尽管项目看似简单,但在实现过程中遇到了许多挑战,尤其是在确保消息调度的可靠性方面。
技术选型与实现
该项目使用了Bun和Hono作为后端框架,BullMQ作为消息队列,结合Redis进行作业管理,确保了调度的可靠性。Prisma和SQLite用于存储调度信息,展示了开发者对技术栈的深思熟虑。
前端与用户体验
虽然前端使用Next.js构建,界面简单,但功能正常,能够满足基本的调度需求。开发者期待用户反馈,以便进一步改进用户体验和功能。
延伸问答
这个WhatsApp消息调度器的主要功能是什么?
该调度器可以创建、编辑和删除调度消息,设置发送延迟,并支持一键重新调度。
为什么选择BullMQ作为消息队列?
BullMQ使用Redis进行作业管理,提供了所需的可靠性,而基本解决方案如node-schedule或setInterval无法满足这一需求。
这个项目的后端使用了哪些技术?
后端使用了Bun和Hono,消息和调度信息存储在Prisma和SQLite中。
如何使用whatsapp-web.js发送消息?
通过创建Client实例并调用sendMessage方法,可以向指定的电话号码发送消息。
前端是如何构建的?
前端基于Next.js构建,界面简单但功能正常,使用了Shadcn UI和Server Actions与后端交互。
项目目前的状态如何?
项目仍在进行中,功能正常,开发者期待反馈和改进建议。