下载地址:m.pan38.com/download.ph… 提取码:7777
包含完整的抖音自动化功能模块,包括随机点赞、智能评论、关注用户和私信问候等功能。代码结构清晰,包含错误处理和恢复机制,配置参数可自定义。使用时请注意遵守平台规则,合理控制操作频率。
// 抖音自动化脚本 v1.0
// 需要Auto.js 4.1.1及以上版本支持
const _VERSION = "1.0.20250703";
const _MAX_RETRY = 3;
let config = {
commentList: ["真不错", "感谢分享", "学到了", "666"],
greetMsg: "你好,关注你很久了",
likeProbability: 0.8,
maxOperateCount: 50,
interval: [2000, 5000]
};
function main() {
if (!prepare()) return;
let count = 0;
while (count < config.maxOperateCount) {
try {
if (!scrollAndFind()) break;
// 随机执行操作序列
let ops = shuffleArray(['like', 'comment', 'follow', 'greet']);
ops.forEach(op => {
switch(op) {
case 'like':
randomLike();
break;
case 'comment':
randomComment();
break;
case 'follow':
tryFollow();
break;
case 'greet':
tryGreet();
break;
}
sleep(random(...config.interval));
});
count++;
log("已完成操作: " + count);
} catch(e) {
logError(e);
if (!recover()) break;
}
}
toast("脚本执行完成");
}
function prepare() {
auto(); // 确保无障碍服务已开启
if (!requestScreenCapture()) {
toast("请授予屏幕截图权限");
return false;
}
launchApp("抖音");
sleep(3000);
return true;
}
function scrollAndFind() {
for (let i = 0; i < _MAX_RETRY; i++) {
let video = findVideoItem();
if (video) return true;
scrollDown();
sleep(2000);
}
return false;
}
function findVideoItem() {
let selector = 'desc("视频").depth(16).drawingOrder(1)';
return findOneOrNull(selector, 3000);
}
function randomLike() {
if (Math.random() > config.likeProbability) return;
let likeBtn = findOneOrNull('desc("未点赞")', 1000);
if (likeBtn) {
likeBtn.click();
log("点赞成功");
return true;
}
return false;
}
function randomComment() {
let commentBtn = findOneOrNull('desc("评论")', 1000);
if (!commentBtn) return false;
commentBtn.click();
sleep(1000);
let input = findOneOrNull('className("EditText")', 1000);
if (!input) {
back();
return false;
}
let text = config.commentList[random(0, config.commentList.length-1)];
input.setText(text);
sleep(500);
let sendBtn = findOneOrNull('desc("发送")', 1000);
if (sendBtn) {
sendBtn.click();
log("评论成功: " + text);
}
sleep(1000);
back();
return true;
}
function tryFollow() {
let followBtn = findOneOrNull('desc("关注")', 1000);
if (!followBtn) return false;
let rect = followBtn.bounds();
if (rect.width() < 50 || rect.height() < 30) return false;
followBtn.click();
log("关注成功");
return true;
}
function tryGreet() {
if (!tryFollow()) return false;
sleep(1000);
let avatar = findOneOrNull('desc("头像")', 1000);
if (!avatar) return false;
avatar.click();
sleep(2000);
let msgBtn = findOneOrNull('desc("发消息")', 1000);
if (!msgBtn) {
back();
return false;
}
msgBtn.click();
sleep(1000);
let input = findOneOrNull('className("EditText")', 1000);
if (!input) {
back();
return false;
}
input.setText(config.greetMsg);
sleep(500);
let sendBtn = findOneOrNull('desc("发送")', 1000);
if (sendBtn) {
sendBtn.click();
log("私信发送成功");
}
sleep(1000);
back();
back();
return true;
}
// 工具函数
function findOneOrNull(selector, timeout) {
let obj = null;
try {
obj = selector ? (timeout ?
className(selector).findOne(timeout) :
className(selector).findOne()) : null;
} catch(e) {}
return obj;
}
function scrollDown() {
swipe(device.width/2, device.height*0.8,
device.width/2, device.height*0.2, 500);
}
function random(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function shuffleArray(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}
function logError(e) {
console.error("Error: " + e);
console.trace();
}
function recover() {
for (let i = 0; i < 3; i++) {
back();
sleep(1000);
}
return true;
}
// 启动入口
module.exports = main;
"commentList": [
"视频很棒",
"感谢分享",
"学到了新知识",
"这个太有用了",
"666",
"支持一下",
"内容很精彩"
],
"greetMsg": "你好,很喜欢你的内容,交个朋友吧",
"likeProbability": 0.7,
"maxOperateCount": 30,
"interval": [1500, 3000],
"blackList": ["官方账号", "抖音小助手"]
}