menu 易姐的博客
Cirno机器人使用说明
3589 浏览 | 2021-03-13 | 阅读时间: 约 6 分钟 | 分类: 编程 | 标签: qq,机器人,qqbot

简介

说明

Cirno(琪露诺)是由社会易姐QwQ开发的qq机器人。这是一个事件响应型机器人,可响应群聊消息、好友私信消息,由mirai强力驱动,自动化消息处理部分由python语言完成,
目前整个系统部署在docker上。

声明:本qq bot不是产品,本qq bot的开发及使用旨在学习相关技术和方便群友

关于名字

本项目名以及图标来自东方Project中的角色琪露诺(Cirno)

更新日志

猛戳展开

2021-03-12 开始搭建主服务
2021-03-13 完成事件响应网关和权限管理器
2021-03-13 业务模块:帮助一言疫情速报归属地查询Q绑查询答题统计完成
2021-03-14 业务模块桌面截图完成
2021-03-15 业务模块系统状态完成
2021-03-19 群事件处理及qq群成员变动广播完成
2021-03-22 业务模块易姐语翻译完成
2021-03-28 业务模块b23短链解析B站视频解析完成
2021-04-10 业务模块身份证号解析完成
2021-04-13 统一异常抛出系统与报错系统完成,答题统计模块升级为爬虫综合统计
2021-04-14 统一消息发送和处理机制
2021-04-18 改用bcc截获并作为消息反馈bot内部事件的异常抛出
2021-04-19 使用graia-saya大规模重构各个模块和模块管理机制,即同时废除事件响应网关和路由式的事件处理机制
2021-04-23 整体程序使用aio套件,并采用mysql连接池,权限管理器重构为独立的设置管理器,添加业务模块今日简报
2021-04-24 为易姐语翻译添加自动识别加密及解密功能
2021-04-25 添加业务模块5000兆円
2021-04-29 添加业务模块东方角色及角色歌查询,并建立相关数据库和收集相关资源
2021-05-02 添加业务模块缩写rua
2021-05-06 添加业务模块Pornhub
2021-05-12 添加业务模块化学方程式配平
2021-05-17 添加业务模块SSTV(虽然效果很差...)
2021-05-20 添加基于mysql的群消息及群聊图片实时记录功能

架构

本bot由graia框架提供支持,采用MVC架构设计

  • graia-application-mirai:mirai的py接口支持
  • graia-broadcast:异步事件引擎
  • graia-saya:业务模块管理器
  • graia-scheduler:异步定时器
  • graia-template:消息链模板

计划实现的功能

以下功能未实现,开发完毕将会被移除
优先级为顺序

猛戳展开

  • 瑟图(目前计划图源为K站以及P站)
  • Youtube视频解析、niconico视频解析、B站轻视频解析、B站直播解析、B站专栏解析
  • 搜图(基于ascii2d与saucenao)
  • 二次元头像截取(基于opencv)
  • 图片/文字转SSTV,使用语音发送
  • 进群欢迎支持自定义文案与图片
  • Pixiv综合解析
  • 增加消息响应风控系统
  • ip归属地查询
  • 型近汉字转写(基于unvcode)
  • 姓名判断性别概率(基于ngender)
  • 群聊词云图生成(基于jieba与wordcloud)
  • 二维码生成(图案 背景 样式自定义)
  • B站追番&UP主更新订阅(指令增删)
  • B站答题查询(题图url或关键字)
  • B站直播订阅广播
  • 早安晚安
  • 随机身份证号生成
  • 网易云id解析
  • qq音乐/网易云解析真实mp3地址(B站api)
  • B站应援团消息同步推送
  • 节日/纪念日/生日广播提醒
  • 知乎热榜(排版为图片)

功能

bot的功能分为响应、定时、广播等
指令格式:[ ]为可选参数,< >为必选参数,|为或逻辑,@为在群内at特定的人
注:以上指示符实际使用不需要包含!

帮助

获取机器人的帮助文档(本文档)
(无权限限制)
指令:

Cirno|@Cirno <help|帮助>

查询系统状态

查询bot运行平台的CPU状态、RAM使用情况以及系统运行时间
(无权限限制)
指令:

Cirno|@Cirno <系统状态|status>

bot桌面截屏

暂时不可用
截取bot运行os的桌面环境的整个屏幕,并作为图片发送
指令:

Cirno|@Cirno <截屏|screen_shot> 

权限管理

配置各个功能对应群或好友的权限
该功能仅限主人或群分管员使用
指令:

Cirno|@Cirno <权限管理|perm_mgr> [-h|-l] [target] <func> <op_single>[op_type] [op_id]

-h:帮助
-l:列出目标的权限明细
target:操作目标,好友为f{QQ号},群为g{群号},省略为当前会话群
func:对应操作功能
op_single:操作符号,+为添加,-为删除
op_type:操作类型,all为泛权限,w为白名单,b为黑名单,对于好友可省略
op_id:欲增删的群成员qq号,开关泛权限时可省略

B站综合解析

