分享一个之前写的微信根据关键词发布朋友圈的auto.js

想象一下,你每天都要发布微信朋友圈,分享生活中的点滴,但是这个过程变得越来越耗时,每天都需要花费大量的时间来完成。你可能想要寻找一种更高效的方式来自动发布朋友圈,以便有更多的时间去做其他事情。这时,Auto.js就派上了用场。Auto.js是一个强大的Android自动化工具,可以帮助你编写脚本来执行各种自动化任务,包括自动发布微信朋友圈。

准备工作

在开始编写自动发布朋友圈的脚本之前,你需要做一些准备工作。

安装Auto.js

首先,你需要在你的Android设备上安装Auto.js应用。你可以在Google Play商店中搜索并安装它。安装完成后,打开应用并授予它所需的权限。

创建控制文件

为了更好地控制脚本的行为,我们可以创建一个控制文件,用于存储一些配置信息。在脚本中,我们会读取这个控制文件以获取一些参数。你可以使用文件管理器在设备上创建一个名为"控制.txt"的文本文件,并将其放置在"/sdcard/"目录下。在这个文件中,你可以存储一些关键词,用于判断是否需要发布朋友圈。

编写Auto.js脚本

现在,让我们开始编写Auto.js脚本来自动发布微信朋友圈。

var window = floaty.window(
    <vertical>
        <button id="start">启动</button>
        <button id="stop">停止</button>
    </vertical>
);

var dw = device.width;
var dh = device.height;
window.setPosition(dw / 4 * 3, dw / 4 * 3);

if (!files.isFile("/sdcard/控制.txt")) {
    files.create("/sdcard/控制.txt");
}

var content = files.read("/sdcard/控制.txt");
var 关键词数组 = content.split("\r\n");

window.start.click(function () {
    threads.start(mainLoop);
});

window.stop.click(function () {
    threads.start(function () {
        exit();
    });
});

function mainLoop() {
    while (1) {
        sleep(2000);
        try {
            handleExit();
            handleMessage();
            handleChat();
        } catch (e) {
            toastLog(e.message);
        }
    }
}

// 处理退出微信
function handleExit() {
    if (text("退出").visibleToUser().exists()) {
        text("退出").findOnce().click();
        sleep(2000);
        back();
        text("微信").visibleToUser().waitFor();
        let a = text("微信").findOnce().bounds();
        sleep(1000);
        click(a.centerX(), a.centerY());
        sleep(1000);
    }
}

// 处理消息
function handleMessage() {
    if (idContains("g1").visibleToUser().exists()) {
        idContains("g1").findOnce().parent().click();
    }
}

// 处理聊天界面
function handleChat() {
    var chatElements = idContains("kmv").visibleToUser().find();
    toastLog("控件数量:" + chatElements.size());
    if (chatElements) {
        let chatBounds = chatElements[0].bounds();
        toastLog(chatBounds.centerX(), chatBounds.centerY());
        click(chatBounds.centerX(), chatBounds.centerY());
        // 检测是否在聊天界面
        descContains("切换到按住说话").findOne(4000);
        if (descContains("切换到按住说话").exists()) {
            handleText();
        } else {
            back();
        }
    }
}

// 处理文本消息
function handleText() {
    // 检查聊天内容的数组
    try {
        className("androidx.recyclerview.widget.RecyclerView").visibleToUser().waitFor();
        var chatRecyclerView = className("androidx.recyclerview.widget.RecyclerView").find();
        var 控件数量 = chatRecyclerView[0].childCount();
        var 子控件 = chatRecyclerView[0].child(控件数量 - 1).childCount();
        toastLog(当前文本 = chatRecyclerView[0].child(控件数量 - 1).child(子控件 - 1).child(1).child(0).child(0).text());
        if (当前文本 == "" || 当前文本 == null) {
            toastLog("啥也没有");
            back();
            return;
        }
    } catch (e) {
        back();
        toastLog("没有文字");
        return;
    }
    sleep(1000);
    back();
    sleep(1000);
    for (i = 0; i < 关键词数组.length; i++) {
        if (当前文本.includes(关键词数组[i])) {
            handleDiscover();
            break;
        }
    }
}

// 处理朋友圈发布
function handleDiscover() {
    //点击发现
    text("发现").visibleToUser().waitFor();
    let discoverBounds = text("发现").findOnce().bounds();
    click(discoverBounds.centerX(), discoverBounds.centerY());
    sleep(1000);
    //下拉
    swipe(502.6, 63, 531, 138, 500);
    text("朋友圈").visibleToUser().waitFor();
    let momentsBounds = text("朋友圈").findOnce().bounds();
    click(momentsBounds.centerX(), momentsBounds.centerY());
    //长按相机按钮发送文本
    idContains("by3").visibleToUser().waitFor();
    sleep(2000);
    if (id

Contains("by3").exists()) {
        toastLog("123");
    }
    let cameraBounds = idContains("by3").findOnce().bounds();
    press(cameraBounds.centerX(), cameraBounds.centerY(), 2000);
    sleep(1000);
    //第一次启动相机发送文本可能要点我知道了 这一块第二次之后没有的话可以注释掉
    text("我知道了").visibleToUser().findOne(3333);
    if (text("我知道了").exists()) {
        toastLog("我知道了");
        let knowBounds = text("我知道了").findOnce().bounds();
        click(knowBounds.centerX(), knowBounds.centerY());
    }
    sleep(1000);
    //发朋友圈
    textContains("发表").visibleToUser().waitFor();
    if (textContains("发表").exists()) {
        toastLog("发表:" + 当前文本);
        setText(当前文本);
        sleep(2000);
        click("发表");
        sleep(2000);
        back();
        sleep(1000);
        idContains("f2s").visibleToUser().waitFor();
        sleep(2000);
        let postBounds = idContains("f2s").findOnce().bounds();
        click(postBounds.centerX(), postBounds.centerY());
        sleep(1000);
    }
}

setInterval(() => { }, 1000);

使用Auto.js发布朋友圈

现在,你已经编写了自动发布朋友圈的Auto.js脚本。接下来,让我们看看如何使用它。

  1. 打开Auto.js应用,并启用辅助功能。
  2. 运行你编写的脚本。你可以点击窗口中的“启动”按钮来启动脚本。
  3. 脚本会自动监视微信的操作,并在符合条件时自动发布朋友圈。

请注意,这个脚本是根据一些特定的条件来自动发布朋友圈的,你可以根据自己的需求来修改脚本中的关键词数组和条件。

总结

通过使用Auto.js,你可以编写自动发布微信朋友圈的脚本,以节省时间和精力。这个教程介绍了如何准备工作,编写脚本,以及如何使用它来自动发布朋友圈。希望这个教程对你有所帮助,让你更轻松地管理自己的微信朋友圈。

声明:本站所有文章,如无特殊说明或标注,均为本站(王大神)原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
开源教程

ChatGPT-wechat-bot项目教程:如何使用ChatGPT微信机器人打造智能聊天体验

2023-8-19 22:10:05

教程

Docker部署Jellyfin的教程

2023-8-19 23:25:55

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索