蠢猫的更新记录(老记录)
2022-01-09

1、无视词条新增UI图片,现在看起来更阳间了。

2021-12-30

1、拉拉倒计时时间修正,时间细化到时分秒。添加到达时间以后的语料。

2021-12-21

1、代码适配qq频道官方机器人

2021-12-07

1、修复后台重复接受消息的问题。

2021-12-02

1、项目转移,从onebot移植到go-cqhttp
2、代码适配qq频道

鸽了一段时间 有一些小修小补 但是没记录
2021-09-02

1、修复聪明猫回复at信息时没有at的问题。

2021-09-01

1、将占卜修改为图片形式发送,防止刷屏。
2、将无视计算分成简略和详细,简略发送至群聊,详细以私聊形式发送。
3、减少查询怪物的属性数据,只留下常用的属性。
4、查询相似怪物为空时,取消回复。
5、聪明猫临时回归,当蠢猫发送图片失败时,聪明猫会尝试再发送一次。

2021-08-31

1、塞轮防御修正为380%。
2、修正世界组队时间表格式。

2021-08-24

1、修复气象提醒@人数过多时前台无法发送消息的问题。

2021-08-23

1、新增加定时气象提醒功能。
【气象on】 开启定时气象提醒
【气象off】 关闭定时气象提醒
【今日气象 时间 地点】添加气象信息 (两个时间用点隔开)
eg:今日气象 10.40 4x扎洞(限气象群管理)
【关闭气象】删除气象信息(限气象群管理)
【蠢猫气象】查看当前气象信息

2021-08-20

1、新增加防止其他人帮内鬼问核心。现在如果有不符合条件的内鬼问核心,则其他人半小时内也无法问核心。林群和拉拉群限定。

2021-08-06

1、新增加世界组队轮换查询。

2021-07-27

1、删除暗影功能。
2、删除打卡功能。
3、删除权限管理表,现移植到配置文件。
4、删除小号管理系统。
5、新增加拉拉登场倒计时。
6、新增加羊群核心查询条件。

2021-07-05

1、适配新职业羊拉拉职业群。

2021-06-23

1、更新怪物数据库。添加lv260+的怪物数据。

2021-06-10

1、老服务器还剩点时间,把聪明猫留在老服务器。改名为苏苏。新添加提醒起床和睡觉的功能。

2021-06-09

1、蠢猫搬家,更换为腾讯云无忧服务器。配置差不多但是能一直用15R一个月续费,之前的学生机三年时间快到了。

2021-06-04

1、取消图片转移网址功能。因为实际测试并不能解决多图发送超时的问题。

2021-06-03

1、修复多个屏蔽词时重复禁言的问题。
2、新增加阶梯式禁言,多次禁言会增加时间。

2021-05-24

1、暗影改版,新版不需要整点提醒了,暂时关闭暗影功能。

2021-05-19

1、修复查询结果为多图时发送超时的问题。将保存在save里的图片映射到网页中,现在使用save里的图片会自动转移到网页地址,充分利用前台的缓存功能。

2021-05-16

1、新增加暗影功能的无前缀命令,现在使用暗影功能无需加【蠢猫】,与气象功能同步。
2、修复复读暗影提醒时错误登记暗影的问题。
3、增加0-8点时无法登记、开启暗影提醒的限制。

2021-05-15

1、新增加暗影提醒功能,8-24点的28/58分会提醒进入暗影。
【蠢猫暗影on】本群开启暗影提醒
【蠢猫暗影off】本群关闭暗影提醒
【蠢猫登记暗影】暗影@提醒
【蠢猫取消暗影】取消暗影@提醒
2、新增加0-8点时登记时的提示语句。
3、新增加同一个人不同群登记时,转移登记的提示语句。
4、新增加群里没有开启暗影提醒时,登记暗影的提示语句。
5、新增加登记的时效性,会自动清除8小时前的登记。
6、修复了58分时没有提醒的问题。
7、修复了取消登记时出现0-8点的提醒的问题。

2021-05-14

