-
大佬, 大神
等等称呼并不会给开发者带来实际的收益,
你口中的大佬
一天也是只有24小时的时间,
并且已经因为写代码消耗了不少,
所以请尽可能详细的描述你的问题和需求,减少时间的浪费。 -
良好的代码/日志排版 阅读会更舒服
-
日志最好能是复制文本,而不是截图。方便把关键信息复制出来检索。
-
使用 插件/软件 前,要通读 readme
-
不推荐开启的功能 可能是实验性或者不可控的 所以开启之后不一定能带来更好的效果
-
影响下载速度的原因有 网络带宽,运营商(
电信、移动,联通
), Dns/Hosts, 丢包率, 代理 等等,只有一句下载很慢
,开发者只能对着空气分析

Best posts made by cssxsh
-
被用户气晕,倒点垃圾
-
Meme Helper 表情包生成器,支持Termux
更详细内容请阅读 https://github.com/cssxsh/meme-helper#readme
termux 和 windows 7 请看
https://github.com/cssxsh/mirai-skia-plugin/issues/2插件权限ID
xyz.cssxsh.mirai.plugin.meme-helper:*
,使用前授予权限插件依赖于 Mirai Skia Plugin (必要)
插件依赖于 Mirai Hibernate Plugin (不必要)目前插件开发处于实验性阶段
基本功能
PornHub
PornHub Login 生成
示例:
#ph Git Hub
PetPet
摸摸头生成
可以发送
图片
或者@某人
或者QQ号
确定卡片图片
示例:#pet @群主
,#pet 123456
Dear
狂亲表情包生成
可以发送
图片
或者@某人
或者QQ号
确定卡片图片
示例:#dear @群主
,#dear 123456
5000choyen
5000choyen 表情包生成
示例:
#choyen 我想吃 肯德基疯狂星期四套餐
zzkia
诺基亚短信 表情包生成
示例:
#pinyin 无内鬼,来点色图
游戏王
游戏王 表情包生成
可以发送图片
或者@某人
或者QQ号
确定卡片图片
可以使用xxx=yyy
, 指定属性,可选属性有:- 卡片名称:
name
- 怪兽属性:
attr
=dark, divine, earth, fire, light, spell, trap, water, wind
- 怪兽等级:
level
- 怪兽种族:
race
- 怪兽攻击:
atk
- 怪兽防御:
def
- 卡片版权:
copyright
示例:
#spell @Him188 Welcome PR 你可以PR
#trap @Him188 Useless PR 这个还是由我们自己实现
#monster @LaoLittle 援交JD 五元一次
随机表情包
随机表情包一张(通过 Mirai Hibernate Plugin 插件 从消息中收集得到)
示例:
#群友表情
Emoji合成
Google Emoji Kitchen,两个 emoji 合成 一个
示例:
😍+🥵
- 卡片名称:
-
非官方交流频道
用户和开发者都可以加
点击链接加入QQ频道【天网开发组】:https://qun.qq.com/qqweb/qunpro/share?_wv=3&_wwv=128&inviteCode=2bR5WD&from=246610&biz=ka
-
Pixiv Helper 免代理 自动推送 图片搜索 色图Zip打包 多TAG
Pixiv Helper
基于 Mirai Console 的 Pixiv 插件
基于 Kotlin Pixiv库 PixivClient ,通过清除ServerHostName 绕过SNI审查,免代理
Pixiv Helper 2 重构中 请移步 查看最新版 文档 https://github.com/cssxsh/pixiv-helper#pixiv-helper
使用前应该查阅的相关文档或项目
目前没有自动缓存清理,请使用 #删除指令 手动清理
R18图会按照Pixiv所给信息过滤
群聊模式使用默认账号,私聊模式Pixiv账号和QQ号关联,初次使用请先/pixiv
指令登陆账号
然后使用/cache recommended
缓存系统推荐作品,然后再使用色图相关指令
推荐使用/task cache recommended
定时自动缓存Gif图片需要由机器人自己合成,如果设备性能不足,请调整相关参数
自
1.9.0
起将数据库部分功能拆分
需要 Mirai Hibernate Plugin 做前置插件
这是必要的
MCL安装指令./mcl --update-package xyz.cssxsh.mirai:mirai-hibernate-plugin --channel stable --type plugin
打开浏览器,登录PIXIV 需要 Mirai Selenium Plugin 做前置插件
并且需要代理配置(可以打开浏览器后,在浏览器中配置)百度云上传功能 需要 Netdisk FileSync Plugin 做前置插件
但不必要,如果不使用上传功能请忽略群聊默认输出最少作品信息,需要增加请使用
/setting
指令修改发送模式可以使用
/setting
指令修改为闪照或撤销或转发
注意, 闪照等模式 并不会降低机器人被封禁
的风险。
机器人被封禁的主要风险来自- QQ号是新注册的
- Bot挂在服务器上,但是服务器IP被腾讯列为风险IP(腾讯通过IP确定 登录地区)
- Bot被高频使用,(另外,
高频发图再高频撤销
属于不打自招,正常用户有这个手速吗?) - 发送大量违规链接,或者触发关键词
指令
注意: 使用前请确保可以 在聊天环境执行指令
带括号的/
前缀是可选的
<...>
中的是指令名,由空格隔开表示或,选择其中任一名称都可执行例如/色图
[...]
表示参数,当[...]
后面带?
时表示参数可选
{...}
表示连续的多个参数本插件指令权限ID 格式为
xyz.cssxsh.mirai.plugin.pixiv-helper:command.*
,*
是指令的第一指令名
例如/pixiv sina
的权限ID为xyz.cssxsh.mirai.plugin.pixiv-helper:command.pixiv
Pixiv相关操作指令
指令 描述 /<pixiv> <sina>
扫码登录关联了PIXIV的微博账号,以登录PIXIV /<pixiv> <selenium>
打开浏览器,登录PIXIV /<pixiv> <refresh> [token]
登录 通过 refresh token /<follow> <user> {uid}
为当前助手关注指定用户 /<follow> <copy> [uid]
关注指定用户的关注 /<mark bookmark> <add> [uid] {words}?
添加指定作品收藏 /<mark bookmark> <delete> [pid]
删除指定作品收藏 /<mark bookmark> <random> [tag]?
随机发送一个收藏的作品 /<mark bookmark> <list>
显示收藏列表 cookie 文件为工作目录下的
cookie.json
内容 为 浏览器插件 EditThisCookie 导出的Json
EditThisCookie 安装地址
Chrome
Firefox
Edge色图相关指令
指令 描述 (/)<ero 色图 涩图>
缓存中随机一张色图 (/)<get 搞快点 gkd> [pid] [flush]?
获取指定ID图片 (/)<tag 标签> [word] [bookmark]? [fuzzy]?
随机指定TAG图片 (/)<boom 射爆 社保> [limit]? [word]?
随机一组色号图,默认30张 (/)<illustrator 画师> <uid id user 用户> [uid]
根据画师UID随机发送画师作品 (/)<illustrator 画师> <name 名称 名字 推特> [name]
根据画师name或者alias随机发送画师作品 (/)<illustrator 画师> <alias 别名> [name] [uid]
设置画师alias (/)<illustrator 画师> <list 列表>
显示别名列表 (/)<illustrator 画师> <info 信息> [uid]
获取画师信息 (/)<illustrator 画师> <search 搜索> [name] [limit]?
搜索画师 (/)<search 搜索 搜图> [image]?
saucenao、ascii2d 搜索图片 色图指令基于缓存信息,使用前请先缓存一定量的作品,推荐使用
/cache recommended
指令
使用色图指令时 指令后附带更好
, 可以使收藏数比前一张更高, 如果两次色图指令间隔小于触发时间(默认时间10s)也会触发这个效果
tag指令检索结果过少时,会自动触发缓存
tag指令可以尝试按照格式角色名(作品名)
检索角色, 举例红(明日方舟)
tag指令多keyword时,请使用_
,|
,,
,+
等符号将keyword连接起来,不要使用空格,举例明日方舟+巨乳
[image]?
为空时会从回复消息
,最近图片
获取
bookmark
参数指收藏数过滤
fuzzy
参数指模糊搜索画师别名的
uid
为0时表示删除指定别名搜图使用 https://saucenao.com 的 api,无KEY时,每天限额 100次, KEY参数在设置中添加
举例:
当 saucenao 的 搜索结果不足时,会自动补充 ascii2d 的搜索结果
缓存指令
指令 描述 /<cache> <follow>
缓存关注推送 /<cache> <rank> [mode] [date]?
缓存指定排行榜信息 /<cache> <recommended>
缓存推荐作品,ERO过滤 /<cache> <bookmarks> [uid]?
缓存用户的收藏中缓存色图作品 /<cache> <following> [fluhsh]? [uid]?
缓存关注画师作品 /<cache> <fms> [jump]? [uid]?
缓存关注画师收藏的作品 /<cache> <user> [uid]
缓存指定画师作品 /<cache> <tag> [tag]
缓存搜索tag得到的作品,ERO过滤 /<cache> <search>
缓存搜索记录 /<cache> <stop>
停止当前助手缓存任务 /<cache> <reply> [open]?
是否回复缓存细节,默认为否 [uid]?
会自动填充当前用户mode
可选值:MONTH
,WEEK
,WEEK_ORIGINAL
,WEEK_ROOKIE
,DAY
,DAY_MALE
,DAY_FEMALE
,DAY_MANGA
任务指令
指令 描述 /<task> <user> [uid] [duration]?
推送用户新作品 /<task> <rank> [mode]
推送排行榜新作品 /<task> <follow> [duration]?
推送关注用户作品 /<task> <recommended> [duration]?
推送推荐作品 /<task> <backup> [duration]?
数据自动备份 /<task> <cache> {args}
数据自动缓存 /<task> <web> [pattern] [link] [duration]?
推送,从url链接获取 /<task> <trending> [duration]? [times]?
推送热门标签 /<task> <detail>
查看任务详情 /<task> <delete> [name]
删除任务 备份文件优先推送到群文件,其次百度云
duration 单位分钟,默认3小时
/task cache {args}
是 task 和 cache 指令的组合,举例,/task cache recommended
设置指令
指令 描述 /<setting> <interval> [sec]
设置连续发送间隔时间, 单位秒 /<setting> <forward>
设置Task发送模式 /<setting> <link>
设置是否显示Pixiv Cat 原图链接 /<setting> <tag>
设置是否显示TAG INFO /<setting> <attr>
设置是否显示作品属性 /<setting> <cooling>
设置cooling置零 /<setting> <max> [num]
设置显示最大图片数 /<setting> <model> [type] [ms]?
设置发送模式 发送模式 有三种
NORMAL, FLASH, RECALL
,ms
是Recall的延迟时间,单位毫秒
注意:FLASH, RECALL
这两种模式 并不会降低机器人被封禁
的风险
forward
,link
,tag
,attr
使用指令后会对当前值取反备份指令
指令 描述 /<backup> <user> [uid]
备份指定用户的作品 /<backup> <alias> [mode] [date]?
备份已设定别名用户的作品 /<backup> <tag> [tag] [marks]? [fuzzy]?
备份指定标签的作品 /<backup> <data>
备份插件数据 /<backup> <list>
列出备份目录 /<backup> <get> [filename]
获取备份文件,发送文件消息 /<backup> <upload> [filename]
上传文件到百度云 /<backup> <auth>
百度云用户认证 /<backup> <reload> [path] [mode] [chunk]?
从 sqlite 备份中导入数据 reload 的 mode 可选 有以下几种
EXCEPTION, IGNORE, OVERWRITE, LATEST_VERSION
reload 的 chunk 为分段提交数量的大小, 默认8196
使用百度云服务需要的准备详见配置统计信息指令
指令 描述 /<info> <helper> [target]?
获取助手信息 /<info> <user> [target]?
获取用户信息 /<info> <group> [target]?
获取群组信息 /<info> <top> [limit]?
获取TAG指令统计信息 /<info> <cache>
获取缓存信息 播放指令
指令 描述 (/)<play 播放> <interval 间隔>
设置间隔 (/)<play 播放> <ranking 排行榜> [mode] [date]?
播放官方排行榜 (/)<play 播放> <rank 排行> {words}
根据 words 播放NaviRank (/)<play 播放> <recommended 推荐>
根据 系统推荐 播放图集 (/)<play 播放> <mark 收藏> [tag]?
播放收藏 (/)<play 播放> <article 特辑> [aid]
播放特辑 (/)<article 特辑>
随机播放特辑 (/)<rank 排行> <year 年 年榜> {words}
随机播放NaviRank 年榜 (/)<rank 排行> <month 月 月榜> {words}
随机播放NaviRank 月榜 (/)<rank 排行> <tag标签> {words}
随机播放NaviRank 标签榜 (/)<play 播放> <stop 停止>
停止播放当前列表 删除指令
指令 描述 /<delete> <artwork> [pid] [record]?
删除指定作品 /<delete> <user> [uid] [record]?
删除指定用户作品 /<delete> <bookmarks> [max] [record]?
删除小于指定收藏数作品 /<delete> <page> [min] [record]?
删除大于指定页数作品 /<delete> <manga> [record]?
删除漫画作品 /<delete> <record>
删除已记录作品 第二参数 record 表明是否写入数据库,默认为否,只删除图片文件
URL 自动解析
权限 id:
xyz.cssxsh.mirai.plugin.pixiv-helper:url
匹配一下正则表达式的URL将会被解析val URL_ARTWORK_REGEX = """(?<=pixiv\.net/(i|artworks)/|illust_id=)\d+""".toRegex() val URL_USER_REGEX = """(?<=pixiv\.net/(u/|users/|member\.php\?id=))\d+""".toRegex() val URL_PIXIV_ME_REGEX = """(?<=pixiv\.me/)[\w-]{3,32}""".toRegex()
设置
PixivHelperSettings.yml
cache_path
缓存目录backup_path
备份目录temp_path
临时目录ero_chunk
色图分块大小 和自动触发TAG缓存有关ero_up_expire
色图自动触发更高收藏数的最大时间,单位毫秒ero_work_types
涩图标准 内容类型ILLUST, UGOIRA, MANGA
, 为空则全部符合ero_bookmarks
涩图标准 收藏ero_page_count
涩图标准 页数ero_tag_exclude
涩图标准 排除的正则表达式ero_user_exclude
涩图标准 排除的UIDpximg
反向代理, 若非特殊情况不要修改这个配置,保持留空,可选代理i.pixiv.re, i.pixiv.cat
proxy
API代理proxy_download
DOWNLOAD代理图片下载器会对代理产生很大的负荷
,请十分谨慎的开启这个功能timeout_api
API超时时间, 单位mstimeout_download
DOWNLOAD超时时间, 单位msblock_size
DOWNLOAD分块大小, 单位B, 默认 523264, 为零时, 不会分块下载tag_sfw
tag 是否过滤r18 依旧不会放出图片ero_sfw
ero 是否过滤r18 依旧不会放出图片cache_capacity
下载缓存容量,同时下载的任务上限cache_jump
缓存是否跳过下载upload
压缩完成后是否上传百度云,不上传百度云则会尝试发送文件
NetdiskOauthConfig.yml从 1.7.2 开始 百度云上传功能需要 Netdisk FileSync Plugin 作前置插件
该配置作废,改由前置插件配置,并且需要重新验证
或者将PixivConfig.yml
中的 token 手动迁移 到 前置插件的user.yml
插件上传文件功能需要百度网盘API支持,但这个配置(备份文件)是可选的,不影响其他功能的使用。
请到 https://pan.baidu.com/union/main/application/personal 申请应用,并将获得的APP信息填入
信息只在启动时读取,修改后需重启,并使用 /backup auth 认证百度账号ImageSearchConfig.yml
key
KEY 不是必须的,无KEY状态下,根据IP每天可以搜索 100 次,有KEY状态下搜索次数依据于账户
KEY 参数请到 https://saucenao.com/ 注册账号,
在用户页面 https://saucenao.com/user.php?page=search-api 获得的KEY填入
信息只在启动时读取,修改后需重启limit
显示的搜索结果数bovw
ascii2d 检索类型,false色合検索 true特徴検索wait
图片等待时间,单位秒forward
转发方式发送搜索结果
PixivGifConfig.yml
quantizer
编码器,com.squareup.gifencoder.ColorQuantizer
的实现
目前可选值,图片质量和所需性能按顺序递增, 推荐使用OctTreeQuantizer
com.squareup.gifencoder.UniformQuantizer
com.squareup.gifencoder.MedianCutQuantizer
com.squareup.gifencoder.OctTreeQuantizer
com.squareup.gifencoder.KMeansQuantizer
xyz.cssxsh.pixiv.tool.OpenCVQuantizer
(需要 安装 OpenCV, 对应jar
放进plugins
文件夹)ditherer
抖动器,com.squareup.gifencoder.Ditherer
的实现
目前可选值, 推荐使用AtkinsonDitherer
com.squareup.gifencoder.FloydSteinbergDitherer
com.squareup.gifencoder.NearestColorDitherer
xyz.cssxsh.pixiv.tool.AtkinsonDitherer
xyz.cssxsh.pixiv.tool.JJNDitherer
xyz.cssxsh.pixiv.tool.SierraLiteDitherer
xyz.cssxsh.pixiv.tool.StuckiDitherer
disposal
切换方法
可选值UNSPECIFIED
,DO_NOT_DISPOSE
,RESTORE_TO_BACKGROUND
,RESTORE_TO_PREVIOUS
max_count
OpenCVQuantizer 最大迭代数
hibernate.properties
如果不是特殊需要,使用默认的 SQLite 配置就好
配置 mysql 举例 (字符集要设置为utf8mb4_bin),其他数据库类推
下载 mysql-connector-java(1.8.3+,
, 然后放进plugins
文件夹mirai-hibernate-plugin
自带mysql
此步骤不再需要)
配置 文件hibernate.connection.url=jdbc:mysql://localhost:3306/pixiv?serverTimezone=Aisa/Shanghai hibernate.connection.driver_class=com.mysql.cj.jdbc.Driver hibernate.connection.CharSet=utf8mb4 hibernate.connection.useUnicode=true hibernate.connection.username=username hibernate.connection.password=password hibernate.dialect=org.hibernate.dialect.MySQL5Dialect hibernate.connection.provider_class=org.hibernate.connection.C3P0ConnectionProvider hibernate.hbm2ddl.auto=none hibernate-connection-autocommit=true hibernate.connection.show_sql=false hibernate.autoReconnect=true
关于表的自动创建可以查看 model
-
非官方开发交流群
非官方的Mirai开发者交流群
天网开发组: 634148065加群问题请提交github id
例如:
https://github.com/cssxsh 的cssxsh
https://github.com/mzdluo123的mzdluo123
请使用自己的GitHub ID 不要填
cssxsh
、mzdluo123
-
MCL下 安装 mirai-logging 转接日志
需要
2.0.0+
版本的mcl
https://github.com/mamoe/mirai/tree/dev/logging使用指令
./mcl --update-package net.mamoe:mirai-logging-log4j2 --channel maven-stable --version 2.11.0
或者直接编辑 config.json,添加
"net.mamoe:mirai-logging-log4j2": { "channel": "maven-stable", "version": "2.11.0", "type": "libs", "versionLocked": false }
-
B站订阅插件,动态、视频、直播订阅 @全体成员
BiliBili Helper
基于 Mirai Console 的 哔哩哔哩 订阅插件
使用前应该查阅的相关文档或项目
从 1.2.5 版本开始 将截图部分功能的转移至 mirai-selenium-plugin
截图功能的启用需要其作为前置插件
关于截图支持的环境请浏览 运行平台支持
直播 @全体成员 详见配置此设置 1.5.0 废除, 改用指令配置
自动触发URL解析 详见 信息解析 指令
消息 模板 详见配置(自 1.4.0 起截图功能由模板内容来配置)指令
注意: 使用前请确保可以 在聊天环境执行指令
带括号的/
前缀是可选的
<...>
中的是指令名,由空格隔开表示或,选择其中任一名称都可执行例如/B视频 添加 11783021
[...]
表示参数,当[...]
后面带?
时表示参数可选
{...}
表示连续的多个参数本插件指令权限ID 格式为
xyz.cssxsh.mirai.plugin.bilibili-helper:command.*
,*
是指令的第一指令名
例如/B动态 添加 496371957
的权限ID为xyz.cssxsh.mirai.plugin.bilibili-helper:command.bili-dynamic
参数
uid
例如https://space.bilibili.com/508963009/
的数字508963009
参数contact
为QQ号或者群号,可以省略,会从当前聊天环境获取,
比如群聊中会自动填充为当前群号, 但控制台中必须填充子指令
sleep/at
的target
是 被许可人 ID
处于休眠时间的订阅将不会推送
举例:/bili-dynamic sleep g12345 00:00 06:00
,00:00~06:00
时间段内将不会推送
处于艾特时间的订阅将会添加艾特
举例:/bili-live at g12345 19:00 23:00
,19:00 23:00
时间段内将会艾特全体/bili-live at u456789 19:00 23:00
,19:00 23:00
时间段内将会艾特用户456789
子指令
cron
的cron
参数是 CRON 表达式, 由秒 分钟 小时 日 月 周
组成
举例:/bili-dynamic time 508963009 "0 0 14 * * ?"
,0 0 14 * * ?
表示每天 14:00 都执行一次/bili-video time 508963009 "0 0 18 ? * 2-6"
,0 0 18 ? * 2-6
表示星期一至星期五 每天 18:00 执行一次
可以使用在线编辑器生成 https://www.bejson.com/othertools/cron/
为防止被 空格 分成多个参数,请使用"
包裹参数
动态订阅指令
指令 描述 /<bili-dynamic B动态> <add 添加> [uid] [contact]?
添加一个b站动态订阅 /<bili-dynamic B动态> <stop 停止> [uid] [contact]?
停止一个b站动态订阅 /<bili-dynamic B动态> <time 定时> [uid] [cron]?
设置任务的定时信息 /<bili-dynamic B动态> <list 列表> [contact]?
列出当前联系人的动态订阅 /<bili-dynamic B动态> <forbid 屏蔽> [pattern] [add]?
添加一个动态正则屏蔽 /<bili-dynamic B动态> <sleep 休眠> [target] [start] [end]
添加一个休眠时间 /<bili-dynamic B动态> <at 艾特> [target] [start] [end]
添加一个艾特时间 /bili-dynamic forbid 转发抽奖
添加一个正则屏蔽
/bili-dynamic forbid 转发抽奖 false
取消一个正则屏蔽
/bili-dynamic filter 视频
添加一个动态类型过滤
/bili-dynamic filter 视频 false
取消一个动态类型过滤
type
取值回复, 图片, 文本, 视频, 专栏, 音乐, 剧集, 删除, 番剧, 电视, 直播
直播订阅指令
指令 描述 /<bili-live B直播> <add 添加> [uid] [contact]?
添加一个b站直播订阅 /<bili-live B直播> <stop 停止> [uid] [contact]?
停止一个b站直播订阅 /<bili-live B直播> <time 定时> [uid] [cron]?
设置任务的定时信息 /<bili-live B直播> <list 列表> [contact]?
列出当前联系人的直播订阅 /<bili-live B直播> <sleep 休眠> [target] [start] [end]
添加一个休眠时间 /<bili-live B直播> <at 艾特> [target] [start] [end]
添加一个艾特时间 视频订阅指令
指令 描述 /<bili-video B视频> <add 添加> [uid] [contact]?
添加一个b站视频订阅 /<bili-video B视频> <stop 停止> [uid] [contact]?
停止一个b站视频订阅 /<bili-video B视频> <time 定时> [uid] [cron]?
设置任务的定时信息 /<bili-video B视频> <list 列表> [contact]?
列出当前联系人的视频订阅 /<bili-video B视频> <forbid 屏蔽> [type] [add]?
添加一个视频类型屏蔽 /<bili-video B视频> <filter 过滤> [tid] [add]?
添加一个视频分区过滤 /<bili-video B视频> <sleep 休眠> [target] [start] [end]
添加一个休眠时间 /<bili-video B视频> <at 艾特> [target] [start] [end]
添加一个艾特时间 /bili-video forbid 付费
添加一个类型屏蔽
/bili-video forbid 付费 false
取消一个类型屏蔽
/bili-video filter 1
添加一个分区过滤过滤
/bili-video filter 1 false
取消一个分区过滤过滤
type
取值付费, 联合, 回放
tid
取值请参考 https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/video/video_zone.md视频订阅不宜过多,否则会触发b站反爬策略,导致IP被锁定 动态订阅一般会包含视频内容,推荐以此代替
剧集订阅指令
指令 描述 /<bili-season B剧集> <add 添加> [sid] [contact]?
添加一个b站剧集订阅 /<bili-season B剧集> <stop 停止> [sid] [contact]?
停止一个b站剧集频订阅 /<bili-season B剧集> <time 定时> [uid] [cron]?
设置任务的定时信息 /<bili-season B剧集> <list 列表> [contact]?
列出当前联系人的剧集订阅 /<bili-season B剧集> <sleep 休眠> [target] [start] [end]
添加一个休眠时间 /<bili-season B剧集> <at 艾特> [target] [start] [end]
添加一个艾特时间 剧集订阅需要 Season ID 例如 https://www.bilibili.com/bangumi/play/ss38353 的
38353
可以通过 搜索指令 搜索番剧 获得链接信息解析指令
指令 描述 /<bili-info B信息> <aid> [id]
根据 avid 获取视频信息 /<bili-info B信息> <bvid> [id]
根据 bvid 获取视频信息 /<bili-info B信息> <dynamic> [id]
根据 id 获取动态信息 /<bili-info B信息> <live> [id]
根据 id 获取直播信息 /<bili-info B信息> <user> [id]
根据 id 获取用户信息 返回结果包含图片,需要在聊天环境执行指令
消息中包含BV12v411G7dP
av2
等等 id 信息时会自动触发解析
目前会触发的正则表达式// Video """(?i)(?<!\w)(?:av(\d+)|(BV[0-9A-z]{10}))""" // Dynamic """(?<=t\.bilibili\.com/(?:h5/dynamic/detail/)?)(\d+)""" // Live Room """(?<=live\.bilibili\.com/)(\d+)""" // User Space """(?<=space\.bilibili\.com/|bilibili\.com/space/)(\d+)""" // Season """(?i)(?<!\w)ss(\d{4,10})""" // Episode """(?i)(?<!\w)eq(\d{4,10})""" // Media """(?i)(?<!\w)md(\d{4,10})""" // Article """(?i)(?<!\w)cv(\d{4,10})""" """(?<=bilibili\.com/read/mobile\?id=)(\d+)""" // Short Link """(?<=b23\.tv\\?/)[0-9A-z]+"""
搜索指令
指令 描述 /<bili-search B搜索> <user 用户> [keyword]
搜索用户 /<bili-search B搜索> <bangumi 番剧> [keyword]
搜索番剧 /<bili-search B搜索> <ft 影视> [keyword]
搜索影视 返回结果包含图片,需要在聊天环境执行指令
任务列表指令
指令 描述 /<bili-task B任务> <all>
全部任务 /<bili-task B任务> <dynamic>
动态任务 /<bili-task B任务> <live>
直播任务 /<bili-task B任务> <season>
剧集任务 /<bili-task B任务> <video>
视频任务 /<bili-task B任务> <config>
屏蔽设置 模板配置指令
指令 描述 /<bili-template B模板> <datetime> [pattern]
日期格式 /<bili-template B模板> <reload>
重新加载 pattern
的 取值为 DateTimeFormatter
举例:/B模板 datetime ISO_LOCAL_DATE_TIME
/B模板 datetime yyyy-MM-dd
设置
位于
Mirai-Console
运行目录下的config/xyz.cssxsh.mirai.plugin.bilibili-helper
文件夹下BiliHelperSettings.yml
cache
图片缓存位置, 默认为ImageCache
limit
动态 订阅 输出图片数量上限, 默认为16
api
API 访问间隔时间,单位秒, 默认为10
video
视频 订阅 访问间隔时间,单位分钟, 默认为10
dynamic
动态 订阅 访问间隔时间,单位分钟, 默认为10
live
直播 订阅 访问间隔时间,单位分钟, 默认为30
season
番剧 订阅 访问间隔时间,单位分钟, 默认为30
refresh
启动时刷新 last,订阅最后推送将会重新开始记录,未推送内容将会因此丢弃selenium
是否启用截图此配置项废弃,通过 Template 文件内容来确定是否启用截图ban
排除的自动解析内容,可以放一些不希望被解析的AV号之类的forward
转发自动解析, 使用转发的形式发送自动解析结果max
一次性推送的订阅内容上限, 超过这个上限将会尝试合并为转发消息
BiliCleanerConfig.yml
interval
图片清理的间隔时间,单位 小时expires
图片缓存过期时间,单位 小时
SeleniumConfig.yml
user_agent
截图设备UA 网页识别设备类型,进而影响截图的效果
iPadMozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1 MicroMessenger
iPhoneMozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 MicroMessenger
MacMozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50 MicroMessenger
width
截图宽度height
截图高度pixel_ratio
截图像素比此配置废除headless
无头模式(后台模式)home
浏览器会保持打开主页,以加快其他页面加载速度此配置废除hide
隐藏的web组件(jQ选择器)
添加".international-header", ".top-bar", ".m-navbar"
可以屏蔽顶边栏
LiveAtAll此设置 1.5.0 废除
此配置通过权限设置,权限ID为xyz.cssxsh.mirai.plugin.bilibili-helper:live.atall
配置对象为群,即g*
,g12345
举例,perm add g12345 xyz.cssxsh.mirai.plugin.bilibili-helper:live.atall
Template
位于
config/xyz.cssxsh.mirai.plugin.bilibili-helper/Template
目录下的template
文件
文件名为对应的配置对象(类名),文件内容的#...
是替换标记,将会替换为对应的值
值的名称请参考 bilibili/data 中的数据定义
#images
,#detail
,#screenshot
为特殊的替换标记,将会替换为特殊的处理结果
#images
将会替换为内容图片
在BiliRoomInfo
中#detail
将会替换为对应的Live
在DynamicCard
中#detail
将会替换为对应的card
解析结果
在DynamicInfo
中#screenshot
将会替换为截图(需要安装mirai-selenium-plugin
)
在Article
中#screenshot
将会替换为截图(需要安装mirai-selenium-plugin
)
例如可以将VideoStatus.template
改为👍 #like 💰 #coin ⭐ #favorite ▶️ #view 💬 #reply 🔄 #share
Cookies
位于
data/xyz.cssxsh.mirai.plugin.bilibili-helper/cookies.json
导入 cookies文件 不是必须的,这是实验性功能,主要是防止b站反爬IP锁定
从 浏览器插件 EditThisCookie 导出Json 填入文件
EditThisCookie 安装地址
Chrome
Firefox
Edge安装
MCL 指令安装
./mcl --update-package xyz.cssxsh:bilibili-helper --channel stable --type plugin
手动安装
- 运行 Mirai Console 生成
plugins
文件夹 - 从 Releases 下载
jar
并将其放入plugins
文件夹中
截图前置
./mcl --update-package xyz.cssxsh.mirai:mirai-selenium-plugin --channel stable --type plugin
TODO
- 完善剧集订阅
- 自动清理图片缓存
-
简单的Rss订阅插件 已添加RssHub支持 番剧订阅Bt种子自动上传
Rss Helper
基于 Mirai Console 的RSS订阅插件
指令
注意: 使用前请确保可以 在聊天环境执行指令
带括号的/
前缀是可选的
<...>
中的是指令名,由空格隔开表示或,选择其中任一名称都可执行例如/rss add https://github.com/cssxsh.atom
[...]
表示参数,当[...]
后面带?
时表示参数可选
{...}
表示连续的多个参数 下列指令的 URL 参数可以使用 base64 编码 后的形式RssBaseCommand
指令 描述 /<rss> <add> [url]
添加一个订阅 /<rss> <list>
列出订阅列表 /<rss> <interval> [url] [duration]
设置订阅间隔, 单位分钟 /<rss> <stop> [url]
取消一个订阅 RssGithubCommand
指令 描述 /<rss-github> <releases> [owner] [repo]
添加一个Releases订阅 /<rss-github> <commits> [owner] [repo]
添加一个Commits订阅 /<rss-github> <tags> [owner] [repo]
添加一个Tags订阅 /<rss-github> <activity> [user]
添加一个Activity订阅 /<rss-github> <private> [user] [secret]
添加一个Private订阅 RssMikanCommand
指令 描述 /<rss-mikan mikan> <my> [token]
添加一个MyBangumi订阅 /<rss-mikan mikan> <classic>
添加一个Classic订阅 /<rss-mikan mikan> <bangumi> [id] [sub]?
添加一个Bangumi订阅 /<rss-mikan mikan> <search> [word]
添加一个Search订阅 指令基于 蜜柑计划
RssMoeCommand
指令 描述 /<rss-moe> <recent>
查看当季番剧TAG /<rss-moe> <search> [name]
搜索TAG /<rss-moe> <tags> {ids}
添加一个Tag订阅 指令基于 萌番组
RssTestCommand
指令 描述 /<rss-test> <build> [url]
测试一个订阅 /<rss-test> <ssl>
测试SSL /<rss-test> <clear>
清空种子文件 RssMiraiCommand
指令 描述 /<rss-mirai mirai> <category> [value]
添加标签订阅 /<rss-mirai mirai> <plugin>
添加插件发布订阅 /<rss-mirai mirai> <other>
添加其他项目发布订阅 RssHubCommand
指令 描述 /<rss-hub rsshub> <add>
交互添加RssHub订阅 交互过程举例
1748(1438159989) 23:29:58 /rsshub add QQBot(3337342367) 23:30:02 request returned 1899 routes QQBot(3337342367) 23:30:03 请输入路由名 1748(1438159989) 23:30:07 755 QQBot(3337342367) 23:30:07 (0, /755/user/:username) QQBot(3337342367) 23:30:08 /755/user/:username, 输入:username (置空可以输入#) 1748(1438159989) 23:30:21 akimoto-manatsu QQBot(3337342367) 23:30:26 1748 /rsshub add RSS订阅任务[秋元真夏(乃木坂46) - 755]已添加
配置文件
RssHubConfig.yml
可以配置rsshub的域名,即可以配置rsshub的源
此配置只对新的rsshub订阅订阅行为有效配置
RssHubConfig
- domain rsshub 服务器的域名,默认为官方的 rsshub.app
HttpClientConfig
- doh Dns Over Https Url (为空时关闭Doh,使用系统DNS since 1.0.0-dev-6)
- sni 需要移除 SNI HostName 的域名的正则表达式列表
- proxy 代理列表 host: proxy, host=127.0.0.1时是全局代理
- ipv6 doh 开启ipv6 支持 (since 1.0.3)
RssContentConfig
- limit 订阅内容输出到QQ消息的最大长度,超过则只会输出
内容过长
TODO
- 翻译功能
- 代理支持
- Doh支持
- 将Html转化为Mirai的MessageChain(主要目的是显示图片)
安装
MCL 指令安装
./mcl --update-package io.github.gnuf0rce:rss-helper --channel stable --type plugin
手动安装
- 运行 Mirai Console 生成
plugins
文件夹 - 从 Releases 下载
jar
并将其放入plugins
文件夹中
-
Arknights Helper / 明日方舟 助手,更新订阅的微博号配置项
Arknights Helper
基于 Mirai Console 的 明日方舟 助手插件
使用前应该查阅的相关文档或项目
指令
注意: 使用前请确保可以 在聊天环境执行指令
带括号的/
前缀是可选的
<...>
中的是指令名,由空格隔开表示或,选择其中任一名称都可执行例如/抽卡 十连
[...]
表示参数,当[...]
后面带?
时表示参数可选
{...}
表示连续的多个参数本插件指令权限ID 格式为
xyz.cssxsh.mirai.plugin.arknights-helper:command.*
,*
是指令的第一指令名
例如/抽卡 十连
的权限ID为xyz.cssxsh.mirai.plugin.arknights-helper:command.gacha
助手抽卡指令
指令 描述 /<gacha 抽卡> <one 单抽> [times]?
单抽 times
次,默认为1/<gacha 抽卡> <one 十连> [times]?
十连 times
次,默认为1/<gacha 抽卡> <detail 详情>
查看卡池规则 /<gacha 抽卡> <set 设置> [name]
设置卡池为 name
, 默认为NORMAL
/<gacha 抽卡> <pool 卡池> [name] [set]? {rules}
设置卡池 name
的规则为rules
,当set
为true
时设置为当前卡池抽卡每一抽会消耗
600
合成玉,合成玉可以通过答题获得,通过玩家详情查看ArknightsGachaCommand 卡池规则
rules
参数格式rules
参数从第二行起,按行分割
每行格式为规则干员名|星级|other|...:概率
或者注释#...
星级用连续的*
表示,例如*****
表示五星干员,需要单行设置,设置的概率不包括已设置干员名
other表示剩余的其他干员
概率用小数表示,全部行的概率加起来的概率要为100%
,即1.00
例子/抽卡 卡池 限时寻访深悼 浊心斯卡蒂|凯尔希:0.014 赤冬:0.04 ******:0.006 *****:0.04 ****:0.48 other:0.42
助手答题指令
指令 描述 /<mine 挖矿 答题> [type]?
机器人会提出一个问题 /<question 问题> <detail 详情> [name]
查看自定义问题的详情 /<question 问题> <list 列表>
列出已经设置的自定义问题 /<question 问题> <delete 删除>
删除指定问题 /<question 问题> <add 添加>
与机器人互动,输入条件,设置新问题 /<question 问题> <count 统计>
答题情况统计 回复选项序号
A~Z
,即算回答问题
type
是提问问题类型,默认为全部类型
回答了当前问题才会出现下一个问题
快速回答(规定时间的1/3内)会有相应奖励
群聊模式的其他群员亦可回答题目,但题目只能被回答一次,且其他人作为抢答者有相应奖励和惩罚
题目结构如下[类型](得分) 问题 A. 选项 B. 选项 ...
助手公招指令
指令 描述 /<recruit 公招> {words}
查看关键词 words
的公招干员works
的数量为1~5助手材料指令
指令 描述 /<item 材料> [name] [limit]? [now]?
查看材料的关卡掉落率 /<stage 关卡> [name] [limit]? [now]?
查看关卡的材料掉落率 /<zone 章节 活动 地图> [name] [limit]? [now]?
查看地图所有关卡的材料掉落率 limit
是显示单元的最大数量
now
是是否只显示当前开启关卡,默认为true
可以通过配置材料别名设置可选的材料索引助手玩家指令
指令 描述 /<player 玩家> <detail 详情>
当前玩家(QQ号)在助手中的数据 /<player 玩家> <reason 理智> [init]
设置玩家(QQ号)当前理智为 init
/<player 玩家> <level 等级> [index]
设置玩家(QQ号)当前等级为 index
/<player 玩家> <recruit 公招> [site] [hours] [minutes]
设置公招位 site
等待时间/<player 玩家> <record 记录>
列出玩家的公招记录 玩家的默认等级为
120
理智的提醒时间会根据玩家等级和当前理智值init
设置助手蹲饼指令
指令 描述 /<guard 蹲饼> <detail 详情>
当前蹲饼的状态和轮询时间 /<guard 蹲饼> <speed 速度>
设置蹲饼轮询时间是 speed
分钟/<guard 蹲饼> <open 打开> [contact]?
开启蹲饼状态 /<guard 蹲饼> <close 关闭> [contact]?
关闭蹲饼状态 contact 为群号或Q号,可选参数,可以自动从当前聊天环境中获取,比如私聊就获取好友Q号,群聊就获取群号
玩家的默认等级为120
理智的提醒时间会根据玩家等级和当前理智值init
设置助手数据指令
指令 描述 /<data 数据> <arknights 方舟>
更新游戏数据 /<data 数据> <penguin 企鹅 掉落>
更新掉落数据 /<data 数据> <name alias 别称 别名>
查看掉落别名 /<data 数据> <reload 重载>
重载插件配置 /<data 数据> <recruit alias 公招>
提交公招结果 /<data 数据> <tag 标签分析>
分析公招结果 /<data 数据> <role 干员分析>
分析公招结果 提交公招结果之前,可以设置干员别名方便输入
助手表情指令
指令 描述 /<arkface 方舟表情> <random 随机> [id]?
随机发送一个表情, id是表情包id, 默认为任意表情包 /<arkface 方舟表情> <list 列表>
表情商店链接列表 /<arkface 方舟表情> <detail 详情>
查看表情详情 表情详情指令使用时, 先发送指令,然后发送一个表情,机器人会回复表情的商店链接和原图
配置文件
位于
Mirai-Console
运行目录下的config/arknights-helper
文件夹下的config
文件roles
干员别名
roles: 小羊: 艾雅法拉 鳄鱼: 艾丝黛尔
items
材料别名
items: 绿管: 晶体元件
auto_add_guard
自动开启蹲饼功能 在机器人添加新好友和新群时自动开启蹲饼功能
video
开启订阅的b站视频类型
ANIME
,MUSIC
,GAME
,ENTERTAINMENT
blog
开启订阅的微博号
BYPRODUCT
(朝陇山),MOUNTEN
(一拾山),HISTORICUS
(泰拉记事社)安装
MCL 指令安装
./mcl --update-package xyz.cssxsh:arknights-helper --channel stable --type plugin
手动安装
- 运行 Mirai Console 生成
plugins
文件夹 - 从 Releases 下载
jar
并将其放入plugins
文件夹中
TODO
- 配置问题类型出现的概率
- 记录答题正确率 21/06/10
- 明日方舟官方QQ表情,下载、发送更新提醒等 21/05/14
- 自定义材料掉落别名(目前由企鹅物流数据提供支持) 21/05/14
- 关卡规划
- 剿灭和周常提醒
- 游戏公告
数据来源
- 游戏数据 Kengxxiao/ArknightsGameData
- 掉落数据 企鹅物流数据统计
- 其他数据 相关API
- 运行 Mirai Console 生成
-
Mirai Content Censor 群内容审核插件
Mirai Content Censor
基于 Mirai Console 和 百度AI内容审核 的自动禁言助手
本插件原命名
Mirai-AntiPorn-Plugin
设置
百度AI
使用前请根据 https://ai.baidu.com/ai-doc/ANTIPORN/Wkhu9d5iy 的步骤申请APP 获取
APP_ID
API_KEY
SECRET_KEY
在安装插件,并启动Mirai Console
后,config/content-censor
目录下会生成ContentCensor.yml
对应修改文件中APP_ID
API_KEY
SECRET_KEY
的值机器人将会在作为群主或者管理员身份的情况下工作,即群消息内容审核(文本,图片,语音)
机器人的审核规则请到 https://ai.baidu.com/censoring#/strategylist 修改策略审核内容
位于
config/ContentCensor.yml
mute
禁言时间,单位秒,默认1分钟plain
是否检查文本,默认 trueimage
是否检查图片,默认 falseaudio
是否检查语音,默认 false
避开审查
拥有权限
io.github.gnuf0rce.content-censor:no-censor
的用户将不会被检测安装
MCL 指令安装
./mcl --update-package io.github.gnuf0rce:mirai-content-censor --channel stable --type plugin
手动安装
- 运行 Mirai Console 生成
plugins
文件夹 - 从 Releases 下载
jar
并将其放入plugins
文件夹中
TODO
- 配置禁言时间
- QPS延迟
- 视频内容审核
- 转发消息内容审核
Latest posts made by cssxsh
-
RE: Mirai Hibernate 前置插件,用于 Hibernate ORM 框架的初始化,历史消息持久化
The file is locked: /data/mirai/data/xyz.cssxsh.mirai.plugin.mirai-hibernate-plugin/hibernate.h2.mv.db
@YoinSama
这个路径是可用的吗如果是可用的,检查插件是不是重复安装了,或者多个插件实例(mcl)占用这个文件
-
RE: Weibo Helper 一个简单的将微博转发到QQ的插件
@NiGuangOwO 在 Weibo Helper 一个简单的将微博转发到QQ的插件 中说:
onebot-mirai-0.3.4-all.jar
和 onebot-mirai-0.3.4-all.jar 冲突
等更新