# 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类中