1、新增加删除名单的功能。
2、完善了添加名单后的回复语句。
3、添加黑名单网页展示,以及防骗指南。

2021-05-13

1、新增加黑名单功能。【蠢猫名单+[id/qq号]】查询是否在黑名单中
2、新增加添加黑名单的功能。
3、取消群主的统一权限管理。
//TODO
添加黑名单后默认的回复语句。网页端的黑名单说明,以及网页中整体的黑名单展示。

2021-05-10

1、添加无视数字判定,现数字不会超过100。
2、添加禁言功能。
3、修复了消息内容为空,但是消息对象不为空时出现的空指针异常。
4、添加群组判定,个别无前缀词条只会在林群判定。
//------
似乎不能撤回其他人的消息,本来3.0版本修复了,但是3.3版本又出现了。也可能是不能查找真实message_id的问题,但是获取真实message_id的功能只是预期在3.5版本修复,但是现在依旧没有更新3.5版本。

2021-05-05

1、修复了市场系统的回复消息的格式问题。

2021-05-03

1、修复了市场系统的回复消息为空的问题。

2021-05-03

1、修复小群群成员的判定问题。之前为Object对象,判定字符串是否相等时恒为false。
2、新添加阴阳师核心词条的判定。以及降低林群其他职业核心和超技查询的部分标准。

2021-05-02

1、应村长的要求,关闭九歌的跑旗提醒功能。
2、跑旗数据全部转移至手动挡。由于九歌和跑旗群基本用不上了,因此整合数据到手动挡,将以前的数据新增家族标示,方便后续提供给第二个需要跑旗功能的家族。(也许吧,目前没需求,无限咕咕中)
3、删除跑旗的周记录。由于一开始是使用周来标识,但是不知不觉用了一年了,统计周数据的时候会把去年同期的周数据一并统计上,删除周数据后部分功能会受到影响,不过依旧可以通过【蠢猫跑旗查询[时间点] [时间点]】来查询。(其实一开始设计的时候就想到这一点了,不过当时也急着上线,而且当时也认为用不到一年,虽然现在家族确实很佛系用得少了,但还是继续留着这个功能吧)
4、关闭跑旗系统的限制,现在不需要加跑旗群也可以记录数据。主要是现在跑旗变得佛系了,隔壁也没有什么根据跑旗分数上车的规定,比较佛系。
5、修改市场系统的正则判定规则。增加消息的匹配率。
6、市场系统的消息记录延长至两天。
7、增加消息计数器的容量。

2021-04-28

1、删除了发型和脸型的功能。看到他们把各种皇家卡整容卡整合成了一张图,应该不需要这个功能了。正好我有点懒得录入数据库,所以关闭。
2、删除了延迟功能。由于前一段时间属龙把服务器转移到了腾讯云上,新的IP开启了禁ping,所以这个功能也没什么用了。

2021-04-23

1、Apache换成了Nginx,不过现在才发现根本不需要改什么配置,直接在宝塔上新建一个网站然后反向代理设置到对应端口就ok了。
2、新版本实现这种时间轴的形式,还蛮好的,正是我所需要的。

2021-04-19

1、百科抓取时添加部分屏蔽词,防止滥用。
2、添加部分屏蔽词。如果对蠢猫使用屏蔽词则会被蠢猫屏蔽1小时。
3、修改默认的打招呼的话。

2021-04-14

1、新增加超技词条的判定,在林群近期发言达到一定浓度才可以查询其他职业的超技。

2021-04-12

1、新增加核心词条的判定,在林群近期发言达到一定浓度才可以查询其他职业的核心。

2021-04-08

1、新增加签到系统

2021-04-03

该功能继续测试中
1、完成了读取数据库后的消息回复。
2、同一个人登记时如果存在登记 删除之前的登记。
3、清理超过36小时的登记。

2021-04-02

1、完成了一部分买卖功能。
建立数据表 买卖消息的判定 数据存储 判定是否为联盟群消息 判定是否为风平浪静群成员。
TODO:蠢猫读取数据库后的消息回复 / 同一个人登记时如果存在登记 删除之前的登记 / 清理超过36小时的登记。

