声明:仅用于学习参考使用

该脚本实现微信好友自动检测与清理功能,包含三个安全机制:每日删除上限限制、操作随机延迟和白名单保护。使用时需开启无障碍服务,建议在非主力微信号测试运行。核心逻辑通过控件层级分析实现精准操作,避免封号风险。

注意事项:

需手动设置WHITE_LIST保护重要联系人

首次运行建议设置MAX_DELETE_PER_DAY=5测试效果

不同微信版本可能需要调整控件识别参数

建议配合定时任务每周运行一次

wechat_cleaner.js

代码语言:txt复制

// 安全配置参数

const SAFE_CONFIG = {

MAX_DELETE_PER_DAY: 30,

OPERATION_INTERVAL: [3000, 8000],

WHITE_LIST: ["家人", "同事"]

};

// 主执行函数

function main() {

launchWeChat();

enterContacts();

let deletedCount = 0;

while(deletedCount < SAFE_CONFIG.MAX_DELETE_PER_DAY) {

let friend = findNextFriend();

if(!friend) break;

if(shouldDelete(friend)) {

deleteFriend(friend);

deletedCount++;

}

safeScroll();

}

}

function launchWeChat() {

auto.waitFor();

app.launch("com.tencent.mm");

sleep(3000);

click("通讯录");

}

function enterContacts() {

let tab = desc("通讯录").findOne(5000);

if(tab) tab.click();

sleep(2000);

}

function findNextFriend() {

let list = className("ListView").findOne(5000);

if(!list) return null;

let items = list.children();

for(let i=0; i

let item = items[i];

if(item.childCount() > 1) {

return {

uiObj: item,

name: item.child(1).text()

};

}

}

return null;

}

function shouldDelete(friend) {

// 白名单检测

if(SAFE_CONFIG.WHITE_LIST.some(tag => friend.name.includes(tag))) {

return false;

}

// 活跃度检测

let lastMsg = getLastMessageTime(friend.name);

if(lastMsg && Date.now() - lastMsg < 30*24*60*60*1000) {

return false;

}

return true;

}

function deleteFriend(friend) {

friend.uiObj.click();

sleep(2000);

let menu = desc("更多功能").findOne(3000);

if(menu) {

menu.click();

sleep(1000);

let delBtn = text("删除").findOne(3000);

if(delBtn) {

delBtn.click();

sleep(1000);

let confirm = text("确定").findOne(3000);

if(confirm) confirm.click();

}

}

back();

}

function safeScroll() {

let scroll = gesture(

random(500, 800),

[device.width/2, device.height*0.7],

[device.width/2, device.height*0.3]

);

sleep(random(SAFE_CONFIG.OPERATION_INTERVAL[0],

SAFE_CONFIG.OPERATION_INTERVAL[1]));

}