Schedurio
一款开源的 Twitter 内容创作者推文调度器应用。使用 supabase 和 flutter 构建。
团队详情
个人参与。
- GitHub 上只有 @Ansh-Rathod。
- Twitter 上是 @anshrathodfr。
关于应用。
这款应用对 Twitter 内容创作者非常有帮助,他们不必再为 Hypefury、Feedhive 等服务支付月费,现在可以通过添加自己的 API 密钥在桌面端使用 Schedurio 开源应用。目前支持 Macos 和 Web。
特点
- 添加您的 Twitter API 密钥并提前安排推文。
- 撰写长推文串。
- 使计划更自然,不那么机器人化 • 如果您的计划包含多个固定时间,例如上午 9:00、下午 1:30 和下午 7:00,会显得不够真实,而这将提供一些变化,使其感觉更真实。 • 它会更改您计划中的每个时间段,使其在原始时间 ± 5 分钟的范围内。 • 例如:下午 1:00 将更改为下午 12:55 到下午 1:05 之间的某个时间。
- 使用“立即发布”按钮即时发布。
- 保存到草稿。
- 分析您的每日推文连续记录,找出您最好的推文。
- 历史记录(查看您之前的推文状态)
- 对于 Twitter Blue 用户,它将字符限制更改为 10000。
托管演示链接
注意:托管演示链接不可用,因为这是一个开源项目,Twitter API 密钥和(访问令牌)不应与任何人共享。您必须部署自己的 supabase 项目(这是一个非常简单的步骤),并编辑 AppConfig 文件。有关更多详细信息,请查看演示或设置视频。
演示视频
output.mp4
Supabase 的使用
该应用广泛使用 supabase。应用使用的 supabase 服务。
- Supabase 数据库。
- 显然,supabase 数据库用于存储队列、推文和其他信息。
- Supabase Edge Functions(用于发布计划的推文)。
- 一旦您开始编写 supabase Edge Functions,它们就会变得非常方便。创建了一个可以调用 Twitter API 并发布推文的 Edge Function。(所有 Edge Functions 均使用 https://docs.dartedge.dev/platform/supabase 的 dart_edge 构建)
- Supabase Storage(用于存储推文的计划媒体)。
- Supabase Storage 用于在将推文的媒体文件上传到 Twitter API 之前存储它们。
- 使用 pg_net 扩展从数据库调用 Edge Function。
- 此扩展非常适合从数据库调用 Edge Function。
工作流程(使用 Supabase 进行的计划操作原理)
- 用户添加推文 → 它被添加到队列表中。
- 队列表触发 Postgres 函数,该函数创建一个 cron 任务(pg_cron)在选定的时间安排推文。
- 当 cron 作业触发函数时,它会使用 pg_net 扩展调用 supabase Edge Function。
- 推文就是这样发布的。
如何运行应用。
为了运行应用,请确保您的机器上已安装所有必需的软件。
要求
- 已安装 Git
- Supabase CLI。
- Supabase 帐户。
- Docker(仅当您想在本地主机上测试时)
- Flutter 稳定版(3.7.9)
简要步骤。
- 克隆仓库。
- 部署 Supabase。
- 在 Supabase Storage 中创建名为 `public` 的存储桶。
- 在 `app/lib/config.dart` 文件中添加 Supabase URL 和 **服务密钥**
- 运行 flutter run。
设置视频
重要链接
https://developer.twitter.com/en/portal/dashboard
pg_net: Async Networking | Supabase 文档
pg_cron: Job Scheduling | Supabase 文档
https://supabase.com/docs/guides/cli/local-development