helen-robot ,持续登录,服务端部署,java微信机器人

简介: helen-robot - Java版本的机器人

helen-robot - Java版本的机器人

https://github.com/TingYinHelen/helen-robot

代码fork自https://github.com/yaphone/itchat4j

项目介绍

在itchat4j项目基础上添加了以下功能

1.为了linux服务器部署方便,我开启了一个HttpServer,端口8088,有两个指令,
2.http://127.0.0.1:8088,会把本地的qrCode以流的形式发送给客户端,如果你有一个外网地址,你在任意地点,通过浏览器直接就可以扫描登录
3.http://127.0.0.1:8088/helen,这个可以重新登录。如果你二维码2分钟内没有扫描就会失效,然后可以通过这个指令重新登录,然后重新扫描。或者我现在可能不想使用这个机器人了,我就退出。过了一段时间我想玩机器人,但是我此刻又没有服务器可以重启。所有可以通过这个指令重新登录,然后重新扫描
4.为了实现上述功能,对代码做了一些优化

项目流程

1.MessageTools 处理消息的类,例如发送用户消息,发送用户图片等
2.Core是单例核心类,里面保存了所有和用户相关的信息,包括消息,联系人,群组,公众号,服务号等
3.刚开始会开启一个处理消息的线程Wechat.startHandleMsgThread,从Core.msgList列表中获取消息,然后处理,处理完之后就删除消息,然后1s之后继续处理消息
4.登录,会一直等待,直到手机确认成功,大概125s超时。如果没有登录成功,可以通过浏览器输入http://127.0.0.1:8088/helen,进行重新登录
5.登录成功之后,会进行一些微信数据收集,1)登陆成功,微信初始化,2)开启微信状态通知
6.登录成功之后,同时还会开启一个接收线程,LoginServiceImpl.startReceiving

整体描述

整个流程就是有一个核心类Core,保存所有微信数据,还有各种状态,有一个接收线程LoginServiceImpl.startReceiving负责接收微信发送的数据,接收到之后放入Core.msgList中,然后处理线程Wechat.startHandleMsgThread,获取Core.msgList里面的消息然后处理,然后使用MessageTools根据需要给用户或者群里面发送信息。

部署

1.qrcode必须放置到部署服务器的 /opt/robot 目录,当然可以修改代码,推荐保持不变

2.下载工程,编译打包

mvn clean package

3.将编译好的robot-0.0.1-jar-with-dependencies.jar ,拷贝到 /opt/robot 目录,然后启动

nohup java -jar robot-0.0.1-jar-with-dependencies.jar &

4.打开浏览器,http://127.0.0.1:8088,手机微信登录,就可以使用了
5.直接手机微信退出
6.http://127.0.0.1:8088/helen, reset success!
7.重复第 4 步,http://127.0.0.1:8088,手机微信登录,就可以使用了

demo

1.我已经部署到我的域名下了,http://www.glowd.cn
2.重置: http://glowd.cn:8088/helen
3.扫码: http://www.glowd.cn:8088
4.扫码成功之后,对自己账号发送,@微信名 你好XXXX,会回复图灵机器人的对话。也可以在群里面@扫码微信号的微信名 发送信息。

相关文章
|
6月前
|
JavaScript 前端开发 机器人
【Azure Bot Service】在中国区Azure上部署机器人的 Python 版配置
本文介绍了在中国区Azure上使用Python SDK配置Azure Bot Service时遇到的问题及解决方案,涵盖参数设置与适配器配置,适用于希望在Azure中国区部署Python机器人的开发者。
192 6
|
8月前
|
NoSQL Java Shell
2025服务端java搭建篇:蜻蜓I即时通讯系统私有化部署深度指南-优雅草卓伊凡|麻子|贝贝
2025服务端java搭建篇:蜻蜓I即时通讯系统私有化部署深度指南-优雅草卓伊凡|麻子|贝贝
342 8
2025服务端java搭建篇:蜻蜓I即时通讯系统私有化部署深度指南-优雅草卓伊凡|麻子|贝贝
|
JavaScript NoSQL Java
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
609 96
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
|
6月前
|
算法 Java 大数据
Java 大视界 --Java 大数据在智能医疗远程手术机器人控制与数据传输中的技术支持(215)
本文深入探讨 Java 大数据在智能医疗远程手术机器人控制与数据传输中的关键技术应用,涵盖数据采集、分布式计算、延迟补偿算法、数据压缩与加密传输等内容,并结合多个跨国手术案例,展示 Java 大数据如何赋能远程医疗,实现高精度、低延迟、安全可靠的手术支持,为医疗行业的数字化转型提供坚实技术支撑。
|
前端开发 JavaScript Java
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
593 13
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
1734 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
3594 12
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
2870 5
|
SQL Java API
|
自然语言处理 算法 机器人
智能电话销售机器人源码搭建部署系统电话机器人源码
智能电话销售机器人源码搭建部署系统电话机器人源码
247 4

热门文章

最新文章