menu LoCCaiの小窝
QIQI-Bot-开发&使用文档
6096 浏览 | 2022-06-01 | 阅读时间: 约 10 分钟 | 分类: 编程->Python学习笔记 | 标签: [编程] [机器人] [qqbot] [Python] [go-cqhttp] [nonebot2] [NLP] [AI] [PIL]
report请注意,本文编写于 485 天前,最后修改于 179 天前,其中某些信息可能已经过时。

简介

QIQI(七七)是由LoCCai开发的异步-事件响应型QQ机器人。

说明

七七酱由NoneBot2作为框架,python编写插件实现相关功能,对接数据库和各类api。

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

人设篇

七七,米哈游出品的游戏原神》及其衍生作品中的角色,璃月港药庐“不卜庐”的采药姑娘兼白术的学徒。因“仙缘”而拥有不死之身,行动时需要自己给自己下敕令。七七的记忆力非常差,为了保证日常生活的顺利,她随身携带着一本笔记,写有各种各样的注意事项。但在最不巧的那些日子里,她连“要看笔记”这件事都会忘记

更新篇

大事记

戳我展开

Bot创建2020-11-29|QRspeed框架
Bot框架2021-06-19|NaNBot框架
Bot人设2021-08-15|菜菜-七七
Bot框架2022-01-13|NoneBot2框架框架
Bot迁移2022-01-13|win11-Centos服务器
Bot数据2022-01-13|启用数据库作为数据存储,与原来的本地数据不互通
Bot数据2022-06-01|数据库合并,本地数据部分导入
Bot数据2023-03-03|意外的,我与七七同岁生日!

计划实现的功能

以下功能未实现,开发完毕后移除

戳我展开

  • 菜谱API&What to Eat 模块
  • 身份证号解析
  • IP属地
  • 手机号属地
  • Youtube解析
  • 爱奇艺视频解析
  • 腾讯视频解析
  • 搜图模块迁移(Nodejs-python)
  • B站专栏Push修复(Push不全)
  • 四象图模拟器
  • 二维码生成(图案 背景 样式自定义)
  • 早中晚安的时间处理优化
  • 知乎API
  • ......

架构篇

本bot由NoneBot2框架提供支持,异步部分由其实现,无需深入。

戳我展开

  • go-cqhttp:消息收发框架
  • 反向WebSocket:NB2框架连接
  • 正向WebSocket:Node框架连接(已移除)
  • OneBot V11:适配器
  • OneBot V12:适配器
  • navicat:通用数据库模块
  • sentry:日志监控模块
  • apscheduler:定时任务模块

功能篇

bot的功能分为响应定时广播

  • 响应:对收到的命令请求进行解析,并返回对应结果
  • 定时:定时向群内Push相关订阅
  • 广播Supa权限
指令格式:[ ]为可选参数,< >为必选参数,|为或逻辑,@为在群内at特定的人。
注:以上指示符实际使用不需要包含! 命令前缀:!/都是可使用项目,特别的是,部分命令要求必须使用,注意区分。

基础响应类

Ping

功能:Ping机器人,使机器人响应,并随机返回提示语或QIQI的表情图等。
权限级别:User
对应模块:cute_message.py
技术栈:OneBot v11、Regx、PokeNotifyEvent
参数:None
Tips:?七七将会返回七七的信息

指令:

<七七|?七七|戳一戳>

帮助

功能:获取帮助文档,或获取对应模块的帮助信息。
权限级别:User
对应模块:bot_help.py
技术栈:暂无
参数:module_name模块名
参数范围:Help命令中存在的module_name名称
Tips:-是提交参数必须的连接符

指令:

命令前缀+<help|Help|帮助|菜单> -[module]

状态

功能:查询bot运行平台的框架版本、CPU状态、RAM使用情况以及系统运行时间等。
权限级别:User
对应模块:bot_status.py
技术栈:psutil、typing
参数:None
Tips:无

指令:

命令前缀+status

Fun_Gadgets

功能:一些有趣的小工具。
权限级别:User
对应模块:......
技术栈:......