2021-03-14

TODO:
接受消息:收游戏币 | 有人出 游戏币 吗
查询数据库 回复
家族 角色名 出 xxx 游戏币 xx分钟/小时前
//-------
接受消息 出币 xx
记录数据库
//-------
一个想法,奈何手里没电脑,先备忘在这,可能会咕咕。要是有更好的想法再改。

2021-03-01

1、随机回复新增加random属性,会随机@群里的一个幸运儿。
2、添加定时任务删除消息,早5点时,如果成分数据大于4w条,会删除前面2w条。

2021-02-28

1、将小号管理的指令修改为1 2。
2、随机回复新增加at属性,会@刚才说话的人。
3、新增加蠢猫打@xxx的功能。

2021-02-27

1、修改了权限管理系统,现在权限会读取数据库中的数据,而不是写死在代码里。
2、新增加联盟小号加家族提醒的功能。以防联盟号出现某些低素质情况。不过功能太杂了现在自己都有点搞不清楚。有机会再优化一下。

2021-02-26

1、将欢迎的图片移植到数据库中,方便修改。
2、新添加扔+at功能,会自动生成相应图片。
3、新添加固定回复的权限。

2021-02-26

1、关闭了打卡功能
2、将每300条消息的自动回复内容移植到数据库中
3、新增加发型和脸型的查询功能,可以查看什么卡出什么发型

2021-02-23

1、新添加【蠢猫延迟】的功能,可以通过ping服务器来查看当前游戏服务器延迟状况,不过那个IP究竟是不是存疑。
2、略微修改复读逻辑,现在复读“?”的时候会收到来自喵喵姐的关爱。
3、完善【删除问题】的功能。现在删除问题会判定究竟删了什么词条,并给出问题。而不是删没删都回复 删除成功。
//------
发现graphics图片写入中文时会乱码,还以为是GBK转UTF-8的问题,结果竟然是linux没有对应的中文字体样式。。

2021-02-22

1、添加了查成分的功能。纯度为各个群的发言比,浓度为在该群的发言比。
2、开放权限,现在各群群猪可以使用admin功能。但删除问题只能删除自己添加的词条。
//------
刀哥刚写的功能没两天我复刻过来了,使用了BigDecimal处理小数点不精确的问题。不过测试了一下四舍五入竟然纯度加起来是100.01%。。

2021-02-20

1、修改了部分权限,现在群主也可以使用增加词条、删除词条、大喇叭功能了。
2、给蠢猫也加了个网页。 http://msbot.badeling.com
//------
因为蠢猫后台本身是springboot + springdata jpa。加了个thymeleaf就能直接导入网页文件了,把之前第二版本的博客稍稍改了一下拿来用。
后续的功能有点烦,考虑是不是用spring security来权限管理。之前是考虑用qq互联,结果审核不给我通过。。
或者参考一下yobot的权限认证系统,感觉还蛮好的。
随时可能咕咕

2021-02-19

聪明猫->黑猫。
使用HoshinoBot + yobot的后台 。
前台使用onebot的多开功能和蠢猫共享同一个前台。
yobot有一个网页端后台,设置在8099端口,然后通过访问2级域名
http://pcrbot.badeling.com/ws/login/ 跳转对应端口。
本来是想用yobot插件版附加载hoshinoBot上,但是编译的时候python会出一个问题,还不知道怎么解决,只能两个同时开了,ws_reverse可以同时配置两个。
说起来这两个后台竟然占用连200M都不到,蠢猫光是一个后台就占了400M了。。
//---------
实现访问二级域名跳转到主机8099端口的方法
修改apache目录的httpd-vhosts.conf文件 添加

ProxyPreserveHost On
ServerAdmin webmaster@dummy-host2.example.com
ServerName pcrbot.badeling.com
ProxyPass / http://127.0.0.1:8099/
ProxyPassReverse / http://127.0.0.1:8099/

//------
备忘:
启动HoshinoBot: python3.8 run.py
启动Yobot:sh yobotg.sh

新旧分界线
2020.01

