本文最后更新于: 2022年9月8日
Yukino-Mihana
是一款低延迟/多功能的Bilibili
推送程序。
功能
- 截图器: 动态 / 视频 / 文章 / 音频 内容截图,不打开链接就能看到内容
- 短链接: 防止群内刷屏
- 更详细: 推送 头像更新 / 直播间标题更新 / 粉丝量增加
- 功能多: 查成分 / 找大图 / 表情包 / 热词 / 群管 / 在线机型 等有趣的小功能
- 投稿箱: 内置投稿箱,群内投稿,网页查看,关键词屏蔽,更方便
更多更新内容请前往GitHub查看
功能介绍
- B站推送功能,请查看使用手册
大图
获取装扮大图表情包
获取装扮内表情包大表情
获取Up主设置的大表情热词
查看B站官网热词解释查成分
查询DD的成分棉花糖
对Up主投稿箱进行投稿- 群内增加/减少成员,戳一戳,文件上传 等监控
相关命令
- 查成分: 发送
查成分 B站昵称
来看看你关注了多少vup - 装扮表情相关:
表情包 Up主昵称
命令获取装扮表情包,大图 Up主昵称
命令获取装扮大图,大表情 Up主昵称
获取Up主大表情,单独发送表情包
大图
大表情
可查看目录 - 热词:
热词 你想查询的词语
可以查看热词解释 - 投稿箱/提问箱:
棉花糖
向投稿箱投稿(需要管理员开启功能) - 发送
支付宝到账xx元
返回语音 - 发送
疫情
查疫情
安装教程
本机器人分为无个部分:炸毛框架,QQ
客户端,工具箱,弹幕姬,数据库。原先的版本有docker
部署,但是我懒,所以这个版本还没有做docker
。
为什么要分那么多模块呢?因为主程序使用PHP
进行开发,PHP
我没有找到合适的截图器,相比之下,python
制图和网页截图就容易一些,所以分了很多模块。
总结下来,就是我比较菜。
安装数据库
不多解释,docker
/本地/远程都可以。
安装炸毛框架
炸毛框架文档地址: 炸毛框架
使用一键安装脚本:
bash <(curl -fsSL https://zhamao.xin/go.sh)
进入zhamao-app
文件夹
前往release
中下载Yukino-Mihana_1.0.0.phar
,放入zm_data
目录下的modules
文件夹(如果不存在需要手动创建)
执行解包命令
./zhamao module:unpack Yukino-Mihana
解包完成,退出zm_data
目录,进入config
目录,修改global.php
中的数据库字段(第70行左右)。
退出config
目录,运行炸毛框架
./zhamao server
运行客户端
建议参考炸毛框架的文档,我不想写了:文档地址
其实到这里,机器人主体已经可以正常运行了,只是没有截图器和直播统计功能而已。
下面来添加这两个功能。
安装工具箱 & 截图器
前往release
中下载tools.zip
,并解压。
进入目录,安装所需的库
pip -r requirements.txt
进入danmu
目录,开启弹幕姬
uvicorn main:app --host 0.0.0.0 --port 20002
退出danmu
目录,进入py_tools
目录,运行工具箱
uvicorn main:app --host 0.0.0.0 --port 20003
为了保持程序运行,记得使用tmux
或screen
,不多赘述。
使用教程
获取权限
所有需要管理员的指令都由$
开头,类似于linux
的非root
用户。
要获取管理员权限,需要向机器人发送getSuper
命令,机器人回复请输入控制台显示的独立验证码,五分钟内有效
。此时,炸毛框架的控制台上会输出以下内容:
^ "xxxx的独立验证码为: yyyy"
其中,xxxx
为申请账号的QQ
号,yyyy
为独立验证码。
请将独立验证码发送至机器人,从而获得高级权限。
开启推送
推送命令为$push
,虽然直接发送$push
也可以开启推送,我个人还是更推荐使用完整版命令:$push -u (up主) [-t (推送类型] [-p (推送位置)]
。
1. -u
参数
其中,-u
参数为不可省略参数(当然了,省略了也会提示你继续输入的), (Up主)
可以是昵称或ID
,如hanser
、MID:11073
,也可以是由多个Up主
由分号隔开,如hanser;泠鸢yousa
,当然了,昵称和ID
混用也是可以的。
后面[]
内的两个参数都是可以省略的参数,都有默认值。
2. -t
参数,来指定推送内容。(推送类型)
有以下几种
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|---|
转发 | 图片 | 文字 | 视频 | 小视频 | 戏剧 | 专栏 | 音频 | 番剧 | 其他 | 直播 | 直播统计 |
你可以以文字形式决定要订阅什么,以分号隔开,如视频;直播
,则机器人只会推送Up主
的投稿视频和直播/下播提醒,默认为全部订阅(如不含有t
参数则以默认形式订阅)。
当然了,由于这样会导致整个命令太长,比较冗杂,机器人也可以以二进制状态压缩的形式输入参数-t
,计算方法如下。
共有11
个推送类型,计算方法为每一个类型的对应编号的二进制左移后的按位或的值。即(1 << t[0]) | (1 << t[1]) ... | (1 << t[n])
。
这样说可能比较抽奖,简单的来说,就是2的(编号)次方的总和
,如我想订阅转发
和图片
,参数的值就为2 ^ 0 + 2 ^ 1 = 3
,如订阅全部,则为2 ^ 0 + 2 ^ 1 + ... + 2 ^ 11 = 4095
。
-p
参数,指定推送位置
此参数也为可选参数,默认值为当前会话。
此参数可以指定推送位置,在不方便时,可以在私聊会话开启一个群聊会话的推送。
参数为指定的位置,默认为私聊会话,如3053473706
,含义为推送至私聊会话,QQ号
为3053473706
,如需订阅至群聊会话,需要在前面指定group:
,如group:740261417
,含义为推送至群聊会话740261417
。
当然了,你也可以同时订阅多个,以分号隔开,如3053473706;2945213701
。也可以私聊群聊会话同时订阅,如3053473706;group:1048518082
,当同时订阅多个同种类型的会话时,不带前缀的默认与前一个相同,如3053473706;group:1048518082;729024464
,表示开启私聊会话3053473706
和群聊会话1048518082
与729024464
。
同时,订阅群聊会话后,再订阅私聊也是可以的,需要在前面添加private:
前缀,如3053473706;group:1048518082;729024464;private:2945213701
。
关闭推送
命令为$cancelPush
,参数有-u
和-p
,其中-p
参数为可选参数,意义同上。
更新推送
命令为$updatePush
,参数有-u
、-t
和-p
,其中-p
参数为可选参数,意义同上、