名称 命令 介绍
表情合成
<emoji_a> + <emoji_b>
emoji=非动态表情
Epic限免游戏
[Epic]喜(加一|+1)
Epic近日限免游戏
缩写查看
命令前缀+(sx|sc|缩写|
缩写查询|缩查)+<str>
str=待查询缩写文本
掷骰子
命令前缀+(rd|掷骰)+<x>+d+<y>
x=骰子个数y=骰子面数
语言抽象化
命令前缀+(抽象|抽象化)+<str>
效果一般
语言抽象化
命令前缀+抽象话+<str>
比上面的好些,但不太一样
转火星文
命令前缀+火星文+<str>
把文本消息转为火星文
枝网查重
命令前缀+(查重/枝网查重)+<str>
A-soul|str=待查重小作文
枝网小作文
命令前缀+(随机|)+小作文
随机返回一条小作文
词云
命令前缀+[我的]+<今日|昨日|
本周|本月|年度|历史>词云
数据处理较慢...
疯狂星期四
疯狂星期<X>
Tips:「X=八」是非法项|概率触发日文回复
人生重开
@QIQI-Bot+命令前缀+(remake|
liferestart|人生重开|人生重来)
人生重开模拟器小游戏
图标生成
命令前缀+调用名+str
返回生成的图标
调用名:
(ph/phlogo|yt/ytlogo|5000兆)携带双文本参数
(douyin/dylogo|google/gglogo)携带单文本参数
字符画生成
命令前缀+字符画+pic
返回生成的字符画,支持gif
Tips:自行尝试

Push类

News_Push

功能:新闻/早报/摸鱼日历等推送
权限级别:User
对应模块:bot_push.py
技术栈:requests、CQ、PIL、os
参数:None
Tips:
摸鱼日历Push7:52
每日简报Push9:30
60s读世界Push8:10

指令:

?+<摸鱼|今日简报|60s读世界>

Wyclx_Push

功能:基金/节日活动等推送
权限级别:User
对应模块:wyclx_push.py
技术栈:requests、CQ、PIL、plotly
参数:None
Tips:基金推送暂未完工,依赖微信公众号数据抓取。

指令:

None

Bison_Push

功能:Bilibili/weibo/RSS订阅/网易云歌手等推送与订阅
对应模块:bison_push.py
技术栈:httpx、PIL、utils

命令 参数 权限 介绍
@QIQI-Bot+命令前缀+添加订阅
流程类操作 Grsp 给当前群添加一个订阅
@QIQI-Bot+命令前缀+删除订阅
流程类操作 Grsp 给当前群删除一个订阅
@QIQI-Bot+命令前缀+查询订阅
流程类操作 User 查询当前群订阅
@QIQI-Bot+命令前缀+群管理
流程类操作 Supa 查询群列表并进行操作
Tips:群管理命令可以私聊,且无需@

功能响应类

What To Eat

功能:推荐菜名
对应模块:whateat.py
技术栈:utils、requests

命令 参数 权限 介绍
[今天|中午|今晚|晚上|夜宵..]吃[什么|啥]
None User 返回推荐食物
命令前缀+[添加|移除]+菜名
菜名 Grsp 操作群菜单的添加与移除
命令前缀+[加菜|移除]+菜名
菜名 Supa 操作基础菜单的添加与移除
命令前缀+[菜单|群菜单|查看菜单]
None User 查询菜单
[开启|关闭]按时吃饭小助手
None Supa 操作按时吃饭小助手提示的开关
Tips:基础菜单|群菜单存在的菜品互斥

Music

功能:点歌
权限级别:User
对应模块:bot_music.py
技术栈:httpx、typing
参数:平台歌曲名
Tips:无

指令:

命令前缀+[qq|网易|酷我|酷狗|咪咕|b站]+<歌曲名>

Find_Pic

功能:搜图
权限级别:User
对应模块:bot_find_pic.py
技术栈:typing、lxml、utils、node.js

命令 参数 权限 介绍
@QIQI-Bot+<pic>
pic User 单次搜索图片
搜图
None User 接下来发送的所有图片都将被搜索
<拜拜|白白|再见>
None User 退出批量搜图模式
来个[xx]色图
type User 随机返回一张符合类型的涩圖
Tips:可能搜到少儿不宜的本子
基于saucenaoascii2dexhentaiiqdbtrace.moe

Weather_Lite

功能:天气观测
权限级别:User
对应模块:Weather_Lite.py
技术栈:httpx、Msg-image、wttr
参数:城市名表样式语言
lang范围:(常用:ar阿拉伯文de德文el希腊文en英文fr法文it意大利文 ja日文 ru俄文zh-cn中简zh-tw中繁)
Tips:format参数v3有问题|待引入requests修复v3图表

指令:

命令前缀+(天气|wttr|weather|tianqi)+<城市名>+[_format=](v1|v2|v3)+[_lang=](zh-cn|...)

青年大学习

功能:制作青年大学习完成图
权限级别:User
对应模块:bot_youthstudy.py
技术栈:暂无

命令 参数 权限 介绍
<(青年大学习|大学习)>
None User 返回最新一期的青年大学习答案
<(大学习截图|完成截图)>
None User 返回最新一期的青年大学习完成截图
<(大学习帮助)>
None User 返回大学习帮助
<(开启|关闭)>大学习推送|全局推送
None Supa 全局推送操作
查询大学习推送<(用户|群)>列表
None Supa 全局推送操作
<(开启|关闭)>大学习推送
None User 私聊Bot订阅
Tips:传送 youthstudy

