Habitica Wiki
Advertisement
Habitica Wiki

本文由Sciuridae翻译。
手动运行时间驱动的脚本相比,事件驱动(webhook)脚本需要更多安装步骤。用户需要依次安装两部分内容:

  1. 其一,处理Habitica发送的自动请求的外部脚本。
  2. 其二,只要指定事件发生便会触发Habitica发送自动请求的触发器,即“webhook”。

本指南将逐步说明如何完成这两个部分。

安装精简脚本[]

精简脚本是使用精简的事件驱动脚本模板的脚本。这些脚本可以让用户使用较少的步骤安装事件驱动脚本,而无需在不同工具之间来回切换。

视频指南:

如果比起阅读文字,你更想要观看视频,那么请查看下方的YouTube录像。若想要阅读文字指南(包含图片!),请参见视频下方的章节。

附带图片的文字指南:

第1部分:安装外部脚本[]

  1. 前往https://script.google.com
    • 初次访问该网站,请点击“Start Scripting(开始编写脚本)”
      Button StartScripting
    • 如果出现Google登录页面的提示,请输入你的Gmail地址和密码
  2. 点击屏幕左上角的“New Project(新建项目)”
    Button NewProject
    • 将会打开一个包含新项目的新选项卡
  3. 你的光标将位于myFunction示例函数的第2行。按下“CTRL + A”(PC端)或“command + A”(Mac端),选中所有文本。
    Function select all
  4. 删除整个myFunction示例函数
    • 此时脚本应为完全空白
  5. 点击精简的事件驱动脚本列表中你想要安装的脚本名称
  6. 点击“代码”章节的链接
    • 将会打开一个包含代码的新选项卡
  7. 复制上一步打开的新选项卡的所有文本
  8. 返回包含空白项目的选项卡(前面的步骤2所创建的选项卡),然后粘贴复制的文本
  9. 前往https://habitica.com/user/settings/api
  10. 找到屏幕左侧的“用户ID”
    Screenshot UserId
  11. 复制整串数字和字母
    • 包括连字符在内,复制整串字符
  12. 打开新脚本所在选项卡,找到const USER_ID = 所在的一行,选中引号的所有文本
    Screenshot PasteYourUserIdHere
  13. 粘贴前面步骤中复制的用户ID
    • 请注意保留引号
      Screenshot PastedUserId
  14. 返回https://habitica.com/user/settings/api
  15. 点击“Show API Token(显示API令牌)”
    Screenshot ShowApiToken
    • 将会显示第二组数字和字母
      Screenshot ApiToken
  16. 复制整串数字、字母和连字符
    • 请注意:请勿向任何人展示/分享此API令牌,请参阅下面的警告:
      Screenshot ApiTokenWarning

      图片翻译:这些字符可复制到第三方应用程序以供使用。但是,请将你的API令牌视作密码,不要公开分享。有时候他人会要求你提供用户ID,但千万不要把你的API令牌发布到其他人能看到的地方,包括Github。

  17. 打开新脚本所在选项卡,找到const API_TOKEN = 所在的一行,选中引号的所有文本
    Screenshot PasteYourApiTokenHere
  18. 粘贴前面步骤中复制的API令牌
    • 请注意保留引号
      Screenshot PastedApiToken
  19. 如果脚本页面的描述包含了“必要设定(Required Customizations)”章节,那么请检查该章节所列条目,并修改指定数值
  20. [可选]如果脚本描述包含了“可选设定(Optional Customizations)”章节,那么请检查该章节所列条目,并修改指定数值
  21. 点击屏幕顶部的“Untitled project(未命名项目)”
    Untitled script project
  22. 输入脚本页面的脚本名称,然后点击“Rename(重命名)”
    Rename project
  23. 点击工具栏上的“保存”图标
    Save
  24. 点击“Deploy(部署)”按钮,然后点击“New deployment(新建部署)”
    New deployment
  25. 点击“设置”(齿轮图标),然后点击“Web app(Web应用程序)”
    Web app select
  26. 在“New description(新描述)”下输入一些简短的文字(例如,“添加的脚本(Added script)”),以帮助你确认更改的内容
    Description added script
  27. 确保“Execute as:(以何种身份执行:)”下显示为“Me(我)”
    Execute as me
  28. 确保“Who has access(设置访问权限)”下显示为“Anyone(任何人)”
    Access anyone
  29. 点击“Deploy(部署)”
    Button Deploy
  30. 若显示以下信息,点击“Authorize access(授权访问)”
    Authorize access 1

    图片翻译:Web应用程序需要你授权访问数据。

    • 将会打开一个新窗口
  31. 选择你在步骤1中使用的Google账号
    Screenshot ChooseAnAccount
  32. 点击左下角的“Advanced(高级)”,然后点击“Go to <name of script> (unsafe)(转到<脚本名称>(不安全))”
    • 这里提到的未经验证的应用程序即为你所创建的新项目
      Screenshot ThisAppIsntVerified

      图片翻译:该应用未经验证。该应用程序尚未通过Google审核。只有在你了解并信任开发者的情况下才能继续。

  33. 点击右下角的“Allow(允许)”
    Screenshot WantsToAccessYourGoogleAccount
  34. 在“Web app(Web应用程序)”下,点击“Copy(复制)”
    Web app url copy
  35. 点击“Done(完成)”
    Done button
  36. 找到const WEB_APP_URL = 所在的一行,选中引号的所有文本
    Screenshot PasteGeneratedWebAppUrlHere
  37. 粘贴前面步骤中复制的URL
    • 请注意保留引号
      Screenshot PastedWebAppUrl
  38. 请确保工具栏的下拉菜单中选择了“doOneTimeSetup(执行一次性安装)”
    DoOneTimeSetup selection
  39. 点击“run(运行)”
    Run
    • “Execution log(执行日志)”将在屏幕底部打开,并在一次性安装成功时显示“Execution completed(执行完毕)”
      Execution log
    • 如果选项中没有出现“doOneTimeSetup(执行一次性安装)”,或者显示了错误信息,那么可能意味着前面某一个步骤没有正确执行。请从第1部分:安装外部脚本开始,重新完成这些步骤
  40. [可选]前往https://habitica.com/并点击同步按钮,查看脚本是否创建了奖励任务按钮(译者注:部分脚本的功能是通过创建特殊的奖励任务按钮来实现的,本条仅针对这部分脚本而言)

