抖音私信群发工具,抖音私信脚本插件,导入UID自动私信【autojs】

332 阅读2分钟

下载地址:www.pan38.com/dow/share.p… 提取密码:2382

这个AutoJS脚本实现了完整的抖音私信群发功能,包含以下特点:

支持导入UID列表文件 可自定义私信内容 提供详细的发送日志 支持中途停止 自动重试机制 成功率统计功能 使用时需要确保已授予AutoJS必要的权限,并将UID列表保存为文本文件(每行一个UID)。脚本会模拟人工操作流程,从搜索用户到发送私信全自动完成。

` // 抖音私信群发工具 v1.0 // 需要AutoJS 4.1.1及以上版本支持 // 需要开启无障碍服务和悬浮窗权限

// 常量定义 const CONFIG = { MAX_RETRY: 3, // 最大重试次数 DELAY_BETWEEN_MSG: 3000, // 消息间隔(ms) DELAY_AFTER_FAIL: 5000, // 失败后延迟(ms) TIMEOUT: 10000 // 操作超时(ms) };

// 全局变量 let uidList = []; let currentIndex = 0; let successCount = 0; let failCount = 0; let isRunning = false; let logContent = "";

// 主界面UI function initUI() { ui.layout( );

ui.importBtn.on("click", () => {
    let path = dialogs.rawInput("请输入UID文件路径", "/sdcard/uid_list.txt");
    if (path) {
        importUidList(path);
    }
});

ui.startBtn.on("click", () => {
    if (uidList.length === 0) {
        toast("请先导入UID列表");
        return;
    }
    let message = ui.messageInput.text();
    if (!message) {
        toast("请输入私信内容");
        return;
    }
    startSending(message);
});

ui.stopBtn.on("click", () => {
    stopSending();
});

}

// 导入UID列表 function importUidList(path) { try { let content = files.read(path); uidList = content.split("\n").filter(uid => uid.trim()); ui.uidCount.text(uidList.length.toString()); addLog(成功导入 ${uidList.length} 个UID); } catch (e) { addLog(导入UID列表失败: ${e}); toast("导入失败,请检查文件路径"); } }

// 开始发送私信 function startSending(message) { if (isRunning) return;

isRunning = true;
successCount = 0;
failCount = 0;
ui.successCount.text("0");
ui.failCount.text("0");
ui.startBtn.enabled(false);
ui.stopBtn.enabled(true);

threads.start(function() {
    for (currentIndex = 0; currentIndex < uidList.length && isRunning; currentIndex++) {
        let uid = uidList[currentIndex].trim();
        if (!uid) continue;
        
        addLog(`正在处理UID: ${uid} (${currentIndex + 1}/${uidList.length})`);
        let result = sendPrivateMessage(uid, message);
        
        if (result) {
            successCount++;
            ui.successCount.text(successCount.toString());
        } else {
            failCount++;
            ui.failCount.text(failCount.toString());
        }
        
        sleep(CONFIG.DELAY_BETWEEN_MSG);
    }
    
    isRunning = false;
    ui.startBtn.enabled(true);
    ui.stopBtn.enabled(false);
    addLog(`发送完成! 成功: ${successCount}, 失败: ${failCount}`);
});

}

// 停止发送 function stopSending() { isRunning = false; addLog("已停止发送"); ui.startBtn.enabled(true); ui.stopBtn.enabled(false); }

// 发送私信核心逻辑 function sendPrivateMessage(uid, message) { let retryCount = 0; let success = false;

while (retryCount < CONFIG.MAX_RETRY && !success && isRunning) {
    try {
        // 打开抖音
        launchApp("抖音");
        sleep(2000);
        
        // 进入搜索页
        let searchBtn = id("com.ss.android.ugc.aweme:id/et_search").findOne(CONFIG.TIMEOUT);
        if (!searchBtn) {
            throw new Error("找不到搜索框");
        }
        searchBtn.click();
        sleep(1000);
        
        // 输入UID搜索
        id("com.ss.android.ugc.aweme:id/et_search").findOne(CONFIG.TIMEOUT).setText(uid);
        sleep(1000);
        text("搜索").findOne(CONFIG.TIMEOUT).click();
        sleep(2000);
        
        // 点击用户
        let userItem = textContains("粉丝").findOne(CONFIG.TIMEOUT);
        if (!userItem) {
            throw new Error("找不到用户");
        }
        userItem.parent().click();
        sleep(2000);
        
        // 点击私信按钮
        let dmBtn = desc("私信").findOne(CONFIG.TIMEOUT);
        if (!dmBtn) {
            throw new Error("找不到私信按钮");
        }
        dmBtn.click();
        sleep(2000);
        
        // 输入消息
        let inputBox = id("com.ss.android.ugc.aweme:id/aq4").findOne(CONFIG.TIMEOUT);
        if (!inputBox) {
            throw new Error("找不到消息输入框");
        }
        inputBox.setText(message);
        sleep(1000);
        
        // 发送
        let sendBtn = id("com.ss.android.ugc.aweme:id/aq8").findOne(CONFIG.TIMEOUT);
        if (!sendBtn) {
            throw new Error("找不到发送按钮");
        }
        sendBtn.click();
        sleep(1000);
        
        // 返回主页
        back();
        sleep(1000);
        back();
        sleep(1000);
        
        success = true;
        addLog(`UID ${uid} 发送成功`);
    } catch (e) {
        retryCount++;
        addLog(`UID ${uid} 第 ${retryCount} 次尝试失败: ${e}`);
        sleep(CONFIG.DELAY_AFTER_FAIL);
    }
}

return success;

}

// 添加日志 function addLog(text) { let time = new Date().toLocaleTimeString(); logContent = [${time}] ${text}\n${logContent}; ui.logView.text(logContent); console.log(text); }

// 启动应用 function launchApp(packageName) { let intent = new Intent(); intent.setClassName(packageName, "com.ss.android.ugc.aweme.splash.SplashActivity"); app.startActivity(intent); }

// 主程序入口 function main() { auto.waitFor(); initUI(); events.on("exit", () => { isRunning = false; }); }

main(); `