我日常使用 Habitica 来管理待办事项,它是一个游戏化的 GTD 工具,体验类似于把日常任务和习惯弄成打怪升级的RPG游戏,比如按时早起、坚持看书能获取金币和物品,还可以组团打怪,要是偷懒拖延,你那个小人可是会掉血的,把枯燥的自律玩得跟上头打游戏一样。

Image

作为团队的奶妈,参与团队日常任务那已经成为了一种习惯,可 Habitica 本身并没有提供自动接受任务的功能。我之前一直是使用一个 Google App Scripts 上的自动化脚本。

https://habitica.fandom.com/wiki/Auto_Accept_Quests

不过这个脚本最近似乎老是不灵光,导致我错过了好几次任务了,而且团队新人因为缺乏编程知识,好多都不会安装,致使每次团队都要等待好久才能开始任务。

Image

所以我计划制作一个新的工具来自动接受任务,并且提供一个简单的配置页面,这样即便是没有编程基础的队友,也可能轻松配置

不想为这个一个简单的功能掏钱,所以计划是使用 Vercel,然后搭配 Habitica 的 Webhook.

Image

https://habitica.com/apidoc/#api-Webhook-AddWebhook

POST https://habitica.com/api/v3/user/webhook

{
  "enabled": true,
  "url": "https://some-webhook-url.com",
  "label": "Quest Auto Accept Webhook",
  "type": "questActivity",
  "options": {
    "questStarted": false,
    "questFinished": false,
    "questInvited": true
  }
}

Vercel 那边,只需要提供一个简单的 API 和设置页面即可。

至于怎么配置 API 验证的 Token 更对小白用户友好,还需要再斟酌研究一下,配置数据库会比较麻烦,但让用户自己去在 Vercel 中配置环境变量,感觉也不现实。

而 Habitica 的 API 验证机制又比较奇葩,它会生成且只生成一个 token,并且要重置的话,还需要给网站客服写信,这导致用户可能并不那么放心把 token 交给第三方,除非是它自己能够一键配置一个 Vercel App,数据存储在自己的 Vercel 账号中。

下期,我将努力敲定这个存储 token 的方案。


文章同步发表于微信公众号老狗拾光,欢迎关注。

微信公众号老狗拾光