前言

一个用爱发电的项目,为 koi欢 定制的粉丝群 bot,项目地址为 Koi-Bot简介与配置方法都在 README 中

欢迎大佬们来 671734248(qq群)单推 koi ,如果有兴趣贡献代码让 kb 变得更强大♂的话,就再好不过啦~


2021.09.23 / v0.1.0

初代版本开发完成,具有 14 个主动技能、10 个被动技能

主动技能
  1. 菜单
    • 所有功能概述
    • 每种功能的详细解释(指令格式及效果等)
  2. 签到
    • 完成今日签到,获得积分
    • 查询历史签到情况
  3. 积分兑换
    • 列出可兑换物品(普通及限时物品)
    • 用户兑换指定物品后,通过私聊发送
  4. 好康的图(咳咳)
    • 返回图片的同时携带标题、pid、画师信息
    • 支持 tag 搜索
    • 支持获取原画画质的图片
  5. 梗百科
    • 支持通过关键词查找梗出处
    • 列出满足条件的所有条目
    • 可以展开任意条目获取详细信息
  6. 群语音操作
    • 保存语音
    • 播放历史语音
    • 添加语音标签
    • 查看语音标签
    • 修改语音标签
    • 通过标签搜索语音
    • 删除已保存语音
  7. 摆烂模式
  8. 网易云点歌
  9. 多语种互译
  10. 毒鸡汤
  11. 土味情话
  12. 舔狗日记
  13. 查询拼音缩写的含义
  14. 生成器
    • 生成绝绝子
    • 生成记仇表情包
被动技能

被动技能

  1. 发言数日榜/周榜
  2. 每日早安推送
    • 随机 ACG 图片一张
    • 历史上的今天
    • 今日早报
  3. koi 发送早晚安时回应(发病)
  4. 复读
  5. 特殊字符/句型反应(好好好/捏/是吧/草)
  6. 戳一戳,回应以下之一
    • 戳回去
    • 钉宫语音
    • 回应一句话
    • 随机 ACG 图片一张
    • 戳的次数多了,禁言 1 分钟
  7. 自动通过好友申请,并发送打招呼消息
  8. 群新成员欢迎
  9. 被艾特后回应
  10. b 站通知
    • 新动态(携带动态截图)
    • 新作品(携带作品截图)
    • 新粉丝(携带新粉丝头像及id)

经历:为了解耦,重构了两次代码结构,引入了一堆 bug

感受:业务逻辑一行,异常处理三行


2021.09.24 / v0.1.2

  • 修改了 bot 的日志文件名格式
  • 修改了 README 中关于 go-cqhttp 日志管理的描述,WARNING 以上的日志等级都会被记录在 logs 目录,不用再重定向到单独的文件
  • 修复了用户初次签到后,最大连续签到天数为 0 的 bug
go-cqhttp 日志管理原始描述

上个版块第 3 点命令中的 2>cqlog 会将标准错误流重定向到 cqlog 文件,这样查看 cqlog 文件就能获得 go-cqhttp 程序的日志输出

不过这个文件大小会随着时间推进越来越大,这里推荐使用 logrotate 来自动地分割日志和丢弃旧日志,参考文章 日志切割之Logrotate,下面贴出我的配置文件(/etc/logrotate.d/cqlog)

1
2
3
4
5
6
7
8
9
10
/home/in1t/koibot/cqlog {
daily
dateext
rotate 5
missingok
create 644 in1t in1t
postrotate
/usr/bin/killall -HUP rsyslogd
endscript
}

2021.09.25 / v0.2.0

  • 增加了 cosplay 图片 模块,好文明!
  • 修了一些小 bug

2021.09.29 / v0.2.1

  • 修复因 page crash 导致的 bilibilib 动态截图失败现象
  • 优化 README.md 的描述
  • 修复获取语音时会 @ 两次的 bug

2021.10.2 / v0.3.0

  • 增加 通知私聊指令,群聊管理员可以使用该指令让 bot 转述自己的话至群聊
  • bilibili 新作品会 @ 全体

2021.10.3 / v0.3.1

  • 通知 指令更名为 转述
  • 支持 bilibili 小程序转发,转发 bilibili 视频给 bot,bot 会将其转发到群聊
  • 修正项目描述中的 setting.json 样例
  • 支持监听多位 bilibili 用户的动态

2021.10.6 / v0.3.2

  • 优化 main.pycosplay 模块、bilibili 模块、periodic.py
  • 修复 bilibili 模块中发布新作品时 json.loads 存在的 bug

2021.10.22 / v0.4.0

  • 增加 疫情 模块(群聊),可以查询国内省市的疫情数据
  • 增加 语音列表 私聊指令,可以获取数据库中保存的所有语音详情

2021.10.27 / v0.4.1

  • 由于网站的更新,重写了爬虫,修复了 梗百科 模块

2021.12.12 / v0.4.2

  • 更新 README.md 的描述
  • 由于 go-cqhttp 的更新,get_msg API 无法获取到 raw_message 字段,语音模块受到影响,因此更改了语音模块的保存策略

2021.12.27 / v0.5.0

  • 增加 投稿 功能,群员可以通过群聊或私聊进行投稿,每周日会展示本周所有的投稿消息,也可以在私聊中通过 查看投稿 指令查看
  • 再次修复 梗百科 模块