Skip to content

Hamibot

运行在 Hamibot 的脚本,可以使用额外的环境信息和功能。

env

包含环境信息和开发者自定义的脚本配置(参见 在脚本中使用配置

名称类型描述
APP_ENVstring运行模式,可以是下列值之一:
  • development
  • production
USER_IDstring用户 id
ROBOT_IDstring设备 id
SCRIPT_IDstring脚本 id
TIMESTAMPstring时间戳,例如:2021-02-03 04:05:06

示例

js
const { APP_ENV } = hamibot.env;
if (APP_ENV === 'development') {
  log('💻 开发模式');
}

plan

脚本的定价计划信息,可用来区分版本。

名称类型描述
namestring计划名称,默认 免费
modelstring定价模式,可以是下列值之一:
  • free
  • flatRate
默认 free
onFreeTrialboolean是否处于免费试用期,默认 false

示例

js
const { name, model, onFreeTrial } = hamibot.plan;
log('计划名称:' + name);
log('定价模式:' + model);
log('免费试用期:' + onFreeTrial);

robotName

当前运行的设备名字。

示例

js
log('当前设备:' + hamibot.robotName);

scriptName

当前运行的脚本名字。

示例

js
log('当前脚本:' + hamibot.scriptName);

postMessage(text[, opts])

将信息发送到控制台的脚本消息,实现远程查看。

注意

需要在脚本设置中勾选启用脚本信息才会生效

参数

名称类型描述
textstring消息内容
optsobject选项

示例

js
hamibot.postMessage('hamibot');
hamibot.exit();

发送报告

可以让用户发送使用数据和错误报告,了解使用情况,帮助改进脚本。

使用步骤:

(1). 在脚本配置模式中添加选项

json
{
  "name": "TELEMETRY",
  "type": "checkbox",
  "label": "发送使用数据和错误报告",
  "help": "帮助开发者改进脚本,这个报告会被认为是机密的,匿名的。"
}

(2). 在脚本代码中进行调用

js
hamibot.postMessage(Date.now().toString(), {
  telemetry: true,
  data: {
    title: '标题',
    attachments: [
      // 支持 text, json, image 三种类型,根据实际需要使用
      {
        type: 'text', 
        data: '文字内容',
      },
      {
        type: 'json', 
        data: JSON.stringify({
          currentActivity: currentActivity(),
        }),
      },
      {
        type: 'image', 
        data: 'data:image/png;base64,iVB...', // base64
      },
    ],
  },
});
hamibot.exit();

(3). 查看报告

访问 议题

TIP

详细用法,参见《脚本如何收集错误报告》

exit()

结束脚本运行,如果有使用 hamibot.postMessage(),会在发送成功后再结束运行。

js
hamibot.exit();