本文由Sciuridae翻译。
与手动运行或时间驱动的脚本相比,事件驱动(webhook)脚本需要更多安装步骤。用户需要依次安装两部分内容:
- 其一,处理Habitica发送的自动请求的外部脚本。
- 其二,只要指定事件发生便会触发Habitica发送自动请求的触发器,即“webhook”。
本指南将逐步说明如何完成这两个部分。
安装精简脚本[]
精简脚本是使用精简的事件驱动脚本模板的脚本。这些脚本可以让用户使用较少的步骤安装事件驱动脚本,而无需在不同工具之间来回切换。
视频指南:
如果比起阅读文字,你更想要观看视频,那么请查看下方的YouTube录像。若想要阅读文字指南(包含图片!),请参见视频下方的章节。
- 仅视频,无音频:安装自动接受副本脚本的示例
- 附带音频说明(英语)的视频:安装今日抱恙模式脚本的示例
附带图片的文字指南:
第1部分:安装外部脚本[]
- 前往https://script.google.com
- 点击屏幕左上角的“New Project(新建项目)”
- 将会打开一个包含新项目的新选项卡
- 你的光标将位于
myFunction
示例函数的第2行。按下“CTRL + A”(PC端)或“command + A”(Mac端),选中所有文本。 - 删除整个
myFunction
示例函数- 此时脚本应为完全空白
- 点击精简的事件驱动脚本列表中你想要安装的脚本名称
- 点击“代码”章节的链接
- 将会打开一个包含代码的新选项卡
- 复制上一步打开的新选项卡的所有文本
- 返回包含空白项目的选项卡(前面的步骤2所创建的选项卡),然后粘贴复制的文本
- 前往https://habitica.com/user/settings/api
- 找到屏幕左侧的“用户ID”
- 复制整串数字和字母
- 包括连字符在内,复制整串字符
- 打开新脚本所在选项卡,找到
const USER_ID =
所在的一行,选中引号内的所有文本 - 粘贴前面步骤中复制的用户ID
- 返回https://habitica.com/user/settings/api
- 点击“Show API Token(显示API令牌)”
- 复制整串数字、字母和连字符
- 打开新脚本所在选项卡,找到
const API_TOKEN =
所在的一行,选中引号内的所有文本 - 粘贴前面步骤中复制的API令牌
- 如果脚本页面的描述包含了“必要设定(Required Customizations)”章节,那么请检查该章节所列条目,并修改指定数值
- [可选]如果脚本描述包含了“可选设定(Optional Customizations)”章节,那么请检查该章节所列条目,并修改指定数值
- 点击屏幕顶部的“Untitled project(未命名项目)”
- 输入脚本页面的脚本名称,然后点击“Rename(重命名)”
- 点击工具栏上的“保存”图标
- 点击“Deploy(部署)”按钮,然后点击“New deployment(新建部署)”
- 点击“设置”(齿轮图标),然后点击“Web app(Web应用程序)”
- 在“New description(新描述)”下输入一些简短的文字(例如,“添加的脚本(Added script)”),以帮助你确认更改的内容
- 确保“Execute as:(以何种身份执行:)”下显示为“Me(我)”
- 确保“Who has access(设置访问权限)”下显示为“Anyone(任何人)”
- 点击“Deploy(部署)”
- 若显示以下信息,点击“Authorize access(授权访问)”
图片翻译:Web应用程序需要你授权访问数据。
- 将会打开一个新窗口
- 选择你在步骤1中使用的Google账号
- 点击左下角的“Advanced(高级)”,然后点击“Go to <name of script> (unsafe)(转到<脚本名称>(不安全))”
- 点击右下角的“Allow(允许)”
- 在“Web app(Web应用程序)”下,点击“Copy(复制)”
- 点击“Done(完成)”
- 找到
const WEB_APP_URL =
所在的一行,选中引号内的所有文本 - 粘贴前面步骤中复制的URL
- 请确保工具栏的下拉菜单中选择了“doOneTimeSetup(执行一次性安装)”
- 点击“run(运行)”
- “Execution log(执行日志)”将在屏幕底部打开,并在一次性安装成功时显示“Execution completed(执行完毕)”
- 如果选项中没有出现“doOneTimeSetup(执行一次性安装)”,或者显示了错误信息,那么可能意味着前面某一个步骤没有正确执行。请从第1部分:安装外部脚本开始,重新完成这些步骤
- “Execution log(执行日志)”将在屏幕底部打开,并在一次性安装成功时显示“Execution completed(执行完毕)”
- [可选]前往https://habitica.com/并点击同步按钮,查看脚本是否创建了奖励任务按钮(译者注:部分脚本的功能是通过创建特殊的奖励任务按钮来实现的,本条仅针对这部分脚本而言)
如果步骤39的执行日志中显示“Execution completed(执行完毕)”,而没有提示错误信息,那么你就已经成功完成了所有步骤!享受你的新脚本吧!
如果你对安装或使用脚本的过程中遇到的意外行为有任何疑问或顾虑,那么请参阅脚本故障排除页面。
第2部分:安装Habitica Webhook[]
请注意:此过程已包含在上述第1部分:安装外部脚本中。以下步骤概述了如何为已有的脚本安装webhook。
- 前往https://script.google.com
- 点开目标脚本
- 点击“Deploy(部署)”按钮,然后点击“Manage deployment(管理部署)”
- 转到对应的Active(活跃)部署(最新部署位于顶部)
- 在“Web app(Web应用程序)”下,点击“Copy(复制)”
- 点击“Cancel(取消)”
- 找到
PasteGeneratedWebAppUrlHere
所在的一行,选中引号内的所有文本 - 粘贴前面步骤中复制的URL
- 点击工具栏上的“保存”图标
- 请确保工具栏的下拉菜单中选择了“doOneTimeSetup(执行一次性安装)”
- 点击“run(运行)”
- “Execution log(执行日志)”将在屏幕底部打开,并在一次性安装成功时显示“Execution completed(执行完毕)”
- 如果选项中没有出现“doOneTimeSetup(执行一次性安装)”,或者显示了错误信息,那么可能意味着前面某一个步骤没有正确执行。请从第1部分:安装外部脚本开始,重新完成这些步骤
- “Execution log(执行日志)”将在屏幕底部打开,并在一次性安装成功时显示“Execution completed(执行完毕)”
- [可选]前往https://habitica.com/并点击同步按钮,查看脚本是否创建了奖励任务按钮(译者注:部分脚本的功能是通过创建特殊的奖励任务按钮来实现的,本条仅针对这部分脚本而言)
如果步骤11的执行日志中显示“Execution completed(执行完毕)”,而没有提示错误信息,那么你就已经成功完成了所有步骤!
如果你对安装或使用脚本的过程中遇到的意外行为有任何疑问或顾虑,那么请参阅脚本故障排除页面。
安装传统脚本[]
第1部分:安装外部脚本[]
安装传统脚本的外部脚本与安装精简脚本的步骤类似。唯一的区别在于输入用户ID、API令牌以及其他任何用户自定义项目的行数可能有所不同。请参阅脚本附带的文档以获取帮助。
第2部分:安装Habitica Webhook[]
传统而言,若要安装webhook,你需要学习如何使用一些第三方工具,并利用这些工具手动安装webhook。
更新精简脚本[]
有时脚本作者会为了修复一些问题或者添加新的功能而更新脚本。下面的章节展示了部署脚本时应用更新可能需要完成的三个部分。对于每次特定的脚本更新,脚本作者都会说明下列三个部分中的哪一个是应用特定更新所必需的。
第1部分:删除一次性安装所创建的项目[]
- 前往https://script.google.com,打开想要更新的脚本
- 记下第6行的URL(译者注:URL链接不一定位于第6行)
- 前往https://habitica.com/user/settings/api
- 在右侧Webhook部分查找上述步骤2提到的URL所在的所有行
- 你可能需要多次按下键盘上的右箭头键才能看到整串URL
- 若脚本使用了多个webhook,那么可能不止一行包含此URL
- 在所有包含此URL的行上点击“删除”
- 请注意:在后面的步骤中你也都不需要在此处手动添加URL
- 前往https://habitica.com
- 若最初安装脚本时,该脚本创建了一些奖励按钮,那么请删除创建的所有奖励按钮
第2部分:更新外部脚本[]
- 点击精简的事件驱动脚本列表中想要更新的脚本名称
- 点击“代码”章节的链接
- 将会打开一个包含代码的新选项卡
- 复制
/* [Users] Required customizations to fill in */
行下的所有文本 - 前往https://script.google.com,打开想要更新的脚本
- 删除
/* [Users] Required customizations to fill in */
行下的所有文本 - 粘贴步骤3中复制的文本
- 当且仅当第4-6行包含“habiticaUserId”、“habiticaApiToken”以及“webAppUrl”时,将它们分别替换为“USER_ID”、“API_TOKEN”以及“WEB_APP_URL”
- 如果脚本页面的描述包含了“必要设定(Required Customizations)”章节,那么请检查该章节所列条目,并修改指定数值
- [可选]如果脚本描述包含了“可选设定(Optional Customizations)”章节,那么请检查该章节所列条目,并修改指定数值
- 依次点击“File(文件)”、“Save(保存)”
- 依次点击“Publish(发布)”、“Deploy as web app...(部署为web应用程序……)”
- 在“Project version:(项目版本:)”下:输入“Updated script(更新的脚本)”
- 点击“Update(更新)”
- 如果显示“Authorization required(需要授权)”消息,请点击“Review Permissions(查看权限)”
- 如果未显示“Authorization required(需要授权)”消息,请直接转到步骤16
- 选择最初安装脚本时使用的Google账号
- 点击左下角的“Advanced(高级)”,然后点击“Go to <name of script> (unsafe)(转到<脚本名称>(不安全))”
- 点击右下角的“Allow(允许)”
- 点击“OK”
第3部分:重新创建一次性安装所创建的项目[]
- 依次点击“Run(运行)”、“Run function(运行函数)”、“doOneTimeSetup(执行一次性安装)”
- 屏幕上方将立即弹出一条黄色信息,无需点击任何内容
- [可选]前往https://habitica.com/并点击同步按钮,查看脚本是否创建了奖励任务按钮(译者注:部分脚本的功能是通过创建特殊的奖励任务按钮来实现的,本条仅针对这部分脚本而言)
如果你已经完成了脚本作者指定的所有部分的步骤,那么你就成功更新了脚本。
如果你对安装或使用脚本的过程中遇到的意外行为有任何疑问或顾虑,那么请参阅脚本故障排除页面。