疫情

功能:国内疫情速递
权限级别:User
对应模块:bot_covid19.py
技术栈:requests、typing、os

命令 参数 权限 介绍
<city_name>+疫情
city_name User 返回请求的城市当前疫情状况
<city_name>+疫情政策
city_name User 返回请求的城市当前疫情政策
<city_name>+风险地区
city_name User 返回请求的城市当前风险地区
限查询大陆地级市或直辖市
<city_name>+疫情政策
city_name User 返回请求的城市当前疫情政策
命令前缀+<(关注|取消)
疫情>+<city_name>
city_name User 疫情信息推送与取消
Tips:无

boardgame

功能:五子棋/围棋/黑白棋对战
权限级别:User
对应模块:bot_boardgame.py
技术栈:asyncio、typing、dataclasses

命令 参数 权限 介绍
@QIQI-Bot + 命令前缀 +
<棋类名>
name User 在群内开启一个对局(同一个群只能存在一个对局)
Tips:@ 必须放在前面
@QIQI-Bot + 命令前缀 +
boardgame + --rule=
<rule>+[--size=<size>]
rule size User 在群内开启一个对局
Tips:rule为棋名,size为大小(后面的为默认大小)
可选(围棋=go-19)(五子棋=gomoku-15)(黑白棋/奥赛罗=othello-8)
命令前缀 + <(停止下棋|
boardgame --stop)>
None User 停止当前的对局
命令前缀 + (落子|
boardgame) + <position>
position User 下棋到position位置(position eg:A1)
开启对局后的前两名发送落子的群友自动加入对局
命令前缀 + <(悔棋|
boardgame --repent)>
None User 悔棋
命令前缀 + <(跳过回合|
boardgame --skip)>
None User 跳过回合
命令前缀 + <(查看棋局|
boardgame --view)>
None User 查看棋局
Tips:参考 koishi-plugin-chess

表情包制作

功能:制作表情包
权限级别:User
对应模块:bot_memes.py
技术栈:暂无

命令 参数 权限 介绍
命令前缀 +<表情包制作>
None User 返回可制作的表情合集图
命令前缀 +<name>+<str>
name str User 让Bot制作一个表情包
Tips:name为待制作的表情名,str为需求的文本
str多句的分隔符可以是"空格"|"换行"
Tips:传送 memes

头像表情包制作

功能:制作头像相关的表情包
权限级别:User
对应模块:bot_petpet.py
技术栈:暂无

命令 参数 权限 介绍
命令前缀 +<头像表情包>
None User 返回可制作的头像表情包合集图

具体的命令和展示戳我查看

