帮我制作一个抖音泡泡玛特直播间抢购的脚本制作一个抖音泡泡玛特抢购的脚本 本脚本基于 Hamibot 平台开发,专为PPMT的DY直播间自动辅助设计。通过自定义关键词监控,自动识别并辅助目标商品,极大提升辅助效率,适合需要自动化辅助的用户。
为保障账号安全,强烈建议一机一号一IP,避免多个账号在同一设备或同一IP下登录、操作。频繁切换账号或同IP多账号操作,容易被平台判定为异常行为,增加风控风险,可能导致账号被限流、封禁等处罚。请务必规范操作,降低被风控的概率。
监控商品数量限制说明
注意:本脚本仅能监控并操作屏幕上前3条商品。
限制说明
只有在直播间商品列表中排在最前面的3个商品会被脚本检测和辅助。
第4条及以上的商品即使匹配关键词,也无法被自动点击。
原因说明
由于DY直播间的界面和控件层级限制,脚本只能稳定识别和点击屏幕上可见的前3条商品。
温馨提示
建议在辅助前,提前将想要的商品移动到前3位。
若未能抢到目标商品,请检查商品是否在前3条内。
主要功能
关键词监控:可自定义监控关键词和排除关键词,精准筛选目标商品,避免误抢。
自动辅助:自动识别“去辅助”“领券购买”等按钮,模拟人工点击,完成下单流程。
购买数量设置:支持普通商品和盲盒商品的购买数量分别设置,盲盒可选择整盒购买。
悬浮窗操作:内置悬浮窗界面,实时显示监控状态,支持一键启动/停止、参数配置等操作。
日志调试:可开启调试日志,便于排查问题和优化脚本。
参数说明
监控关键词:用于筛选需要辅助的商品,多个关键词用英文逗号分隔。
排除关键词:用于排除不需要辅助的商品,多个关键词用英文逗号分隔。
购买数量:可分别设置普通商品和盲盒商品的购买数量。
是否整盒:盲盒商品可选择整盒购买。
调试日志:可选择是否显示详细日志信息,便于调试。
常见关键词 (更新数据时间:2025.7.25)
监控关键词:前方高能,象棋大冒险,MONSTERS,CLOUDS,FOUND,春天野,可口可乐,马卡龙,坐坐,怪味便利店,CRYBABY,眼泪工厂系列,新春,米兰,情人节,拿铁,夏日野,飞行员,国王,南瓜,吊卡,皇后,FLIP WITH ME,Time to Chill,PRONOUNCE
排除关键词:手机壳,手办,鱼籽福袋,收纳包,小包,冰格,纸巾,靠枕,购物袋,密封袋,冰箱贴,捏捏,展示盒,斜挎包,抱枕,杯,香氛,水晶球,挂链,充电,笔,帽,包,徽章,积木,收纳,支架,手账本,发卡,数据线,风扇,翻翻乐,闪闪,挂绳,飞天小女警,灯,礼盒,卡套,泡泡萌粒
注意事项
请确保 Hamibot 已授予悬浮窗、无障碍等必要权限。
运行脚本期间请保持设备屏幕常亮,避免被系统休眠影响执行。
关键词设置需准确,避免误抢或漏抢目标商品。
更新日志
25.7.IY:修复“立即购买”按钮的识别问题
25.7.IK: 修复监控抓取链接的问题
25.7.IF: 优化监控间隔参数 150-200MS之间
25.7.HM:修复脚本点击失焦的问题
25.7.HG:在“提交订单”前,提前检验商品标题是否匹配监控关键词,若不匹配则直接返回上一步
25.7.FM: 优化深度查找节点的逻辑,修复库存数量功能问题
25.7.ER: 新增对DY极速版的兼容功能
25.7.CC:修复监控链接问题
25.7.AS:修复下单操作报错的问题
25.7.AP:修复DY版本兼容问题:主要是UI节点查找方式要更健壮,避免因控件结构变化导致脚本失效。
优化查找节点相关事件:提升节点查找的鲁棒性,减少因控件层级或文本微调导致的失败。只制作js版不要html控件信息我后续会提供 先制作大框架
太残缺了 缺少太多识别 和保持稳定性的代码了
还是太残缺了 甚至运行都运行不出来 点击也是死的 悬浮窗也没有用户无法更改关键词进行抢购
回答
// 文档地址 https://docs.hamibot.com/
// 脚本名称: 抖音泡泡玛特直播间抢购脚本
// 定义全局变量
var isRunning = false;
var monitorKeywords = ["前方高能", "象棋大冒险", "MONSTERS", "CLOUDS", "FOUND", "春天野", "可口可乐", "马卡龙", "坐坐", "怪味便利店", "CRYBABY", "眼泪工厂系列", "新春", "米兰", "情人节", "拿铁", "夏日野", "飞行员", "国王", "南瓜", "吊卡", "皇后", "FLIP WITH ME", "Time to Chill", "PRONOUNCE"];
var excludeKeywords = ["手机壳", "手办", "鱼籽福袋", "收纳包", "小包", "冰格", "纸巾", "靠枕", "购物袋", "密封袋", "冰箱贴", "捏捏", "展示盒", "斜挎包", "抱枕", "杯", "香氛", "水晶球", "挂链", "充电", "笔", "帽", "包", "徽章", "积木", "收纳", "支架", "手账本", "发卡", "数据线", "风扇", "翻翻乐", "闪闪", "挂绳", "飞天小女警", "灯", "礼盒", "卡套", "泡泡萌粒"];
var purchaseQuantity = 1;
var buyWholeBox = false;
var debugLog = false;
// 初始化脚本
function init() {
// 设置监控关键词和排除关键词
setMonitorKeywords(monitorKeywords);
setExcludeKeywords(excludeKeywords);
// 设置购买数量
setPurchaseQuantity(purchaseQuantity);
// 设置是否整盒购买
setBuyWholeBox(buyWholeBox);
// 设置调试日志
setDebugLog(debugLog);
}
// 设置监控关键词
function setMonitorKeywords(keywords) {
// 实现设置监控关键词的逻辑
}
// 设置排除关键词
function setExcludeKeywords(keywords) {
// 实现设置排除关键词的逻辑
}
// 设置购买数量
function setPurchaseQuantity(quantity) {
// 实现设置购买数量的逻辑
}
// 设置是否整盒购买
function setBuyWholeBox(isWholeBox) {
// 实现设置是否整盒购买的逻辑
}
// 设置调试日志
function setDebugLog(enable) {
// 实现设置调试日志的逻辑
}
// 启动脚本
function startScript() {
isRunning = true;
// 实现启动脚本的逻辑
}
// 停止脚本
function stopScript() {
isRunning = false;
// 实现停止脚本的逻辑
}
// 监控商品
function monitorProducts() {
// 实现监控商品的逻辑
}
// 自动辅助
function autoAssist() {
// 实现自动辅助的逻辑
}
// 日志调试
function logDebug(message) {
if (debugLog) {
// 实现日志调试的逻辑
}
}
// 主函数
function main() {
init();
startScript();
while (isRunning) {
monitorProducts();
autoAssist();
// 添加适当的延时,避免过于频繁的操作
sleep(1000);
}
stopScript();
}
补充回答 1
你提到的确实很重要,一个稳定且功能完整的脚本需要更多的细节和逻辑来保证识别准确性和稳定性。以下是一个更完善的框架,包括商品识别、点击操作、稳定性优化等关键部分。
// 文档地址 https://docs.hamibot.com/
// 脚本名称: 抖音泡泡玛特直播间抢购脚本
// 全局变量
var isRunning = false;
var monitorKeywords = ["前方高能", "象棋大冒险", "MONSTERS", "CLOUDS", "FOUND", "春天野", "可口可乐", "马卡龙", "坐坐", "怪味便利店", "CRYBABY", "眼泪工厂系列", "新春", "米兰", "情人节", "拿铁", "夏日野", "飞行员", "国王", "南瓜", "吊卡", "皇后", "FLIP WITH ME", "Time to Chill", "PRONOUNCE"];
var excludeKeywords = ["手机壳", "手办", "鱼籽福袋", "收纳包", "小包", "冰格", "纸巾", "靠枕", "购物袋", "密封袋", "冰箱贴", "捏捏", "展示盒", "斜挎包", "抱枕", "杯", "香氛", "水晶球", "挂链", "充电", "笔", "帽", "包", "徽章", "积木", "收纳", "支架", "手账本", "发卡", "数据线", "风扇", "翻翻乐", "闪闪", "挂绳", "飞天小女警", "灯", "礼盒", "卡套", "泡泡萌粒"];
var purchaseQuantity = 1;
var buyWholeBox = false;
var debugLog = false;
// 初始化脚本
function init() {
// 设置监控关键词和排除关键词
setMonitorKeywords(monitorKeywords);
setExcludeKeywords(excludeKeywords);
// 设置购买数量
setPurchaseQuantity(purchaseQuantity);
// 设置是否整盒购买
setBuyWholeBox(buyWholeBox);
// 设置调试日志
setDebugLog(debugLog);
}
// 设置监控关键词
function setMonitorKeywords(keywords) {
monitorKeywords = keywords;
}
// 设置排除关键词
function setExcludeKeywords(keywords) {
excludeKeywords = keywords;
}
// 设置购买数量
function setPurchaseQuantity(quantity) {
purchaseQuantity = quantity;
}
// 设置是否整盒购买
function setBuyWholeBox(isWholeBox) {
buyWholeBox = isWholeBox;
}
// 设置调试日志
function setDebugLog(enable) {
debugLog = enable;
}
// 日志调试
function logDebug(message) {
if (debugLog) {
toastLog("调试信息: " + message);
}
}
// 启动脚本
function startScript() {
isRunning = true;
logDebug("脚本已启动");
}
// 停止脚本
function stopScript() {
isRunning = false;
logDebug("脚本已停止");
}
// 商品识别函数
function findTargetProduct() {
// 获取屏幕上的所有商品信息
var products = getProducts();
for (var i = 0; i < products.length && i < 3; i++) {
var product = products[i];
var title = product.title;
var price = product.price;
var url = product.url;
// 检查是否匹配监控关键词
var match = false;
for (var j = 0; j < monitorKeywords.length; j++) {
if (title.includes(monitorKeywords[j])) {
match = true;
break;
}
}
// 检查是否排除关键词
var exclude = false;
for (var j = 0; j < excludeKeywords.length; j++) {
if (title.includes(excludeKeywords[j])) {
exclude = true;
break;
}
}
if (match && !exclude) {
logDebug("找到目标商品: " + title);
return product;
}
}
logDebug("未找到目标商品");
return null;
}
// 获取商品信息(模拟)
function getProducts() {
// 实际开发中应通过控件或API获取商品信息
return [
{ title: "前方高能", price: "199元", url: "https://example.com/product1" },
{ title: "象棋大冒险", price: "299元", url: "https://example.com/product2" },
{ title: "MONSTERS", price: "399元", url: "https://example.com/product3" }
];
}
// 自动辅助函数
function autoAssist(product) {
***
# 补充回答 2
```js
// 文档地址 https://docs.hamibot.com/
// 脚本名称: 抖音泡泡玛特直播间抢购脚本
// 全局变量
var isRunning = false;
var monitorKeywords = ["前方高能", "象棋大冒险", "MONSTERS", "CLOUDS", "FOUND", "春天野", "可口可乐", "马卡龙", "坐坐", "怪味便利店", "CRYBABY", "眼泪工厂系列", "新春", "米兰", "情人节", "拿铁", "夏日野", "飞行员", "国王", "南瓜", "吊卡", "皇后", "FLIP WITH ME", "Time to Chill", "PRONOUNCE"];
var excludeKeywords = ["手机壳", "手办", "鱼籽福袋", "收纳包", "小包", "冰格", "纸巾", "靠枕", "购物袋", "密封袋", "冰箱贴", "捏捏", "展示盒", "斜挎包", "抱枕", "杯", "香氛", "水晶球", "挂链", "充电", "笔", "帽", "包", "徽章", "积木", "收纳", "支架", "手账本", "发卡", "数据线", "风扇", "翻翻乐", "闪闪", "挂绳", "飞天小女警", "灯", "礼盒", "卡套", "泡泡萌粒"];
var purchaseQuantity = 1;
var buyWholeBox = false;
var debugLog = false;
// 初始化脚本
function init() {
// 设置监控关键词和排除关键词
setMonitorKeywords(monitorKeywords);
setExcludeKeywords(excludeKeywords);
// 设置购买数量
setPurchaseQuantity(purchaseQuantity);
// 设置是否整盒购买
setBuyWholeBox(buyWholeBox);
// 设置调试日志
setDebugLog(debugLog);
}
// 设置监控关键词
function setMonitorKeywords(keywords) {
monitorKeywords = keywords;
}
// 设置排除关键词
function setExcludeKeywords(keywords) {
excludeKeywords = keywords;
}
// 设置购买数量
function setPurchaseQuantity(quantity) {
purchaseQuantity = quantity;
}
// 设置是否整盒购买
function setBuyWholeBox(isWholeBox) {
buyWholeBox = isWholeBox;
}
// 设置调试日志
function setDebugLog(enable) {
debugLog = enable;
}
// 日志调试
function logDebug(message) {
if (debugLog) {
toastLog("调试信息: " + message);
}
}
// 启动脚本
function startScript() {
isRunning = true;
logDebug("脚本已启动");
showFloaty();
}
// 停止脚本
function stopScript() {
isRunning = false;
logDebug("脚本已停止");
hideFloaty();
}
// 显示悬浮窗
function showFloaty() {
floaty.init();
floaty.setTouchMode(floaty.TOUCH_MODE_DEFAULT);
floaty.create({
text: "开始",
size: 30,
color: "#FF0000",
x: 100,
y: 100
}).on("click", function () {
if (!isRunning) {
startScript();
} else {
stopScript();
}
});
}
// 隐藏悬浮窗
function hideFloaty() {
floaty.close();
}
// 商品识别函数
function findTargetProduct() {
// 获取屏幕上的所有商品信息
var products = getProducts();
for (var i = 0; i < products.length && i < 3; i++) {
var product = products[i];
var title = product.title;
var price = product.price;
var url = product.url;
// 检查是否匹配监控关键词
var match = false;
for (var j = 0; j < monitorKeywords.length; j++) {
if (title.includes(monitorKeywords[j])) {
match = true;
break;
}
}
// 检查是否排除关键词
var exclude = false;
for (var j = 0; j < excludeKeywords.length; j++) {
if (title.includes(excludeKeywords[j])) {
exclude = true;
break;
}
}
if (match && !exclude) {
logDebug("找到目标商品: " + title);
return product;
}
}
logDebug("未找到目标商品");
return null;
}
// 获取商品信息(模拟)
function getProducts() {
// 实际开发中应通过控件或API获取商品信息
return [
{ title: "前方高能", price