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,会回复图灵机器人的对话。也可以在群里面@扫码微信号的微信名 发送信息。

相关文章
|
1月前
|
JavaScript NoSQL Java
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
204 96
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
|
1月前
|
弹性计算 人工智能 应用服务中间件
一键部署开源DeepSeek并集成到企业微信
DeepSeek近期发布了两款先进AI模型V3和R1,分别适用于通用应用和推理任务。由于官方API流量过大,建议通过阿里云的计算巢进行私有化部署,以确保稳定使用。用户无需编写代码即可完成部署,并可通过AppFlow轻松集成到钉钉、企业微信等渠道。具体步骤包括选择适合的机器资源、配置安全组、创建企业微信应用及连接流,最后完成API接收消息配置和测试应用。整个过程简单快捷,帮助用户快速搭建专属AI服务。
一键部署开源DeepSeek并集成到企业微信
|
1月前
|
前端开发 JavaScript Java
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
151 13
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
|
1月前
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
190 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
1月前
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
462 12
|
1月前
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
237 5
|
2月前
|
SQL Java API
|
4月前
|
小程序 前端开发 算法
|
3天前
|
人工智能 自然语言处理 机器人
9.9K star!大模型原生即时通信机器人平台,这个开源项目让AI对话更智能!
"😎高稳定、🧩支持插件、🦄多模态 - 大模型原生即时通信机器人平台"
|
2月前
|
人工智能 机器人 API
AppFlow:无代码部署Dify作为钉钉智能机器人
本文介绍如何通过计算巢AppFlow完成Dify的无代码部署,并将其配置到钉钉中作为智能机器人使用。首先,在钉钉开放平台创建应用,获取Client ID和Client Secret。接着,创建消息卡片模板并授予应用发送权限。然后,使用AppFlow模板创建连接流,配置Dify鉴权凭证及钉钉连接凭证,完成连接流的发布。最后,在钉钉应用中配置机器人,发布应用版本,实现与Dify应用的对话功能。
AppFlow:无代码部署Dify作为钉钉智能机器人

热门文章

最新文章