由于前端老是出现out of memory 堆溢出错误。而且恰逢博客转typecho,增加使用宝塔运维。
不查不知道,原来是服务器内存不够了,2G占了好多(只要我不查内存使用情况,就永远不会缺)
在关闭聪明猫的前端后端后 依然会内存不够。于是又把项目从eclipse里拿出来直接运行(博客网站的历史遗留问题,拿出来后编码GBK一编译 中文内容就会报错 几十个项目文件又懒得改,虽然后来才发现是build.gradle里编码设置的问题)
这样一来一回省了快1G内存,但是还是会溢出,正好想换博客项目,同时也想换linux系统(接触到运维程序 感觉真心好用 之前都是自己一步一步配环境,甚至一直用百度云盘传的数据)
说起来也没几个操作,这里写几个linux命令作备忘。
安装screen程序 yum -y install screen
打开新会话并起个名字:screen -S myname
启动前端
screen -S sillyFore
cd xxx到前端代码
java -jar onebot.jar
启动后端
screen -S sillyBack
cd xxx到后端代码
gradle bootrun
另外几个用到的代码
查看会话列表: screen -ls
暂时离开会话(经常用):Ctrl+a 然后 d
恢复之前离开的会话:screen -r 会话名或进程号
换了linux系统后 启动博客项目+蠢猫前后端 内存占用60%左右
聪明猫由于是exe在linux中得另外弄,不想麻烦了,不如功能整合一下。
不过挂了5天内存占用快要涨到70%,总感觉是全局变量的锅,不过还剩好多内存够我挥霍,先挖个坑,以后再修。

老网站的记录,搬了一些重要的记录。
2020-07-01

重构联盟爬虫代码。

2020-06-22

成功将抽卡风格换为kemomimi

2020-06-20

新增加正则问,现在可以通过|符号同时添加多个问题。

2020-06-19

新增加了跑旗系统。

2020-06-13

修复了百度百科的抓取功能,以及过长的结果的判定。

2020-06-05

重构占卜代码,将占卜数据写入数据库,而不是在代码中。添加玄学地图。

2020-05-29

新增复读机周报。

2020-05-27

添加了联盟查询功能,仅限GMS。

2020-05-17

优化抽卡图片。将结果的32位色调整为24位色就可以在视觉看起来无差异的情况下冲png转到jpg。并且图片大小却只有1/10。完美解决了因为图片太大而发送超时的问题。

2020-05-16

添加了模拟抽卡功能。

2020-05-14

查询添加模糊查询功能。

2020-05-13

把蠢猫从博客项目独立出来。

2020-05-12

添加了判定复读和参与复读的功能。

2020-05-11

添加了迎新的功能,现在成员数量增加时会发送迎新的内容。

2020-04-27

添加了翻译的功能。使用百度翻译的接口。

2020-04-22

图片判定前新增加识图。如果消息内包含识图两个字直接返回图片文字内容,方便测试。

2020-04-14

添加了没有找到结果的处理,词库中没有的问题会返回默认的一些回答。
成功爬取百度百科的内容。词库中没有的问题会在百度百科中进行搜索。
使用Jsoup完成对网页的抓取,根据抓取的内容进行不同的处理,返回正文中第一句话作为结果返回。如果没有正文,抓取拼写矫正中的:您要找的是不是:XX。读取XX然后重新抓取。要是没有拼写矫正,返回null。
对结果进行处理,若未空则返回默认回答。不为空则返回百度百科的内容。

2020-04-13

新添加了发送定时消息。现在可以发送定时消息提醒。
同时也添加了定时删除图片缓存的功能。原来springboot自带了@EnableScheduling @Component功能,在方法上写上@Scheduled(cron=表达式)就能实现定时执行的功能。

2020-04-11

与百度云对接,完成了图片识别功能,现在可以识别公屏内的气象信息。

2020-04-10

新增了气象提醒功能

2020-04-09

新增了占卜功能

2020-04-08

新增了学习和删除功能

