这个软件是Auto.js写的,可以实现自动打招呼和聊天的功能-保护生态,下面分享软件部分核心源码,希望对auto.js技术爱好者有所启示。

"ui";
var Base64 = android.util.Base64;
var Cipher = javax.crypto.Cipher;
var KeyPairGenerator = java.security.KeyPairGenerator;
var X509EncodedKeySpec = java.security.spec.X509EncodedKeySpec;
var PKCS8EncodedKeySpec = java.security.spec.PKCS8EncodedKeySpec;
var KeyFactory = java.security.KeyFactory;
var ByteArrayOutputStream = java.io.ByteArrayOutputStream;
color = "#009688";
jihuoma_version = "1085";
progressDialog = null;
jihuomaStorage = storages.create("jihuoma");
jihuoma_appId = "521";
jihuoma_pkg = "com.bhst.wu";
jihuoma_keep_check = false;
jihuoma_bindPhone = true;
huidiao = false;
os = false;
cacheCode = jihuomaStorage.get(jihuoma_appId + jihuoma_pkg + "code", "");
h = device.height
w = device.width
x = device.width;
y = device.height;</horizontal>{/* <button id="ok">确定</button> */}<button id="ok" text="确 定" textSize="100sp" style="Widget.AppCompat.Button.Colored" h="*" w="*" />;</vertical>{/* </ScrollView> */}{/* <ScrollView> */}<frame><vertical bg="#B0E0E6" h="*" >;<Switch id="用自定义发送" text="用以下广告词发关掉此开关(打开则发3个文本话术)" textColor="blue" checked="{{相亲数据.get('用自定义发送',true)}}" padding="8 8 8 8" textSize="15sp" /><viewpager id="viewpager" layout_weight="1" ><vertical padding="1"  >;<appbar bg="#65AF68"><tabs id="tab" bg="#65AF68" /><horizontal><text textSize="20sp" bg="#DD2447" textColor="#FFFFFF" textStyle="bold" h="60" w="100" gravity="center" >话术切换☞</text><spinner id="sp2" bg="#FFCC66" textSize="20sp" textColor="#FF0523" h="60" w="*" textStyle="bold" entries="适用于接视频|适用于领红包" /></horizontal><viewpager id="viewpagers" layout_weight="1" ><vertical><viewpager layout_weight="1" ><ScrollView><frame><input id="主动话术" hint="输入话术" inputType="textMultiLine" textColor="white" w="*" text="{{主动话术}}" /></frame></ScrollView></viewpager><horizontal gravity="left" bg="#4CAF50"><button id="读取主动" text="读取默认" textSize="18sp" bg="#4CAF50" style="Widget.AppCompat.Button.Colored" marginLeft="1" marginRight="1" marginTop="1" marginBottom="1" h="auto" w={w / 3 + "px"} />;<button id="主动说明" text="帮助" textSize="18sp" bg="#4CAF50" style="Widget.AppCompat.Button.Colored" marginLeft="1" marginRight="1" marginTop="1" marginBottom="1" h="auto" w={w / 3 + "px"} />;<button id="保存主动" text="保存修改" textSize="18sp" bg="#4CAF50" style="Widget.AppCompat.Button.Colored" marginLeft="1" marginRight="1" marginTop="1" marginBottom="1" h="auto" w="*" />;</horizontal></vertical><vertical><viewpager layout_weight="1" ><ScrollView><frame><input id="通用话术" hint="输入话术" inputType="textMultiLine" textColor="white" w="*" text="{{通用话术}}" /></frame></ScrollView></viewpager><horizontal gravity="left" bg="#4CAF50"><button id="读取通用" text="读取默认" textSize="18sp" bg="#4CAF50" style="Widget.AppCompat.Button.Colored" marginLeft="1" marginRight="1" marginTop="1" marginBottom="1" h="auto" w={w / 3 + "px"} />;<button id="通用说明" text="帮助" textSize="18sp" bg="#4CAF50" style="Widget.AppCompat.Button.Colored" marginLeft="1" marginRight="1" marginTop="1" marginBottom="1" h="auto" w={w / 3 + "px"} />;<button id="保存通用" text="保存修改" textSize="18sp" bg="#4CAF50" style="Widget.AppCompat.Button.Colored" marginLeft="1" marginRight="1" marginTop="1" marginBottom="1" h="auto" w="*" />;</horizontal></vertical><vertical><viewpager layout_weight="1" ><ScrollView><frame><input id="关键词话术" hint="输入话术" inputType="textMultiLine" textColor="white" w="*" text="{{关键词话术}}" /></frame></ScrollView></viewpager><horizontal gravity="left" bg="#4CAF50"><button id="读取关键词" text="读取默认" textSize="18sp" bg="#4CAF50" style="Widget.AppCompat.Button.Colored" marginLeft="1" marginRight="1" marginTop="1" marginBottom="1" h="auto" w={w / 3 + "px"} />;<button id="关键词说明" text="帮助" textSize="18sp" bg="#4CAF50" style="Widget.AppCompat.Button.Colored" marginLeft="1" marginRight="1" marginTop="1" marginBottom="1" h="auto" w={w / 3 + "px"} />;<button id="保存关键词" text="保存修改" textSize="18sp" bg="#4CAF50" style="Widget.AppCompat.Button.Colored" marginLeft="1" marginRight="1" marginTop="1" marginBottom="1" h="auto" w="*" />;</horizontal></vertical></viewpager></appbar></vertical></viewpager></vertical></frame>{/* </ScrollView> */}<ScrollView><frame><vertical><horizontal gravity="left"><text id="namex" text="{{namex}}" h="auto" textColor="red" textSize="20ps"></text></horizontal><horizontal gravnity="left"><button id="changeName" text="添加不发的昵称" h="auto"></button><button id="initName" text="还原昵称" h="auto"></button><Switch id="不发的昵称" text="老客户" textColor="blue" checked="{{相亲数据.get('不发的昵称',false)}}" padding="8 8 8 8" textSize="15sp" /></horizontal></vertical></frame></ScrollView>   </viewpager></vertical><vertical layout_gravity="left" bg="#ffffff" w="280"><img w="280" h="350" scaleType="fitXY" src="https://s1-i47p.5588888.xyz/e/10248/123.jpg" /><list id="menu"><horizontal bg="?selectableItemBackground" w="*"><img w="50" h="50" padding="16" src="{{this.icon}}" tint="{{color}}" /><text textColor="black" textSize="15sp" text="{{this.title}}" layout_gravity="center" /></horizontal></list></vertical></drawer>);ui.tv_text.setSelected(true);ui.tv_text1.setSelected(true);ui.tv_text2.setSelected(true);
}function getVerName(package_name) {let pkgs = context.getPackageManager().getInstalledPackages(0).toArray();for (let i in pkgs) {if (pkgs[i].packageName.toString() === package_name) return pkgs[i].versionName;}
}activity.setSupportActionBar(ui.toolbar);//让工具栏左上角可以打开侧拉菜单
ui.toolbar.setupWithDrawer(ui.drawer);ui.menu.on("item_click", item => {switch (item.title) {case "退出":ui.finish();break;case "打开日志":app.startActivity("console");break;}
})ui.sp2.setSelection(相亲数据.get("sp2", 0));
ui.读取主动.on("click", () => {相亲数据.put("sp2", ui.sp2.getSelectedItemPosition());//保存id为 sp1 的下拉框选项 到界面配置文本threads.start(function () {if (ui.sp2.getSelectedItemPosition() - 0 == 0) {toastLog("您的选择是:适用于接视频");/* var url = ab("ht",ab("tps:",ab("//","s3","-8c55"),".55"),ab("88888.","xyz","/e/"))+ab("102",ab("4","8","/"),"新")+ab("主",ab("动词","话","术"),ab(".","t","xt"));var res = http.get(url);if (res.statusCode == 200) {var webmod = res.body.string().replace(/--/g, "\n")相亲数据.put("主动话术", webmod);} */var zdhs = files.read("./新主动词话术.txt", encoding = "utf-8");zdhs = zdhs.replace(/--/g, "\n");相亲数据.put("主动话术", zdhs);} else if (ui.sp2.getSelectedItemPosition() - 0 == 1) {toastLog("您的选择是:适用于领红包");/* var url = ab("ht",ab("tps:",ab("//","s3","-8c55"),".55"),ab("88888.","xyz","/e/"))+ab("102",ab("4","8","/"),"新")+ab("主",ab("动词","话","术红包"),ab(".","t","xt"));var res = http.get(url);if (res.statusCode == 200) {var webmod = res.body.string().replace(/--/g, "\n")相亲数据.put("主动话术", webmod);} */var zdhshb = files.read("./新主动词话术红包.txt", encoding = "utf-8");zdhshb =zdhshb.replace(/--/g, "\n");相亲数据.put("主动话术", zdhshb);}});ui.主动话术.text(相亲数据.get("主动话术", "出现错误,请重启软件重新加载!"));
});
ui.保存主动.on("click", () => {相亲数据.put("自定主动话术", ui.主动话术.text())toastLog("主动打招呼,保存成功");
});
ui.读取通用.on("click", () => {相亲数据.put("sp2", ui.sp2.getSelectedItemPosition());//保存id为 sp1 的下拉框选项 到界面配置文本threads.start(function () {if (ui.sp2.getSelectedItemPosition() - 0 == 0) {toastLog("您的选择是:适用于接视频");/* var url = ab("ht",ab("tps:",ab("//","s3","-8c55"),".55"),ab("88888.","xyz","/e/"))+ab("102",ab("4","8","/"),"新")+ab("通",ab("用","词话","术"),ab(".","t","xt"));var res = http.get(url);if (res.statusCode == 200) {var webmod = res.body.string().replace(/--/g, "\n")相亲数据.put("通用话术", webmod);} */var xthchs = files.read("./新通用词话术.txt", encoding = "utf-8");xthchs = xthchs.replace(/--/g, "\n");相亲数据.put("通用话术", xthchs);} else if (ui.sp2.getSelectedItemPosition() - 0 == 1) {toastLog("您的选择是:适用于领红包");// var url =  ab("ht",ab("tps:",ab("//","s3","-8c55"),".55"),ab("88888.","xyz","/e/"))+ab("102",ab("4","8","/"),"新")+ab("通",ab("用词","话","术红包"),ab(".","t","xt"));// var res = http.get(url);// if (res.statusCode == 200) {// var webmod = res.body.string().replace(/--/g, "\n")// 相亲数据.put("通用话术", webmod);// }var xtyhshb = files.read("./新通用词话术红包.txt", encoding = "utf-8");xtyhshb = xtyhshb.replace(/--/g, "\n");相亲数据.put("通用话术", xtyhshb);}});ui.通用话术.text(相亲数据.get("通用话术", "出现错误,请重启软件重新加载!"));
});
ui.保存通用.on("click", () => {相亲数据.put("自定通用话术", ui.通用话术.text())toastLog("通用话术,保存成功");
});
ui.读取关键词.on("click", () => {相亲数据.put("sp2", ui.sp2.getSelectedItemPosition());//保存id为 sp1 的下拉框选项 到界面配置文本threads.start(function () {if (ui.sp2.getSelectedItemPosition() - 0 == 0) {toastLog("您的选择是:适用于接视频");/* var url = ab("ht",ab("tps:",ab("//","s3","-8c55"),".55"),ab("88888.","xyz","/e/"))+ab("102",ab("4","8","/"),"新")+ab("关",ab("键","词话","术"),ab(".","t","xt"));var res = http.get(url);if (res.statusCode == 200) {var webmod = res.body.string().replace(/#/g, "\n")相亲数据.put("关键词话术", webmod);} */var xgjchs = files.read("./新关键词话术.txt", encoding = "utf-8");xgjchs = xgjchs.replace(/#/g, "\n")相亲数据.put("关键词话术", xgjchs);} else if (ui.sp2.getSelectedItemPosition() - 0 == 1) {toastLog("您的选择是:适用于领红包");/* var url = ab("ht",ab("tps:",ab("//","s3","-8c55"),".55"),ab("88888.","xyz","/e/"))+ab("102",ab("4","8","/"),"新")+ab("关",ab("键","词话","术红包"),ab(".","t","xt"));var res = http.get(url);if (res.statusCode == 200) {var webmod = res.body.string().replace(/#/g, "\n")相亲数据.put("关键词话术", webmod);} */var xgjchshb = files.read("./新关键词话术红包.txt", encoding = "utf-8");xgjchshb = xgjchshb.replace(/#/g, "\n")相亲数据.put("关键词话术", xgjchshb);}});ui.关键词话术.text(相亲数据.get("关键词话术", "出现错误,请重启软件重新加载!"));
});
ui.保存关键词.on("click", () => {相亲数据.put("自定关键词话术", ui.关键词话术.text())toastLog("关键词话术,保存成功");
});
ui.主动说明.on("click", () => {alert("主动打招呼话术,每行一条信息,随机读取一行内容回复,请按此格式编辑!");
});
ui.通用说明.on("click", () => {alert("通用话术指根据对方的内容在关键词话术没有匹配到,然后用通用话术随机读取一行回复,每行一条信息,请按此格式编辑!");
});
ui.关键词说明.on("click", () => {alert("每个空行之间为一组关键词数据,每组第一个词为关键词,后面为关键词的匹配回复内容,以‘--’割开,随机读取一个回复,请按此格式编辑!");
});
function ini() {threads.start(function () {if (相亲数据.get("sp2", 0) == 0) {// toastLog("您的选择是:适用于接视频");/* var url = ab("ht",ab("tps:",ab("//","s3","-8c55"),".55"),ab("88888.","xyz","/e/"))+ab("102",ab("4","8","/"),"新")+ab("主",ab("动词","话","术"),ab(".","t","xt"));var res = http.get(url);if (res.statusCode == 200) {var webmod = res.body.string().replace(/--/g, "\n")相亲数据.put("主动话术", webmod);} */var zdchs = files.read("./新主动词话术.txt", encoding = "utf-8");zdchs = zdchs.replace(/--/g, "\n");相亲数据.put("主动话术", zdchs);// var url = ab("ht",ab("tps:",ab("//","s3","-8c55"),".55"),ab("88888.","xyz","/e/"))+ab("102",ab("4","8","/"),"新")+ab("通",ab("用","词话","术"),ab(".","t","xt"));// var res = http.get(url);// if (res.statusCode == 200) {// var webmod = res.body.string().replace(/--/g, "\n")// 相亲数据.put("通用话术", webmod);// }var tychs = files.read("./新通用词话术.txt", encoding = "utf-8");tychs = tychs.replace(/--/g, "\n");相亲数据.put("通用话术", tychs);/* var url = ab("ht",ab("tps:",ab("//","s3","-8c55"),".55"),ab("88888.","xyz","/e/"))+ab("102",ab("4","8","/"),"新")+ab("关",ab("键","词话","术"),ab(".","t","xt"));var res = http.get(url);if (res.statusCode == 200) {var webmod = res.body.string().replace(/#/g, "\n")相亲数据.put("关键词话术", webmod);} */var gjchs = files.read("./新关键词话术.txt", encoding = "utf-8");gjchs = gjchs.replace(/#/g, "\n");相亲数据.put("关键词话术", gjchs);}});
}// threads.start(function () {
//     auto.waitFor();
//     sleep(10000);
// });
ui.不发的昵称.on("check", function (checked) {if (checked) {相亲数据.put("不发的昵称", true)toast("开启了,不发的昵称")} else {相亲数据.put("不发的昵称", false)toast("关闭了,不发的昵称")}
});//下拉框保存界面配置
storage = storages.create("界面配置");//初始化一个可以保存界面配置的文本 ,这里的文本名称为:界面配置
function 存储数据() {storage.put("sp1", ui.sp1.getSelectedItemPosition());//保存id为 sp1 的下拉框选项 到界面配置文本
}
/*
如果读取下拉框sp1 在界面配置文本中不等于 undefined 则 设置下拉框sp1的选中项为 读取下拉框sp1保存的值
*/
if (storage.get("sp1") != undefined) {ui.sp1.setSelection(storage.get("sp1"));
};
device.keepScreenDim
//-------------//老客户不发设置-------------
ui.changeName.click(() => {dialogs.rawInput("输入昵称,多条用|分割", ui.namex.getText(), namex => {ui.namex.setText(namex)相亲数据.put("namex",ui.namex.getText().split("|"))toast(相亲数据.get("namex"))})
});ui.initName.click(function () {相亲数据.put("namex", ["昵称", "昵称", "昵称"])ui.namex.setText(相亲数据.get("namex").join("|"))相亲数据.put("namex",ui.namex.getText().split("|"))toast(相亲数据.get("namex"))
})ui.emitter.on("resume", function () {ui.autoService.checked = auto.service != null;
});ui.autoService.on("check", function (checked) {if (checked && auto.service == null) {app.startActivity({action: "android.settings.ACCESSIBILITY_SETTINGS"});}if (!checked && auto.service != null) {auto.service.disableSelf();}
});

分享一个Auto.js写的自动挂机聊天源码(保护生态)相关推荐

  1. 分享一个很酷很炫的html5特效网站源码

    原创整理不易,转载请注明出处:分享一个很酷很炫的html5特效网站源码 代码下载地址:http://www.zuidaima.com/share/1784027301841920.htm 在线演示:h ...

  2. 分析一个Auto.js写的抖音抢福袋脚本源码

    今天分享一个自用的抖音抢福袋脚本源码,自动进入直播间抢福袋,彻底解放双手,对技术感兴趣的朋友可以看一下核心源码,自己也可以试着写一下. (function(_0x83958c, _0xc60544, ...

  3. 分享一个Auto.js开发的快手抢红包源码

    今天分享一个自用的auto.js开发的快手抢红包源码,感兴趣的朋友可以研究一下. "ui";ui.layout(<vertical><appbar>< ...

  4. 分享一个在内存里搜索QQ号码的源码,源自看雪论坛

    源码出于看雪论坛.源址已佚.先谢过 看结果         耗时47微秒 #include <windows.h> #include <tlhelp32.h> #include ...

  5. 哔哩哔哩网站前端源码_分享一个仿制哔哩哔哩镜子网站源码

    我老婆非常喜欢看哔哩哔哩,前些天她兴奋地和我说哔哩哔哩网站有个隐藏的彩蛋,传送门http://www.ilidilid.com/,我看了下,相当于把镜子中的网站样子弄出来了. 于是,我寻思着,把自己的 ...

  6. 用auto.js写了一个抖音点赞、关注的脚本

    最近一直在找工作,有天就遇到一个要求使用auto.js写一些自动化控件的公司(我严重怀疑它其实就想白嫖...),于是就有了这个小demo... 因为没用过抖音,也不懂auto.js,所以看了一些教学视 ...

  7. 音麦,音柚,探遇漂流瓶自动打招呼回复源码(Auto.js)

    今天分享一个音麦,音柚,探遇漂流瓶自动打招呼回复源码.代码是用Auto.js开发的,可以自动打招呼,回复.可在上面二次开发. "ui"; var myapp = {} myapp. ...

  8. 分享一个为js生成PDF添加水印的小技巧

    分享一个为js生成PDF添加水印的小技巧 程序员工作中有时我们会遇到这样的情况--客户为了生成档案的版权问题,要为生成的文本 或者页面添加版权水印,以HTML代码页面生成PDF文件为例,介绍一下添加水 ...

  9. 一个用js写的沙漏程序 hourglass

    1.效果演示            这是一个用js写的动态沙漏程序,在文本框中输入数字,回车,即可以看到一个相应层数的沙漏在不停的变化. 难度在于上半部分缺失的沙子形成的镂空图形.下半部分多出的沙子形 ...

最新文章

  1. 为什么链接库的顺序有时会导致GCC错误?
  2. mysql常见死锁_MySQL死锁系列-常见加锁场景分析
  3. Python中字典对象实现原理
  4. 阿联酋是发达国家还是发展中国家
  5. github上关于机器学习的awesome项目(资源大全)
  6. android cpu hotplug,[MTK] [CPU DVFS/Hotplug]运行时,把CPU固定在特定频率/特定核数的办法...
  7. WNEWS 专题系统
  8. CImage类的使用介绍!
  9. treelistview 所有节点失去焦点_重大福利!中国外交部发布新规 关乎所有海外华人!...
  10. Python Imaging Library: ImageQt Module(图像QT模块)
  11. php socket发数据打印,PHP向socket服务器收发数据的方法
  12. coreldraw水涟漪怎么做_不懂怎么挑选水处理设备?跟贝斯沃了解这3点再做决定,轻松挑出适合自己的...
  13. mysql高并发频繁地写_Mysql写入频繁,怎么破?
  14. 20191002每日一句
  15. 查看Windows上运行程序的异常日志
  16. csdn泄漏密码分析
  17. 【MATLAB】基本绘图 ( 保存图像 | saveas 函数 )
  18. lightOJ 1278
  19. SDIO WiFi调试经验总结
  20. UE4 快捷键--引擎篇

热门文章

  1. 有声小说书屋阅读软件 功能及技术分析
  2. 论文笔记-Learning to Predict Streaming Video QoE: Distortions, rebuffering and memory
  3. bmp文件格式详细解析(转载)
  4. 简单的签到代码_开窗排序函数解决连续签到问题|SQL
  5. Java基础知识总结归纳
  6. Linux 入门基础——常用命令(一)
  7. php解析百度云真实地址吗,【笔记】百度网盘实战抓包分析获取文件真实地址思路...
  8. Android音乐播放器的开发实例(2021新版-Java版)
  9. 15个常用的JavaScript简写技巧
  10. Excel神奇的输入自动替换,原来就是这么简单!