脚本的优惠码怎么查询
提示message: 'Rate limit exceeded, retry in 860 ms
提示脚本不支持优惠码怎么回事
回答
你可以通过 Hamibot 的 API 接口查询脚本的优惠码列表。
使用以下 GET 请求获取指定脚本的优惠码信息:
// 文档地址 https://docs.hamibot.com/
var res = http.request(
'https://api.hamibot.com/v1/devscripts/开发脚本_id/promocode',
{
method: 'GET',
headers: {
authorization: '你的令牌(hmp 开头)',
},
}
);
log(res.body.json());
参数说明:
- 开发脚本_id:你在 Hamibot 平台创建并发布的脚本唯一 ID。
- 你的令牌:以
hmp_开头的开发者令牌,可在 Hamibot 控制台 获取。
响应示例(成功时):
[
{
"_id": "587b2858b712a80bc3f161a6",
"code": "XXXXXXXX",
"percentOff": 20,
"expiresAt": "2023-01-10 23:59:59",
"name": "脚本名称",
"url": "https://hamibot.com/marketplace/xxx"
}
]
⚠️ 注意:该接口仅对已审核通过且设置了付费定价计划的脚本有效。
如需进一步操作(如创建或删除优惠码),可参考 开发者文档 - 优惠码管理。
补充回答 1
你遇到的提示 Rate limit exceeded, retry in 860 ms 表示你的请求频率超过了 Hamibot API 的限流阈值。
原因
Hamibot 对 API 接口调用有频率限制,以防止滥用。当你在短时间内发送了过多请求(例如循环中频繁调用 http.request),就会触发限流机制,返回该错误。
解决方案
-
增加请求间隔:在每次请求之间加入适当的延迟,建议使用
sleep()函数控制频率。// 文档地址 https://docs.hamibot.com/ for (var i = 0; i < 10; i++) { var res = http.request('https://api.hamibot.com/v1/...', { method: 'GET', headers: { authorization: 'hmp_xxxxx', }, }); log(res.body.json()); sleep(1000); // 每次请求后等待 1 秒,避免触发限流 } -
优化逻辑,减少不必要的请求:
- 避免在循环中重复查询相同数据。
- 尽量批量处理或缓存结果。
-
捕获异常并重试(可选):
虽然当前错误是 HTTP 请求级别的响应,但你可以根据状态码(如 429)判断是否需要延时重试。// 文档地址 https://docs.hamibot.com/ function requestWithRetry(url, options, maxRetries = 3) { for (var i = 0; i <= maxRetries; i++) { try { var res = http.request(url, options); if (res.status !== 429) { return res; } log('请求过于频繁,正在重试... (' + i + ')'); } catch (e) { log('请求失败:', e); } sleep(1000 * Math.pow(2, i)); // 指数退避 } throw new Error('多次重试失败,请检查网络或降低请求频率'); }
最佳实践建议
- 单个脚本每秒请求数不要超过 1~2 次。
- 使用定时任务时,合理设置执行周期,避免集中高并发访问。
遵循以上方法即可有效避免 Rate limit exceeded 错误。
补充回答 2
提示“脚本不支持优惠码”通常是因为你的脚本未满足创建和使用优惠码的前提条件。以下是具体原因和解决方法:
原因一:脚本未设置付费定价计划
优惠码仅适用于收费脚本,如果你的脚本是免费的,系统不会允许生成或使用优惠码。
✅ 解决方法:
- 登录 Hamibot 控制台。
- 进入「开发者中心」→「我的脚本」。
- 找到对应脚本,点击「编辑发布信息」。
- 在「定价计划」中设置一个付费方案(如月付或买断)。
- 提交审核,待脚本重新上线后即可支持优惠码。
原因二:脚本尚未通过审核
只有已审核通过并上架市场的脚本才能使用优惠码功能。草稿状态、审核中或被拒绝的脚本均不支持。
✅ 解决方法:
- 确保你提交的脚本符合 Hamibot 脚本发布规范。
- 完善脚本描述、截图、分类等信息以提高审核通过率。
- 审核通过后,再尝试创建或查询优惠码。
原因三:API 调用方式错误
即使脚本符合条件,若调用 API 时使用的 开发脚本_id 或权限令牌有误,也可能返回类似提示。
✅ 检查项:
- 使用的是正确的脚本 ID(不是实例 ID 或任务 ID)。
- 请求头中的
authorization是以hmp_开头的有效开发者令牌。 - 请求地址为:
https://api.hamibot.com/v1/devscripts/{scriptId}/promocode
总结
要让脚本支持优惠码,必须同时满足:
- ✅ 脚本已上架市场;
- ✅ 设置了付费定价计划;
- ✅ 使用正确的 API 和权限进行操作。
如果不满足以上任一条件,就会提示“脚本不支持优惠码”。
如有疑问,可参考 开发者文档 - 优惠码管理 或联系官方支持。