如果步骤39的执行日志中显示“Execution completed(执行完毕)”,而没有提示错误信息,那么你就已经成功完成了所有步骤!享受你的新脚本吧!

如果你对安装或使用脚本的过程中遇到的意外行为有任何疑问或顾虑,那么请参阅脚本故障排除页面

第2部分:安装Habitica Webhook[]

请注意:此过程已包含在上述第1部分:安装外部脚本中。以下步骤概述了如何为已有的脚本安装webhook。

  1. 前往https://script.google.com
  2. 点开目标脚本
  3. 点击“Deploy(部署)”按钮,然后点击“Manage deployment(管理部署)”
    Managedeployments
  4. 转到对应的Active(活跃)部署(最新部署位于顶部)
    Most recent active deployment
  5. 在“Web app(Web应用程序)”下,点击“Copy(复制)”
    Web app url copy
  6. 点击“Cancel(取消)”
    Cancel deployment
  7. 找到PasteGeneratedWebAppUrlHere所在的一行,选中引号的所有文本
    • 请勿选中引号,以确保粘贴时不会将其覆盖
      Screenshot PasteGeneratedWebAppUrlHere
  8. 粘贴前面步骤中复制的URL
    • 请注意保留引号
      Screenshot PastedWebAppUrl
  9. 点击工具栏上的“保存”图标
    Save
  10. 请确保工具栏的下拉菜单中选择了“doOneTimeSetup(执行一次性安装)”
    DoOneTimeSetup selection
  11. 点击“run(运行)”
    Run
    • “Execution log(执行日志)”将在屏幕底部打开,并在一次性安装成功时显示“Execution completed(执行完毕)”
      Execution log
    • 如果选项中没有出现“doOneTimeSetup(执行一次性安装)”,或者显示了错误信息,那么可能意味着前面某一个步骤没有正确执行。请从第1部分:安装外部脚本开始,重新完成这些步骤
  12. [可选]前往https://habitica.com/并点击同步按钮,查看脚本是否创建了奖励任务按钮(译者注:部分脚本的功能是通过创建特殊的奖励任务按钮来实现的,本条仅针对这部分脚本而言)