命令 样式 说明
图片操作
+ pic
[图片操作-水平翻转|垂直翻转|黑白|旋转|反相|浮雕|轮廓|锐化]
[图片-必须在同一消息内发送]
祭拜
屏蔽了Bot自身的接口
可莉吃
屏蔽了Bot自身的接口
招财喵
屏蔽了Bot自身的接口
看这个
屏蔽了Bot自身的接口
快逃
屏蔽了Bot自身的接口
需要
屏蔽了Bot自身的接口
黄鱼
屏蔽了Bot自身的接口
求婚
屏蔽了Bot自身的接口
万能表情|空白表情
+ @ + str
[图片-at对象的头像]
[文字-携带参数]
摸|摸摸|摸头|摸摸头|rua
[参数-圆]让头像为圆形
如:摸头圆 自己
亲|亲亲
可指定一个或两个目标若为一个则为 发送人 亲 目标 若为两个则为 目标1 亲 目标2 如:亲 114514 自己
贴|贴贴|蹭|蹭蹭
可指定一个或两个目标 类似 亲
顶|玩
丢|扔
抛|掷
默认为随机选取一张爬表情可使用数字指定特定表情 如:爬 13 自己
精神支柱
一直
支持gif
加载中
支持gif
小天使
图中名字为目标qq昵称可指定名字,如:小天使 meetwq 自己
不要靠近
一样
玩游戏|来玩游戏
图中描述默认为:来玩休闲游戏啊 可指定描述 支持gif
膜|膜拜
出警
警察
问问|去问问
名字为qq昵称,可指定名字
舔  舔屏  prpr
支持gif
墙纸
支持gif
国旗
交个朋友
名字为qq昵称,可指定名字
继续干活  打工人
完美  完美的
关注
名字为qq昵称,可指定名字
我朋友说  我有个朋友说
默认使用发送者的头像 如:我朋友说 来份涩图
这像画吗
震惊
兑换券
默认文字为:qq昵称 + 陪睡券 可指定文字
听音乐
典中典
哈哈镜
永远爱你
对称
可使用参数“上”、“下”、“左”、“右”指定对称方向
安全感
可指定描述
永远喜欢  我永远喜欢
图中名字为目标qq昵称 可指定名字 可指定多个目标叠buff
采访
可指定描述
打拳
群青
需要  你可能需要
捂脸
垃圾  垃圾桶
为什么@我  为什么at我
像样的亲亲
啾啾
吸  嗦
紧贴  紧紧贴着
注意力涣散
阿尼亚喜欢
支持gif
想什么
支持gif
远离
结婚申请  结婚登记
离婚协议
离婚申请
小画家
复读
复读内容默认为“救命啊”
可指定多个目标
防诱拐
字符画
支持gif
我老婆
胡桃平板
支持gif
胡桃放大
支持gif
讲课
敲黑板
支持gif
上瘾
毒瘾发作
支持gif
手枪
高血压
支持gif
看书
遇到困难请拨打
可指定一个或两个目标
迷惑
支持gif
打穿
打穿屏幕
支持gif
击剑
🤺
抱大腿
唐可可举牌
无响应
抱紧
看扁
支持gif
可指定描述
可指定缩放倍率,默认为2
如:看扁 3 自己
看图标
支持gif
可指定描述
舰长
可指定1~5个目标
急急国王
可指定方块中的字和描述
可用多个图片替代方块
不文明
一起
波纹
支持gif
诈尸
秽土转生
卡比锤
卡比重锤
支持gif
可使用参数“圆”让头像为圆形
木鱼
凯露指
踢球
支持gif
波奇手稿
坐得住
坐的住
图中名字为目标qq昵称
可自定义名字
偷学
描述默认为“偷学群友数理基础”
可自定义描述
恍惚
恐龙
小恐龙
支持gif
挠头
鼓掌
追列车
追火车
万花筒
万花镜
支持gif
可使用参数“圆”让头像为圆形
加班
头像公式
等价无穷小
土豆
打印

Tips:传送 petpet

Api—Module

功能:一些通过Api请求实现的简单功能
权限级别:User
对应模块:bot_ccapi.py
技术栈:post、requests、httpx

具体的命令和展示戳我查看

命令参数权限介绍
命令前缀+<(网易云|网易云音乐
)>+[榜单名]
榜单名User可选榜单名见下
命令前缀+<(网抑云|网易云热评
)>+[ID]
歌单IDUser随机返回一条歌单内的网易云音乐热评
命令前缀+<(梗查|>梗)>+<str>
str-待检索的梗|[排行榜]User小鸡词典API抓包
命令前缀+<(坐观万象|打坐点)>
NoneUser网易大神API抓包
命令前缀+<Key>+[基础|记录|完整]
大神用户KeyUserKey为个人主页链接:user/.*/
命令前缀+<绕口令>
NoneUserAPI接口,返回一条绕口令
命令前缀+<历史上的今天>+[n]
去重前返回个数UserAPI接口,返回历史上的今天发生的事情
命令前缀+<网页快照>+<url>
网页链接UserAPI接口,返回网页截图
命令前缀+<鉴黄>+<pic>
待鉴定图片UserAPI接口,返回结果
命令前缀+<微博>+[热搜|话题|
新时代]
typeUser默认返回热搜
命令前缀+<一言>+[type]+[len_min]
+[len_max]
类型|最小长度|最大长度User默认返回动画

可选的音乐榜单:飙升榜/新歌榜/原创榜/热歌榜/说唱榜/电音榜/抖音榜/古典榜/ACG榜/韩语榜/潜力榜/国电榜/古风榜/摇滚榜/民谣榜/日语榜/乡村音乐榜/欧美热歌榜/欧美新歌榜/电子舞曲榜

可选的一言类型:动画|漫画|游戏|文学|原创|来自网络|其他|影视|诗词|网易云|哲学|抖机灵|其他

解析篇

bilibili

功能:解析鼠站的链接/小程序/av/bv等
权限级别:User
对应模块:bot_bilibili.py
技术栈:post、requests、httpx

网易大神

功能:解析网易大神的用户信息
权限级别:User
对应模块:bot_ccapi.py
技术栈:post、requests、httpx

Github

功能:解析Github的项目信息
权限级别:User
对应模块:bot_github.py
技术栈:post、requests、httpx

NLP篇

待更新ing......
看到有帮助的打赏点吧!孩子快要饿死了.....
支付宝 微信 数字人民币
发表评论
account_circle
email
web
全部评论
七七
2022-06-07 15:39
→_→
2022-06-06 17:57
歌曲封面
0:00