5分钟上手!Java微信机器人:从配置到实战的超详细指南
🚀 核心优势:为什么选择这款机器人?
✨ 多场景全能助手
支持天气查询、垃圾分类识别、新闻推送、知乎热榜等实用功能,覆盖日常生活与工作需求。
💡 灵活的权限管理
好友/群聊黑白名单精细控制,支持关键词过滤,避免信息骚扰。
⚡ 轻量化设计
基于Java开发,无需复杂依赖,配置文件即可定制个性化功能。
🔄 智能缓存机制
集成Redis缓存天气、垃圾分类结果,提升响应速度(可选功能)。
⚙️ 快速上手:3步搭建你的机器人
1️⃣ 环境准备
| 依赖项 | 版本要求 | 备注 |
|---|---|---|
| JDK | 1.8 及以上 | 推荐使用JDK 1.8 |
| Maven | 3.0+ | 用于项目构建 |
| Redis(可选) | 5.0+ | 缓存功能需额外配置 |
⚠️ 注意:若无需Redis缓存,可在配置文件中关闭该功能,不影响基础使用。
2️⃣ 项目部署
# 克隆代码仓库
git clone https://gitcode.com/gh_mirrors/wecha/WechatRobot
# 进入项目目录
cd WechatRobot
# 使用Maven构建
mvn clean package -Dmaven.test.skip=true
3️⃣ 核心配置
全局配置文件路径:src/main/resources/config.properties
必改项:
# 指令前缀(默认:??)
commandPrefix=??
# 群聊白名单(完全匹配群名)
group.whitelist=我的技术交流群#家人闲聊群
# 天气API选择(默认:QingyunkeRobot)
weatherApi=QingyunkeRobot
启动程序:
# 运行主类
java -cp target/WechatRobot.jar WechatBot
💡 技巧:启动后扫描控制台输出的二维码即可登录微信账号(建议使用小号)。
🎯 场景化应用:解锁机器人实用姿势
如何打造智能群助手?
1️⃣ 群聊指令全攻略
| 指令格式 | 功能说明 | 示例 |
|---|---|---|
??北京天气 | 查询指定城市天气 | ??上海天气 |
???电池 | 垃圾分类查询 | ???塑料袋 |
??新闻 | 获取当日热点新闻 | - |
??知乎 3 | 查看知乎热榜前3条 | ??知乎(默认前9条) |
2️⃣ 定时推送每日资讯
修改配置文件开启定时任务:
# 启用每日一句
everydayHello.enable=true
# 发送时间(格式:HHMMSS)
everydayHello.group.time=083000
# 接收群聊名单(用#分隔)
everydayHello.group.whitelist=技术早报群#学习打卡群
📌 效果:每天早上8:30自动推送天气+金山词霸每日一句。
如何避免好友消息骚扰?
配置好友黑白名单:
# 好友白名单(昵称完全匹配)
friend.whitelist=张三#李四
# 自动回复非白名单好友
autoReplyFriend=true
autoReplyFriendMsg=您好,我现在正忙,稍后回复~
⚠️ 注意:黑名单优先级高于白名单,配置后将完全忽略指定好友消息。
🛠️ 避坑指南:新手常见问题解决
登录后提示"网页微信已失效"?
1️⃣ 检查账号状态:确保使用非官方客户端登录过微信(可能导致网页版权限封禁)。
2️⃣ 尝试小号登录:推荐使用未绑定银行卡的测试账号。
3️⃣ 重启网络:部分网络环境可能屏蔽微信网页版接口。
天气查询返回"数据丢失"?
- 确认城市名称是否准确(仅支持国内市/区/县级查询)。
- 尝试切换天气API:在
config.properties中修改weatherApi=RollToolsApi。
Redis缓存配置报错?
# 关闭Redis缓存(无需Redis时)
redis.enable=false
💡 技巧:Redis配置文件路径为
src/main/resources/redis.properties。
🌱 生态拓展:这些功能你也能实现!
1️⃣ 垃圾分类查询优化
现有功能基于AToolBox接口实现,可通过以下方式扩展:
- 接入本地数据库,提高查询速度。
- 添加语音识别入口,支持语音查询垃圾类别。
2️⃣ 自定义指令开发
参考GroupTextCommand.java实现新指令:
- 在
enums/CommandType.java添加指令枚举。 - 在
api/目录下编写新功能API调用逻辑。 - 在配置文件中注册指令前缀。
3️⃣ 消息转发机器人
通过修改DealMessage.java实现:
- 将群聊消息转发至指定邮箱。
- 关键词监控并转发至企业微信。
📚 参考代码:消息处理核心逻辑位于
main/facade/DealMessage.java
📝 许可证
本项目基于Apache License 2.0开源,详情参见LICENSE.md。
⚠️ 重要提示:使用本项目需遵守微信用户协议,请勿用于商业用途或恶意营销。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