## 暗影提醒 ##
由于活动结束,后续又出了暗影美发卡,所以删除这部分代码,备份一下。

 private ReplyMsg handShadow(ReceiveMsg receiveMsg) {
     String raw_message = receiveMsg.getRaw_message();
     ReplyMsg replyMsg = new ReplyMsg();
     replyMsg.setAt_sender(true);
     if(raw_message.contains("暗影on")||(!raw_message.contains("取消")&&(raw_message.contains("登记")))) {
         long currentTimeMillis = System.currentTimeMillis();
         SimpleDateFormat sdf = new SimpleDateFormat("HH");
         try {
             int parseInt = Integer.parseInt(sdf.format(currentTimeMillis));
             if(parseInt<8){
                 replyMsg.setReply("早0-8点为休息时间哦,请合理安排游戏时间。");
                 return replyMsg;
             }
         } catch (Exception e) {
             System.out.println("时间判定出错");
         }
     }
     
     if(raw_message.contains("暗影on")) {
         ShadowGroup sg = shadowGroupRepository.findSGbyGroupId(receiveMsg.getGroup_id());
         if(sg==null) {
             sg = new ShadowGroup();
             sg.setGroup_id(receiveMsg.getGroup_id());
             sg.setNeedRemind(true);
             shadowGroupRepository.save(sg);
             replyMsg.setReply("开启暗影提醒功能");
         }else if(sg.isNeedRemind()){
             replyMsg.setReply("无需重复开启");
         }else {
             shadowGroupRepository.modifyNeedReminder(sg.getId(),true);
             replyMsg.setReply("开启暗影提醒功能");
         }
         return replyMsg;
     }
     if(raw_message.contains("暗影off")) {
         ShadowGroup sg = shadowGroupRepository.findSGbyGroupId(receiveMsg.getGroup_id());
         if(sg==null) {
             sg = new ShadowGroup();
             sg.setGroup_id(receiveMsg.getGroup_id());
             sg.setNeedRemind(false);
             shadowGroupRepository.save(sg);
             replyMsg.setReply("目前没有打开该功能喔");
         }else if(!sg.isNeedRemind()){
             replyMsg.setReply("目前没有打开该功能喔");
         }else {
             shadowGroupRepository.modifyNeedReminder(sg.getId(),false);
             replyMsg.setReply("已关闭暗影提醒功能");
         }
         return replyMsg;
     }
     if(raw_message.contains("取消")) {
         ShadowReminder sr = shadowReminderRepository.findSRbyUser_id(receiveMsg.getUser_id());
         if(sr==null) {
             replyMsg.setReply("你没有在登记列表中");
         }else {
             shadowReminderRepository.delete(sr);
             replyMsg.setReply("成功取消暗影提醒登记!");
         }
         return replyMsg;
     }
     if(raw_message.contains("登记")) {
         ShadowGroup sg = shadowGroupRepository.findSGbyGroupId(receiveMsg.getGroup_id());
         if(sg==null||!sg.isNeedRemind()) {
             replyMsg.setReply("当前没有开启暗影提醒功能,可使用【"+CoolQconst.botName+"暗影on】开启暗影提醒");
             return replyMsg;
         }
         
         ShadowReminder sr = shadowReminderRepository.findSRbyUser_id(receiveMsg.getUser_id());
         boolean transfer = false;
         boolean isAlready = false;
         if(sr!=null) {
             if(!sr.getShadowGroup().getGroup_id().equals(receiveMsg.getGroup_id())) {
                 transfer = true;
             }else {
                 isAlready = true;
             }
             shadowReminderRepository.delete(sr);
         }
         sr = new ShadowReminder();
         sr.setUser_id(receiveMsg.getUser_id());
         sr.setTime(System.currentTimeMillis()+1000*60*60*8);
         sr.setShadowGroup(sg);
         shadowReminderRepository.save(sr);
         if(transfer) {
             replyMsg.setReply("检测到在其他群已有登记,已将登记转移到本群");
         }else if(isAlready){
             replyMsg.setReply("您已在登记列表中");
         }else {
             replyMsg.setReply("成功登记暗影提醒");
         }
         return replyMsg;
     }
     return null;
 }
最后修改:2023 年 10 月 28 日