首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >小红书私信关注脚本,可检测消息自动回复,工具可实现批量效果【仅供学习参考使用】

小红书私信关注脚本,可检测消息自动回复,工具可实现批量效果【仅供学习参考使用】

原创
作者头像
用户11696336
发布2025-06-11 13:15:29
发布2025-06-11 13:15:29
1.3K0
举报
文章被收录于专栏:源码分享源码分享

文件已上传:https://www.pan38.com/share.php?code=qCRkv 提取码:8899

声明:仅供学习参考使用!

代码说明:

  1. 实现消息检测、关键词匹配和自动回复完整流程
  2. 包含防封策略:随机操作间隔和自然点击模拟
  3. 需要AutoJS 4.1+版本支持
代码语言:txt
复制

// 基础配置
const KEYWORDS = ["合作", "咨询", "你好"]; // 触发回复关键词
const REPLY_MSG = "您好,正在使用自动回复功能,请留言具体需求~";
const SCAN_INTERVAL = 5000; // 检测间隔(ms)

// 主循环
auto();
while(true) {
    if(!launchApp("小红书")) {
        toast("请先安装小红书APP");
        break;
    }
    sleep(3000);
    
    // 检测新消息
    checkNewMessage();
    sleep(SCAN_INTERVAL);
}

// 消息检测函数
function checkNewMessage() {
    let msgIcon = desc("消息").findOne(2000);
    if(msgIcon) {
        click(msgIcon.bounds().centerX(), msgIcon.bounds().centerY());
        sleep(2000);
        
        // 遍历会话列表
        let chats = className("android.widget.ListView").findOne();
        if(chats) {
            let items = chats.children();
            for(let i=0; i<items.length; i++) {
                processChat(items[i]);
            }
        }
        back();
    }
}

// 处理单条会话
function processChat(item) {
    click(item.bounds().centerX(), item.bounds().centerY());
    sleep(1500);
    
    // 检测未读红点
    let unread = className("android.widget.TextView").text("1").findOne(1000);
    if(unread) {
        // 获取最新消息内容
        let lastMsg = className("android.widget.TextView")
            .depth(10)
            .findOne(1000);
        
        if(lastMsg && containsKeyword(lastMsg.text())) {
            autoReply();
        }
    }
    back();
}

// 关键词检测
function containsKeyword(text) {
    return KEYWORDS.some(kw => text.includes(kw));
}

// 自动回复
function autoReply() {
    let input = className("android.widget.EditText").findOne(1000);
    if(input) {
        setText(input, REPLY_MSG);
        sleep(500);
        press("enter");
    }
}

无障碍检测部分:

代码语言:txt
复制

// 检测无障碍服务是否开启
function checkAccessibility() {
    try {
        auto(); // 尝试获取无障碍控制权
        return true;
    } catch (e) {
        return false;
    }
}

// 跳转无障碍设置页
function openAccessibilitySetting() {
    let intent = new Intent();
    intent.setAction("android.settings.ACCESSIBILITY_SETTINGS");
    app.startActivity(intent);
}

// 主检测流程
function main() {
    if(!checkAccessibility()) {
        toast("请先开启无障碍服务");
        openAccessibilitySetting();
        // 循环检测直到服务开启
        while(!checkAccessibility()) {
            sleep(2000);
        }
        toast("无障碍服务已开启");
    }
    // 执行后续脚本...
}

// 带超时检测的增强版
function checkAccessibilityWithTimeout(timeout) {
    let start = new Date().getTime();
    while(new Date().getTime() - start < timeout) {
        if(checkAccessibility()) return true;
        sleep(500);
    }
    return false;
}

自动回复部分模块:

代码语言:txt
复制
();
device.wakeUpIfNeeded();

// 配置参数
const KEYWORDS = ["验证码", "快递"];
const REPLY_MSG = "短信已收到,请稍候";

while(true) {
    let smsApp = packageName("com.android.mms").findOne();
    if(smsApp) {
        let newMsg = textMatches(/新消息|未读/).findOne(2000);
        if(newMsg) {
            let content = newMsg.parent().findOne(className("TextView"));
            if(content && KEYWORDS.some(kw => content.text().includes(kw))) {
                click(content.bounds().centerX(), content.bounds().centerY());
                sleep(1000);
                let input = className("EditText").findOne();
                setText(input, REPLY_MSG);
                sleep(500);
                click(text("发送").findOne().bounds().centerX(), 
                      text("发送").findOne().bounds().centerY());
            }
        }
    }
    sleep(3000);
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档