用于解析关于B站的特定消息
可用于无需打开链接既可预览相应的内容,也可用于下载封面或头像
支持解析以下类型:

类型解析内容
b23短链接(小程序分享/客户端分享)进一步解析以下重定向的内容
av/bv号/视频链接/视频分享卡片标题、封面、UP主、TAG、合作成员、简介、互动数据等
用户空间链接/UID:xxx用户头像、昵称、等级、性别、粉丝数等
直播链接尚未完工
动态链接尚未完工
专栏链接/cv号尚未完工
音频链接/au号尚未完工
ep/ss/md号/番剧/影视链接尚未完工

指令:

B站解析

无特定指令,机器人通过正则表达式自行判断类型

一言

获取一条一言
接口由官方提供
指令:

一言 [-h] [type]

-h:帮助
type:指定获取类型,值为a-k,详见官方api文档

疫情速报

快速查询实时新冠疫情数据
内容实时爬取自丁香医生
指令:

疫情速报 [option] [国内|国际]

option:选项
-h:帮助
-d:显示数值精确到个位(如“12000”否则精确为“1.20万”)
可选国内国际数据,不做指定默认国内数据
在早上时新增数据未被统计,则不会显示

易姐语翻译

基于base16和AES的文本加密
程序将自动识别加密或解密内容
指令:

易姐语翻译 [-h] <value>

-h:帮助
value:明文或密文文本

今日简报

获取《今日简报》图片版本
订阅后bot将会在每天9:31时自动向群内发送简报
注:该功能仅限9:30-23:59可使用,且订阅功能仅可用于群聊
指令:

今日简报 [-h|sub|unsub]

-h:帮助(同时查看群订阅状态)
sub:群内订阅
unsub:群内退订

东方角色检索

可查询《东方Project》中的任何官方角色的基本信息,或2min限制qq语音形式的角色歌
支持使用中文/英文/日文名以及简称或代号(eg:灵梦、莉莉白、uuz)
注:只收录新作中的角色,现在整理进度为《萃梦想》前
指令:

东方角色[歌] [-h] <target>

-h:帮助
target:查询目标
当指令为"东方角色歌"时回复语音

5000兆円

生成双行“5000兆円 欲しい!”风格文字图片
每行最大支持10字符
指令:

5KM [-h] <upper> <lower>

-h:帮助
upper:第一行文字
lower:第二行文字

缩写

从一段文本中检索并翻译缩写
API使用能不能好好说话?
指令:

缩写 [-h] <text>

text:待检索的文本
-h:帮助

化学方程式配平

基于算法的化学方程式自动配平
用a+b=ab表示等量关系,或用a;b;ab表示模糊关系
别名请用[xx]表达
电子请用<xe->表达
语法详情请看文档
指令:

配平 [-h] <value>

value:待配平的表达式
-h, --help 帮助

SSTV

将收到的图片或文字编码为SSTV(慢扫描电视)信号,并通过语音发送
注:由于silk编码的原因,效果很差,不喜勿喷
支持以下制式(默认为MartinM1):
MartinM1,MartinM2,ScottieS1,ScottieS2,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,Robot8BW,Robot24BW
指令:

!SSTV [-h] [-m name]

-m:模式
-h:帮助

rua

生成对应头像的petpet gif动图
注:此功能暂时仅群聊可使用
指令:

rua<@member> [-h]

member:at的群成员
-h:帮助

Pornhub

生成“Porn hub LOGO”风格文字效果
左右各最大支持10字符
指令:

PH [-h] <left> <right>

-h:帮助
left:左边文字
right:右边文字

手机号归属地查询

通过手机号查询归属地、ISP、区号、邮编
只可查询11位的中国大陆手机号
接口由ip138提供
指令:

手机号归属地 [-h] <phone>

phone:欲查询的目标手机号
-h:帮助

身份证号解析

解析18位身份证号的信息(归属地、生日、性别等)
注:最后一位如果是‘X’请大写
指令:

身份证号解析 [-h] <target>

option:选项
-h 帮助
target:欲查询的目标身份证号

qq绑定查询

查询qq绑定的手机号,或反查
(来自当年泄露的17G神秘txt)
同时也会查询该手机号的归属地
如同时查到多条记录,则只返回第一条
指令:

Q绑查询 [option] <target>

option:选项
-r 反查(qq号查手机)
-h 帮助
target:欲查询的目标号码

爬虫综合统计

爬虫数据库实时统计
目前支持的类型:B站答题B站tag
指令:

爬虫统计 [-h] <target>

-h:帮助
target:目标类型

群成员变动

新群员进群时会@该群员,并发送欢迎消息
当有群员退群时,会向群内报告该群员的昵称及qq号

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

发表评论

email
web

captcha
请输入验证码

全部评论 (共 3 条评论)

    --阳光咕--
    2021-04-12 22:58
    等等,看到化学方程式配平我不淡定了
      2021-04-14 21:18
      @--阳光咕--以前在函数计算器上就装过这种软件,不过具体算法我还没去了解
    田所浩二
    2021-03-25 10:36
    嗯哼啊啊啊啊啊啊啊