如果步骤11的执行日志中显示“Execution completed(执行完毕)”,而没有提示错误信息,那么你就已经成功完成了所有步骤!

如果你对安装或使用脚本的过程中遇到的意外行为有任何疑问或顾虑,那么请参阅脚本故障排除页面

安装传统脚本[]

第1部分:安装外部脚本[]

安装传统脚本的外部脚本与安装精简脚本的步骤类似。唯一的区别在于输入用户ID、API令牌以及其他任何用户自定义项目的行数可能有所不同。请参阅脚本附带的文档以获取帮助。

第2部分:安装Habitica Webhook[]

传统而言,若要安装webhook,你需要学习如何使用一些第三方工具,并利用这些工具手动安装webhook。

更新精简脚本[]

有时脚本作者会为了修复一些问题或者添加新的功能而更新脚本。下面的章节展示了部署脚本时应用更新可能需要完成的三个部分。对于每次特定的脚本更新,脚本作者都会说明下列三个部分中的哪一个是应用特定更新所必需的。

第1部分:删除一次性安装所创建的项目[]

  1. 前往https://script.google.com,打开想要更新的脚本
  2. 记下第6行的URL(译者注:URL链接不一定位于第6行)
  3. 前往https://habitica.com/user/settings/api
  4. 在右侧Webhook部分查找上述步骤2提到的URL所在的所有行
    • 你可能需要多次按下键盘上的右箭头键才能看到整串URL
    • 若脚本使用了多个webhook,那么可能不止一行包含此URL
  5. 在所有包含此URL的行上点击“删除”
    • 请注意:在后面的步骤中你也都不需要在此处手动添加URL
  6. 前往https://habitica.com
  7. 若最初安装脚本时,该脚本创建了一些奖励按钮,那么请删除创建的所有奖励按钮

第2部分:更新外部脚本[]

  1. 点击精简的事件驱动脚本列表中想要更新的脚本名称
  2. 点击“代码”章节的链接
    • 将会打开一个包含代码的新选项卡
  3. 复制/* [Users] Required customizations to fill in */行下的所有文本
  4. 前往https://script.google.com,打开想要更新的脚本
  5. 删除/* [Users] Required customizations to fill in */行下的所有文本
  6. 粘贴步骤3中复制的文本
  7. 当且仅当第4-6行包含“habiticaUserId”、“habiticaApiToken”以及“webAppUrl”时,将它们分别替换为“USER_ID”、“API_TOKEN”以及“WEB_APP_URL”
  8. 如果脚本页面的描述包含了“必要设定(Required Customizations)”章节,那么请检查该章节所列条目,并修改指定数值
  9. [可选]如果脚本描述包含了“可选设定(Optional Customizations)”章节,那么请检查该章节所列条目,并修改指定数值
  10. 依次点击“File(文件)”、“Save(保存)”
  11. 依次点击“Publish(发布)”、“Deploy as web app...(部署为web应用程序……)”
  12. 在“Project version:(项目版本:)”下:输入“Updated script(更新的脚本)”
  13. 点击“Update(更新)”
  14. 如果显示“Authorization required(需要授权)”消息,请点击“Review Permissions(查看权限)”
    • 如果未显示“Authorization required(需要授权)”消息,请直接转到步骤16
  15. 选择最初安装脚本时使用的Google账号
  16. 点击左下角的“Advanced(高级)”,然后点击“Go to <name of script> (unsafe)(转到<脚本名称>(不安全))”
  17. 点击右下角的“Allow(允许)”
  18. 点击“OK”

第3部分:重新创建一次性安装所创建的项目[]

  1. 依次点击“Run(运行)”、“Run function(运行函数)”、“doOneTimeSetup(执行一次性安装)”
    • 屏幕上方将立即弹出一条黄色信息,无需点击任何内容
  2. [可选]前往https://habitica.com/并点击同步按钮,查看脚本是否创建了奖励任务按钮(译者注:部分脚本的功能是通过创建特殊的奖励任务按钮来实现的,本条仅针对这部分脚本而言)

如果你已经完成了脚本作者指定的所有部分的步骤,那么你就成功更新了脚本。

如果你对安装或使用脚本的过程中遇到的意外行为有任何疑问或顾虑,那么请参阅脚本故障排除页面

Advertisement