{"id":17543590,"url":"https://github.com/wesleyone/wxwobot","last_synced_at":"2026-02-12T07:04:38.884Z","repository":{"id":114314415,"uuid":"174333454","full_name":"WesleyOne/wxwobot","owner":"WesleyOne","description":"wxwobot - 微信多开运营自助工具(停止维护)","archived":false,"fork":false,"pushed_at":"2019-03-11T14:11:31.000Z","size":2869,"stargazers_count":19,"open_issues_count":0,"forks_count":17,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-24T00:01:54.409Z","etag":null,"topics":["itchat","itchat4j","jfinal","robot","wechat","weixin"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WesleyOne.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-07T11:42:41.000Z","updated_at":"2024-06-02T14:22:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"36b818c5-984e-4f65-a820-ebf892bce914","html_url":"https://github.com/WesleyOne/wxwobot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/WesleyOne/wxwobot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WesleyOne%2Fwxwobot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WesleyOne%2Fwxwobot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WesleyOne%2Fwxwobot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WesleyOne%2Fwxwobot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WesleyOne","download_url":"https://codeload.github.com/WesleyOne/wxwobot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WesleyOne%2Fwxwobot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274088635,"owners_count":25220261,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["itchat","itchat4j","jfinal","robot","wechat","weixin"],"created_at":"2024-10-21T00:24:56.137Z","updated_at":"2026-02-12T07:04:33.851Z","avatar_url":"https://github.com/WesleyOne.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"### \u003ca href=\"https://gitee.com/wesleyOne/wxwobot\"\u003ewxwobot 某信运营自助工具\u003c/a\u003e\r\n[![star](https://gitee.com/wesleyOne/wxwobot/badge/star.svg?theme=dark)](https://gitee.com/wesleyOne/wxwobot/stargazers)\r\n[![fork](https://gitee.com/wesleyOne/wxwobot/badge/fork.svg?theme=dark)](https://gitee.com/wesleyOne/wxwobot/members)\r\n\r\n#### 项目介绍\r\n- 项目简介：模拟某信WEB端接口的自助机器人\r\n- 基于\u003ca href=\"https://github.com/yaphone/itchat4j\"\u003eitchat4j开源项目\u003c/a\u003e开发\r\n- 支持多开/热登录/远程操作等特点\r\n\r\n#### 项目特点\r\n- 支持多账号\r\n- 重启项目热登录\r\n- 消息统一使用队列，间隔时间发送，减少被封几率\r\n- 其他业务访问本项目的对外接口，可实现消息转发到某信\r\n- 自动回复（默认效果是全匹配关键字回复和进群欢迎语）\r\n- jfinal-undertow开发部署的种种优势\r\n- 扩展方便，有开发能力可自行实现消息的处理\r\n\r\n#### 项目缺点\r\n- WEB端接口有限，功能有些鸡肋，传说WEB端即将关闭\r\n- 没有合适的用户(群)唯一识别码，本项目使用用户(群)昵称作为标识，存在隐患\r\n- 代码不够优美，性能有待提高\r\n\r\n#### 项目组成\r\n- 后台：JFinal3.5 + undertow + mysql + 常用工具包 + JDK1.8+ + maven3.5+\r\n- 前端：Bootstrap3+及相关插件\r\n\r\n#### 线上DEMO\r\n[点击跳转=\u003e\u003e在线DEMO 账号密码都是wxwobot](https://wxwobot.51guagua.top)\r\n- 由于是公开的线上项目，注意下自己的账号安全\r\n- 那台服务器配置低，麻烦不要做压测\r\n\r\n\r\n**体验流程**\r\n\r\n![创建登录机器人](https://images.gitee.com/uploads/images/2019/0114/000301_65359f3b_1581722.gif \"new (1).gif\")\r\n\r\n**创建登录机器人**：机器人管理-\u003e添加机器人-\u003e搜索刚添加的机器人-\u003e点击【已下线-登录】-\u003e扫码登录\r\n\u003e 登录完成后，在手机客户端里将目标群聊添加到**通讯录**，然后点击【刷新群列表】，通过【查看群列表】验证\r\n\r\n![登录后按钮](https://images.gitee.com/uploads/images/2019/0114/000634_89eb2d75_1581722.png \"all.png\")\r\n\r\n**测试发送消息**：机器人管理-\u003e点击相应机器人的【测试发送】-\u003e选择目标微信昵称，选择发送类型，文本/文件/图片\r\n\u003e 图片文件提交前要先点下上传按钮\r\n\r\n![测试发送](https://images.gitee.com/uploads/images/2019/0114/001937_1afd0c4d_1581722.png \"ceshifasong.png\")\r\n\r\n**关键字回复**:机器人管理-\u003e点击相应机器人的【新增关键字】-\u003e 可以设置普通关键字或新人进群欢迎词类型，可以目标某个群(好友)或者默认所有群（好友），可以设置回复文本/图片/文件；\r\n\u003e 图片文件提交前要先点下上传按钮\r\n\r\n![新增关键字](https://images.gitee.com/uploads/images/2019/0114/000816_81da763e_1581722.png \"keyword.png\")\r\n\r\n**外接配置**：机器人管理-\u003e点击相应机器人的【新增外接配置】-\u003e 选择外接发送消息的目标，业务层的IP白名单-\u003e提交后点击顶部栏目【对外接口配置】，找到刚才的配置获取**外接唯一码**，点击启用\r\n\u003e 外接和测试发送的区别在于**外接可以解耦合**，可以由外部访问接口形式转发消息，本项目只做独立中台，不涉及业务\r\n\r\n![外接配置](https://images.gitee.com/uploads/images/2019/0114/001510_caa748a6_1581722.png \"weijiejiekou.png\")\r\n\r\n```\r\n    调用接口io.wxwobot.admin.web.controller.ExtendController\r\n    /**\r\n     * 对外通用规则发消息\r\n     * url: /ext/sendMsg\r\n     * 请求类型: Post\r\n     * 参数:\r\n     * ok      外接唯一码\r\n     * msg     消息列表\r\n     *         类型参考 @see     io.wxwobot.admin.itchat4j.utils.enums.SendMsgType\r\n     *          TEXT     文本消息串\r\n     *          IMG      图片名串（需要后台-通用工具-上传获取）\r\n     *          FILE     文件名串（需要后台-通用工具-上传获取）\r\n     *  例子:\r\n     *  {\"ok\":\"test123\",\r\n     *   \"msg\":[\r\n     *       {\"type\":\"TEXT\",\"body\":\"我是消息体\"},\r\n     *       {\"type\":\"IMG\",\"body\":\"ty6yLk3X_1545142908614.jpg\"},\r\n     *       {\"type\":\"FILE\",\"body\":\"ty6yLk3X_1545142537914.txt\"},\r\n     *   ]\r\n     *  }\r\n     *\r\n     *  说明:\r\n     *      发送顺序按照列表顺序从前往后发\r\n     *\r\n     * 返回:\r\n     * 00   成功\r\n     * 01   外接码不存在\r\n     * 02   外接码失效\r\n     * 03   IP未通过审核\r\n     *\r\n     */\r\n    public void sendMsg();\r\n```\r\n\r\n#### 开发部署\r\n\r\n**准备**\r\n- 使用 wxwobot.sql 中的 sql 语句创建数据库与数据库表\r\n- 修改 pom.xml 文件，填入正确的数据库连接用户名、密码\r\n- 请确保安装了 JavaSE 1.8 或更高版本\r\n\r\n**本地开发** \r\n1. 将项目导入开发工具，推荐使用IDEA\r\n2. 打开 io.wxwobot.admin.web.common.MyConfig 文件，运行\r\n3. 打开浏览器输入  localhost:8180 即可查看运行效果,默认账号密码均为 wxwobot，开发模式无需登录\r\n\r\n**生产部署**\r\n1. 修改pom.xml中uat配置，填入生产的数据库连接用户名、密码\r\n2. 命令行进入项目根目录，然后运行 mvn install -P uat 即可打包\r\n3. 打包完后，将 io.wxwobot.admin/target下的wxwobot-release.zip或wxwobot-release.tar.gz发送到云服务器上\r\n4. 登入云服务器找到压缩包并解压\r\n5. linux 下运行 start.sh 脚本启动项目,stop.sh 关闭项目;windows 下双击 start.bat 启动项目;\r\n6. 访问云服务器的公网IP(或域名):8180，查看效果\r\n(是的，不需要布置tomcat之类的服务器)\r\n\r\n**常见问题**\r\n\r\n[开发部署常见问题](https://www.jfinal.com/doc/1-5)\r\n\r\n#### 鸣谢\r\n\u003cul\u003e\r\n    \u003cli\u003e\u003ca href=\"https://www.jfinal.com/\"\u003eJFinal极速开发社区\u003c/a\u003e\u003c/li\u003e\r\n    \u003cli\u003e\u003ca href=\"https://github.com/yaphone/itchat4j\"\u003eitchat4j开源项目\u003c/a\u003e\u003c/li\u003e\r\n    \u003cli\u003e\u003ca href=\"http://www.bootcss.com\"\u003eBootstrap中文网\u003c/a\u003e,\u003ca href=\"https://www.bootcdn.cn/\"\u003eBootCDN\u003c/a\u003e\u003c/li\u003e\r\n    \u003cli\u003e\u003ca href=\"https://www.glyphicons.com/\"\u003eGlyphicons\u003c/a\u003e,\u003ca href=\"https://bootstrap-table.wenzhixin.net.cn/\" target=\"_blank\"\u003eBootstrapTable\u003c/a\u003e\u003c/li\u003e\r\n    \u003cli\u003e\u003ca href=\"https://github.com/Bttstrp/bootstrap-switch\"\u003eBootstrap Switch\u003c/a\u003e,\u003ca href=\"http://bootboxjs.com/\" target=\"_blank\"\u003eBootbox.js\u003c/a\u003e\u003c/li\u003e\r\n    \u003cli\u003e\u003ca href=\"https://github.com/nghuuphuoc/bootstrapvalidator\"\u003ebootstrapvalidator\u003c/a\u003e\u003c/li\u003e\r\n    \u003cli\u003e\u003ca href=\"https://github.com/kartik-v/bootstrap-fileinput\"\u003ebootstrap-fileinput\u003c/a\u003e \u003c/li\u003e\r\n    \u003cli\u003e\u003ca href=\"https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=dnuqwh0e\" target=\"_blank\"\u003e阿里云推广计划\u003c/a\u003e\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\r\n#### 技术交流群\r\n![QQ技术交流群](https://images.gitee.com/uploads/images/2019/0113/041630_383a6659_1581722.png \"wxwobot_qq_qrcode.png\")\r\n\r\n[![阿里云推广](https://images.gitee.com/uploads/images/2019/0113/043826_4dbc36f4_1581722.png \"源码页980-60.png\")](https://promotion.aliyun.com/ntms/act/qwbk.html?userCode=dnuqwh0e)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesleyone%2Fwxwobot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwesleyone%2Fwxwobot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesleyone%2Fwxwobot/lists"}