# wechat-robot
**Repository Path**: carlosxiao/wechat-robot
## Basic Information
- **Project Name**: wechat-robot
- **Description**: java实现微信机器人
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2025-01-05
- **Last Updated**: 2025-01-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 简介
windows版微信机器人自动回复
## windows本地使用
新建本地新建文件路径
D:\itchat4j\login 存放登录二维码
D:\itchat4j\pic 存放接收的图片
D:\itchat4j\viedo 存放接收的视频
D:\itchat4j\voice 存放接收的音频
groupWhiteList.txt 群聊白名单配置,配置了的才会进行回复
userWhiteList.txt 私聊白名单配置,配置了的才会进行回复
userConfig.txt 当前登录的用户名,@+微信昵称
1.先配置receive_msg_config接收消息表
2.配置return_msg_config返回消息表
3.配置receive_return_ref接收-返回消息关联表
配置的数据格式 useConfig/MsgConfig.json
4.配置useConfig/userConfig.txt 当前登录的用户名
-- 2023-08-24
介于每次扫码微信群的id都是随机分配的,群隔离逻辑有问题;
现在不从groupWhiteList.txt在扫描前就配置群白名单信息,而是在扫描后,手动拿到本次扫码后本次群的群id信息。
然后调用com.wechat.controller.business.WhiteGroupController中的接口对群白名单进行添加删除
## 群帮手使用
1.配置useConfig/userConfig.txt 当前登录的用户名
2.启动主启动类WechatApplication
3.在群中@机器人用户输入 @机器人 get_群id,返回本次扫码后当前群的群id(调用接口/whiteGroup/addGroupWhite将当前群添加到全局静态变量groupWhiteSet中)
4.在群中@机器人用户输入 @机器人 get_群用户名,返回本次扫码后当前群的群用户id(调用接口/groupBully/getGroupBully将当前恶霸配置到全局静态变量groupBullyMap中)
5.配置useConfig/adminUser.txt 操控机器人的管理员用户(省去掉接口添加白名单,恶霸集合的操作)
--2023-08-27 更新
1.配置useConfig/useConfig.txt 配置机器人用户(robotUser),管理员用户(adminUser)
2.管理员@机器人用户开机,关机,来配置白名单群list
3.管理员在群里@机器人 add_群用户,del_群用户,来配置恶霸list
1.在群中@机器人 发送"功能" -- 返回当前数据库中所有配置的可以操作的指令 √
2.在群中@机器人 发送"群id" -- 返回当前群的id √
3.增对群里某个人,只要一说话就爆破他,思路配置一个 群恶霸集合 HashSet groupBullySet
map √
key存群id,value存HashSet groupBullySet:当前群的恶霸集合
4.在群中@机器人 发送指定用户的昵称,返回当前用户在这个群的id,给配置到恶霸集合中去 √
5.群恶霸逻辑:?
群恶霸进去单独一套逻辑,不走数据库配置的那么温和的回话方式,直接list<骂人语句>直接怼上去,他说一句,返回三句 √
-- 2023-08-27更新
6.管理员在在群中@机器人 发送"开机,关机......"来配置白名单群list,以及恶霸list √
--todo
7.新进群的时候,core是没有刷新群信息的,即core作为全局变量没有更新√
## 使用
1.配置userConfig.txt的两个微信账号;robotUser为机器人微信名,adminUser为管理员微信名
2.管理员账号@机器人账号发送“开机”,机器人则开始对当前群聊进行自动回复;@机器人账号发送“关机”,机器人停止对当前群聊进行自动回复
3.开机后,其他正常的返回逻辑群友可以通过@机器人发送功能查询,除去一些特殊的逻辑映射写在AdminInfoHandle中,其他的正常用户的接收返回消息都是配置在表中,
receive_msg_config:接收消息表
return_msg_config:返回消息表
receive_return_ref:接收返回消息关联关系表
4.管理员在开机后可以指定攻击指定群的某个群友:在机器人开机的群中@机器人 add_群友微信名,机器人就会无视当前用户是否@,进行恶霸的逻辑回复
恶霸逻辑在MsgCenter中截获add指令,将当前群友添加到恶霸list中,然后在WindowsSimpleDemo.groupBullyHandle方法集中处理
管理员可以通过@机器人 delAllUser来移除当前群聊的所有的群恶霸;具体逻辑都在AdminInfoHandle类中