这两天看网上有人写了个微信机器人,感觉挺有趣的,查了下网上资料的思路,大都都是用的网页版微信。

我用了一个小号微信去登陆网页版,发现既然登不了,必须使用我的老号才能登陆,网上还有人说以后腾讯要关掉网页版微信。

那么不用网页版不行吗,行的,方法应该有很多,我这里直接用了以前做的微信抢红包思路实现。

先上图:

原理其实很简单,就是利用android的accessibilityService来实现的。

关键代码:

switch (eventType) {case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED: // 通知栏事件if (PhoneController.isLockScreen(this)) { // 锁屏PhoneController.wakeAndUnlockScreen(this);   // 唤醒点亮屏幕}openAppByNotification(event);hasNotify = true;break;default:String answer = "";if (hasNotify) {/*try {Thread.sleep(1000); // 停1秒, 否则在微信主界面没进入聊天界面就执行了fillInputBar} catch (InterruptedException e) {e.printStackTrace();}*/System.out.println("收到新消息:" + substring);try {String replay=readFileData("test.txt");URL url = new URL("http://mzmzx.com/robot.php?question="+replay);HttpURLConnection urlcon = (HttpURLConnection) url.openConnection();urlcon.connect();         //获取连接InputStream is = urlcon.getInputStream();BufferedReader buffer = new BufferedReader(new InputStreamReader(is));StringBuffer bs = new StringBuffer();String l = null;while ((l = buffer.readLine()) != null) {bs.append(l).append("");}String json = bs.toString();//String json="{ \"ret\": 0, \"msg\": \"ok\", \"data\": { \"session\": \"10000\", \"answer\": \"我猜你是想看美女了吧!你可以对我说:\\\"找几张美女的图片。\\\"\" } }";System.out.println(json);Gson gson = new Gson();JsonRootBean jsonRootBean = gson.fromJson(json, JsonRootBean.class);answer = jsonRootBean.getData().getAnswer();System.out.println("回复消息:" + answer);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if (fillInputBar(answer)) {findAndPerformAction(UI.BUTTON, "发送");/*handler.postDelayed(new Runnable() {@Overridepublic void run() {performGlobalAction(AccessibilityService.GLOBAL_ACTION_BACK);   // 返回}}, 1500);*/Intent homeIntent = new Intent(Intent.ACTION_MAIN);homeIntent.addCategory(Intent.CATEGORY_HOME);homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(homeIntent);}hasNotify = false;}break;}

这个accessibilityServie服务是给残疾人士使用的,为了他们也能够方便的使用手机,我们就可以利用这个来实现微信自动发送,然后再注册一个腾讯AI闲聊接口。

大致流程,机器人收到消息,提取出消息文字到我的程序里面,我的程序再拿到这个消息发送给腾讯ai,腾讯ai返回回复消息给我的程序,我的程序再把这个消息通过机器人微信发送给我。

也许缺乏耐烦心的朋友可能会觉得比较绕。我直接把代码打包发网上吧,需要的朋友可以下载下来研究研究。

链接:https://pan.baidu.com/s/1-UIBmcCKRae152gVZz_cOQ
提取码:v58l

我的v: lb87626

用android写的微信闲聊机器人相关推荐

  1. 用wxpy做一个微信聊天机器人(详解)

    用python写一个微信聊天机器人可以利用python中的wxpy库或者itchat模块,我在网上看到好多都是使用的itchat,但是我这里使用的是wxpy库,wxpy 在 itchat 的基础上,通 ...

  2. 自己动手用Android和Xposed编写一个微信聊天机器人——《微信聊天精灵》实现关键词自动回复。

    出于爱好和需要,想着自己来编写一个微信聊天机器人,能实现以下功能: 能实时获取到微信聊天消息: 能进行文本自动回复: 能够设置关键词: 能够根据关键词匹配,进行内容回复: 能实现聊天消息云端备份: 已 ...

  3. 如何用 30 行代码实现微信自动回复机器人?

    作者 | Ahab 责编 | 胡巍巍 写在前面 很多朋友对itchat非常感兴趣,近日又学到了itchat另一种有趣的玩法--微信自动回复机器人. 程序很简单仅仅三十行代码左右,实现了机器人自动与你的 ...

  4. Python30行代码实现微信聊天机器人(基于WXPY+百度理解与交互技术UNIT)

    引言: 前几天看到新闻说一个程序员开发了微信聊天机器人陪女朋友聊天,感觉有兴趣,之前听说过WXPY,由于本人Python真的很菜,一直没有动手,受新闻启发开发了一个简单的基于Python微信机器人.有 ...

  5. delphi 企业微信消息机器人_简单用VBS调用企业微信机器人发定时消息的方法

    去年在企业微信群当中突然看到多了一个叫多群机器人的东西: 企业微信群机器人 以为是升级了什么黑科技,看了下说明,原来目前功能是一个接收自定义消息的Webhook接口,可以通过调用接口把自定义消息推送到 ...

  6. Android之集成微信登录

    转载请标明出处:  http://blog.csdn.net/hai_qing_xu_kong/article/details/44041241 本文出自:[顾林海的博客] 前言 这篇微信登录的文章是 ...

  7. android小程序源代码_我从 Android 转到微信小程序的思考

    大家好,好久不见,我是陈宇明,公众号「码个蛋」主理人. 由于最近工作比较忙,这两年来很少和大家分享自己的收获,期间大部分都是由「码个蛋」运营小组打理. 上个月我参加了腾讯官方举办的<小程序云开发 ...

  8. python 企业微信群机器人_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...

    在企业经营过程中,及时了解行业相关信息(市场动态.竞品策略.行业数据等等)是非常必要的.通常情况下,商品部门.营销部门.市场部门可能都会安排专门的人员定期进行这些信息的搜集.整理,再进行内部的分享. ...

  9. div区域内容抓取_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...

    在企业经营过程中,及时了解行业相关信息(市场动态.竞品策略.行业数据等等)是非常必要的.通常情况下,商品部门.营销部门.市场部门可能都会安排专门的人员定期进行这些信息的搜集.整理,再进行内部的分享. ...

最新文章

  1. hdu 2665(主席树查询区间k大值)
  2. Mysql-Proxy自定义守护进程
  3. Readiness 探测 - 每天5分钟玩转 Docker 容器技术(144)
  4. k8s挂载目录_拥抱云原生,如何将开源项目用k8s部署?
  5. FreeEIM 来点新知识iOS UIScrollView详解
  6. SpringBoot2.0.3 + SpringSecurity5.0.6 + vue 前后端分离认证授权
  7. 语法分析程序的设计与实现_编译工程7:语法分析(5)
  8. web.py+xheditor+ ajaxfileupload+新浪sae图片上传
  9. Java字符串replaceAll()方法
  10. postgres初始化数据库
  11. 移动通信原理学习笔记之二—— 移动通信中的调制解调技术
  12. 蓝桥杯 Java B组省赛真题【2017】
  13. InfluxDB中Line Protocol理解
  14. 计算机科学科普(一):什么是计算机
  15. 英语语法基础03(长难句)
  16. 呼叫中心外呼系统与双呼系统对比
  17. leetcode之字母异位词分组
  18. python换脸开源_Python实现AI换脸功能
  19. 【VBS】vbs鼠标方法——模拟鼠标按键
  20. python 元组拆包_Python元组拆包和具名元组解析实例详解

热门文章

  1. [Win32]鼠标的基本概念以及击中测试
  2. word导入excel html,怎么在word中导入excel文件
  3. 云服务器 宿主机,腾讯云专用宿主机CDH-独享云主机 独享物理服务器
  4. 一名合格的拼多多运营需要具备哪些技能?
  5. 国内外电子合同运用的差异
  6. C# AD域账号登录验证,获取域用户信息
  7. 将下列表格转换为HTML代码,HTML table表格转换为Markdown table表格
  8. 学习笔记-Speed-Linux
  9. 职场必知的十条“钻石”心态
  10. 图书管理系统设计类图