3月26日 15:00
我们已切换服务器IPV4地址,但解析需要一段时间才能生效
10月3日18:40
我们已切换服务器IPV4地址,这可能需要一个小时或者是更久时间才能生效
10月3日18:00
我们的服务器IPV4地址又被墙了,稍后尝试修复
8月19日 20:30
我们已切换服务器IPV4地址,可能需要一段时间才能同步到解析上
论坛服务器被墙了,如果你能直接打开说明你的网络完美支持ipv6。
晚些我们会尝试修复
请阅读: 论坛规则 常见问题QA 无法登录的临时处理方案
源代码和文档: mamoe/mirai, docs.mirai.mamoe.net
闲聊TG群: @mirai_mamoe, Gitter群 mamoe/mirai
Mirai是我第一个使用的QQ机器人,我在20年还是19年左右接触到了这个神奇的东西。具体时间确实记得不是很清楚了,但中间总是走走停停。因为不一会就会发现其中什么寄了或者什么教程缺失,网上查找又一般找不到。
tx对于QQ机器人的封杀导致了这一系列问题的诞生,而教程的缺失又导致了明明可以有很多人来讨论来玩耍来分享创意的领域却始终无法得到补充。2024年的现在我单是为了能够login机器人让机器人跑起来都已经花费了5小时,更不用提当初开发的那些人有多少。
教程的缺失确实是一个让人悲哀的事实,但tx的封锁也都心知肚明。只能说,大不了我不用QQbot用unit去做了算了(doge)就想编编文字冒险类游戏自娱自乐下反而感觉精力都被榨干了......
不说了不说了,要睡觉了,天都白了。
已打包,不用再折腾复杂的环境
1、对接免费ai绘画+语音接口,开箱即用
2、支持ai角色预设
3、多模型可选,Gemini/characterglm/gpt3.5(官方/免费)/glm-4/gpt4
有代理的话,个人推荐使用Gemini,免费,并且效果很好。
如无代理,可用lolimigpt。
或免费申请apikey,填写进openaikeys,并将gpt3.5-dev的值修改为true,模型填写为gpt3.5
95532c7a-c463-47ae-904d-836c074c27ef-image.png
Image_1712293737662.png
目前
实现了 OpenAI 中 提供的 Completion 和 Image Generation
chat.jpg
image.jpg
completion.jpg
bind.png
详细文档请阅读 readme
https://github.com/cssxsh/mirai-openai-plugin#readme
有功能BUG或者建议请开 issue
https://github.com/cssxsh/mirai-openai-plugin/issues
希望能使用通义千问的key进行聊天
可以自定义人设
限制调用次数
谢谢~
一个娱乐插件
被草和草人的都沉默了
指令可单独配置
可调整超人时间未到语句上传的图片
需要在
data/com.purewhite.entertainment/No
data/com.purewhite.entertainment/Yes
下塞入图片
插件启动后该文件夹会创建 直接塞入图片即可无需重启
仓库 下载 作者
可查看pixiv排行榜,作者作品,插画图片等等
将jar文件放入plugins文件夹即可,第一次运行完成后请配置config/com.hcyacg.pixiv的setting.yml文件
有问题请到仓库开Issues
MCL命令./mcl --update-package com.hcyacg:pixiv --channel stable --type plugin
最新版请到github仓库下载
rank.png
psid.png
ptst-1.png
ptst-2.png
user.png
ptsf-1.png
ptsf-2.png
ptsf-3.png
“不好!这里要撑不下去了”
“A4 求救,A4 求救,A32 地区的沙雕数量超过阈值,即将突破防线!”
“什么!?啧。。”
“B8 已完成沙雕清除任务,现赶往 A32 地区”
“这样。。什么时候是个头啊。。”
如果想订阅本贴更新可以点击右上角铃铛🔔按钮
【持续时间】
1970.1.1 ~ 114514.12.31
【活动内容】
糟糕!沙雕小别墅遭到了从未知之处涌出的沙雕攻击,防御工事濒临崩溃,如果能用其他的方法击退它们的话。。
对了!沙雕图!
【参与方式】
在本贴中回复沙雕图,协助沙雕防御工事击退沙雕。
【活动奖励】
从其他 miraier 获取的沙雕图!是不是非常丰厚呢?
【注意事项】
遵守摸鱼区规则。
是沙雕图不是涩图!
【样例】
3c2dfb62-5555-4c00-a17b-d76715bf2088-image.png
增加免费、稳定、无需代理的gpt3.5来源
ai绘画更新,对接免费的Dall-e-3 api
对接Gemini支持自定义预设角色
更新对接glm-4,桑帛云的免费api,即填即用,可预设角色。
更新对接免费的gpt3.5,无需额外配置,仅需在设置中调整默认模型设置为lolimigpt即可(免费api有时候会不稳定),可预设角色
抓包了魔搭社区的语音合成在线体验服务,大家悄咪咪地用。当前可用:["塔菲","阿梓","otto","丁真","星瞳","东雪莲","嘉然","孙笑川","亚托克斯","文静","鹿鸣"]
对接桑帛云API的ai绘画(free),效果还不错
搭建工具增加镜像源,无需代理可正常搭建和更新
增加语音合成可选项,outVits模式,调用外部api合成节约本地资源
项目地址如果你不想折腾,只想用ai+语音,请移步Petunia
功能多,所以就不在这里写了
请查看readme
以上是项目中实现的功能
如果想要实现bot菜单上的所有功能,你需要
额外安装以下几个插件
- Mirai点歌插件
- PetPet
- fireWatch
或直接用release的ManyanaLauncher整合包
今天号子又被冻结了,寻思着准备换一个低版本的QQ 但是提取完8.9.70的QQ之后发现有两个参数是空的,数据如下:
{ "apk_id": "com.tencent.mobileqq", "app_id": null, "sub_app_id": null, "app_key": "0S200MNJT807V3GE", "sort_version_name": "8.9.70.11730", "build_time": 1688720082, "apk_sign": "a6b745bf24a2c277527716f6f36eb68d", "sdk_version": "6.0.0.2551", "sso_version": 20, "misc_bitmap": 150470524, "main_sig_map": 16724722, "sub_sig_map": 66560, "dump_time": "1688720082", "qua": "V1_AND_SQ_8.9.70_4330_YYB_D", "protocol_type": 1 }这个会有影响吗?这个版本的QQ是从豌豆荚找到的。直接这样使用会有问题吗?想问问大佬们一般用的都是什么版本的QQ和这个文件的配置.....想借来用用,谢谢。
unidbg-fetch-qsign删库了,magic-signer-guide只支持8.9.58老版本,已经很难登上去了
还有别的解决方案吗
好久不见,我是鸽了快一年的放空
新版本已经完成基本的底层搭建,剩下的就是慢慢不全各功能模块就行。
现在在这里征集好的注意!
仓库地址:HuYanSession3
现有功能鉴于前车之鉴,本次升级对上版本插件做减法,对插件进行分离,自定义回复独立提取出来,群管功能以后成为一个单独的插件。
自定义数据库接入:目前支持(sqlite,h2,mysql) 自定义缓存位置:目前支持(内存),预留(redis) 自定义权限:目前支持(内置),预留接入HuYanAuthorize未来可能会接入lp 分组支持多种类型:对以前的群分组进行了升级,现在分组不仅可以对群分组,还能对人分组和对群成员分组! 高度定义的作用域匹配:7种作用域匹配,满足的需求 ...4c8c0423-f828-43fa-ab8a-e2336525c77d-图片.png
重新设计的单一消息,更加简洁,新增了概率回复功能,保留了壶言会话2.4.x的本地缓存功能 使用现阶段版本已经可以进行测试使用
如果你想使用,可以去群里获取测试版本的插件,放入plugins文件夹启动即可使用。
由于当前版本为壶言会话2的拆分版,你可以与壶言会话2一起使用,但是会触发两个插件的命令,解决方式就是使用壶言会话2的过滤消息功能将壶言会话2的指令暂时过滤掉!
对于现阶段mirai的半死状态,这边目前可以总计一下目前可能能行的登录方案:
签名服务-非常的不稳定(及其容易封号),但是能用 通过Overflow插件接入其他平台的OneBot转生 蕉流与学习目前就这完成了这么多,后续会慢慢完善,如果你有好的意见,可以在本帖子种回复。也可以加群直接at我,不是云的茶壶云(390444068)
如果你想学习编写mirai插件,或者刚学java,欢迎来对本项目进行编写和pr,结构简单易上手!
以下是本插件部分文档,会持续更新。 参数对于部分参数,有默认值,可省略不填。
| 指可选,左边或右边选择一个即可
+ 指可填写多个,一般中间用 隔开。
(xx) 指必填,括号内内容必须填写。
[xxx]指可选填写。
对于部分只能存在一条的信息,在参数集里面添加重写状态即可重写写入该信息。
%|rewrite 启用重写。 动态消息不同于壶言会话2的自动识别动态消息,壶言会话3这边需要手动指定是否启用动态消息。
dt|动态|dynamic 启用动态消息。 本地缓存由于腾讯服务器储存图片有概率过期,因此设计本地缓存功能,在config中有默认开启配置,默认不开启。
也可以根据单个消息默认设定开启与否。
消息在匹配时的转换方式
MIRAICODE miraiCode(默认)。 STRING String。 CONTENT content。 JSON json。 作用域 global 全局。 global-(id)|global-(at) 全局的某个用户,可填号码,可at人。 group 当前群(默认)。 member-(id)|member-(at) 某个群友。 list-(id) 自定义群列表。 users-(id) 自定义用户列表。 members-(id) 自定义某个群的群用户列表。 触发概率 probability-(0.0~1.0) 消息的触发概率。 是否随机 random 用于多词条的开启随机触发功能 动态消息类型针对上一代的动态消息使用体验,这个版本也进行了一次优化
现格式为:
${prefix.suffix}
前缀 后缀 含义 案例 at this at当前发消息的这个人 ${at.this} all at全体(慎用!) ${at.all} (qq) at这个qq用户 ${at.572490972} user id 获取发送者的QQ号 ${user.id} name 发送者的名称 ${user.name} avatar 发送者的头像 ${user.avatar} title 发送者的头衔(仅限群) ${user.title} group id 群号(仅限群) ${group.id} name 群名称(仅限群) ${group.name} avatar 群头像(仅限群) ${group.avatar} owner 群主名称(仅限群) ${group.owner} time now 当前时间(默认格式) ${time.now} timer 当前的时间戳 ${time.timer} (format) 当前时间的自定义格式 ${time.HH:mm:ss.SSS} mate (number) 正则回流编号<br/>(仅限正则匹配中包含匹配块) ${mate.1} message this 当前的消息 ${message.this} reverse 反转的消息(按照消息顺序反转) ${message.reverse} owner id 主人的id(得与机器人是好友) ${owner.id} name 主人的名称(得与机器人是好友) ${owner.name} avatar 主人的头像(得与机器人是好友) ${owner.avatar}对于一对一消息回复,如果想启用动态消息的匹配,得才参数中添加dt来启用动态消息识别!
指令 消息功能权限id:session
一对一消息权限id:hh
指令 含义 案例 xx (a) (b) [params]+ 学习一个一对一回复 xx a b 学习 (a) (b) [params]+ 同上 学习 啊啊啊 哦哦哦 -xx (a) [scope\|id] 删除一个一对一回复^1 -xx a 删除 (啊啊啊) [scope\|id] 同上 删除 啊啊啊 参数params 支持列表:
匹配方式 重写 动态消息 本地缓存 转换方式 作用域 触发概率动态消息支持列表:
全部 一对多消息权限id:dct
指令 含义 案例 %dct 进入多词条学习状态(3分钟超时) %dct 学习多词条 同上 学习多词条目前不支持删除
params 支持列表:
匹配方式 重写 本地缓存 作用域 触发概率多词条默认自动识别动态消息!
动态消息支持列表:
全部 群典功能这是一个非常有意思的功能!
在配置中启动该功能后,对着机器人在线期间的消息回复一个批准入典, 将会默认生成一个触发词为群典(在配置中自定义)的多词条集
这个群典只属于当前群,意味着对于不同的群,可以有不同的群典!
记录群友的丢人瞬间!
定时消息权限id:ds
权限功能权限id:admin
指令 含义 案例 +(scope)-(at\|qq) (权限id) [权限id] 为该作用域添加一个权限 +global-@572490972 admin 添加权限(scope)-(at\|qq) (权限id) [权限id] 同上 添加权限@572490972 amind -(scope)-(at\|qq) (权限id) [权限id] 为该作用域删除一个权限 -global-@572490972 admin 删除权限(scope)-(at\|qq) (权限id) [权限id] 同上 删除权限@572490972 admin 分组功能 插件指令 hys v 查询当前壶言会话3的版本。这是一个基于mirai 机器人框架的插件
不想折腾模块? 在mirai上安装本插件进行简单配置即可实现
一定要先看完README 本插件功能 获取被撤回的消息 闪照破解 前置插件 chat-command 指令项目地址 Github
前缀一般是 /
指令 作用 示例 ar en <true/false> 设置开启或关闭 ar en true ar ca <time> 设置消息缓存时间 ar ca 30 ar fm <text> 设置转发消息的消息链 ar fm ${sender}发送了一条${type}消息:\n${message} ar reload 重载配置 - 首次使用请使用Mirai Console Backend - Permissions
设置权限
perm add m<群号>.* top.cutestar.antirecall:monitored //一个示例:perm add m123456789.* top.cutestar.antirecall:monitored当被监听者发送消息后会被缓存或转发
监听所有群
perm add m* top.cutestar.antirecall:monitored 添加一个消息接收者perm add <被许可人ID> top.cutestar.antirecall:receiver //一个转发到好友的示例:perm add f123456789 top.cutestar.antirecall:receiver //一个转发到群的示例:perm add g123456789 top.cutestar.antirecall:receiver 添加命令使用权限 perm add u<qq号> top.cutestar.antirecall:command.ar当出现选中类型的消息时,此消息会被转发给消息接收者
设置权限后请使用ar reload重载
配置请见配置文件注释
基于NGA狼人杀进行的mirai插件开发
项目地址 https://github.com/LemonNeko2452/WolfKill
使用说明本插件开发环境为2.11.1,请尽量使用最新本console
相关文档 Console Terminal chat-command 前置插件在使用本插件前,需要安装chat-command插件
目的是让指令能够在聊天环境下执行
启动前默认不会给非好友发送图片,以降低风险。可以在config配置中更改
使用本插件前,需要将图片压缩包解压,然后将其中的img文件夹放入mcl根目录下的data文件夹内,
文件夹内的图片可以更改,但是要保证文件名不变
将在Releases中下载的jar文件直接放入mcl根目录的plugins文件夹
第一次启动后由于本插件大量使用指令来完成交互,因此必须给所有人使用命令的权限
将以下命令在console中粘贴即可
/permission permit * work.anqi.wolfkill:* 下载 命令别名在 mcl根目录/config/work.anqi.WolfKill 目录下的Command.yml文件中可以设置本插件所有命令的别名,注意不要将别名设置重复
游戏流程 创建游戏img.png
每个群里只能存在一场游戏,标准模式为8人场
img_1
img_2
自定义模式可以有多位同类型神民,根据提示输入6个数字,中间用空格或逗号隔开
创建者自动加入游戏
img_3
img_4
img_6
停止游戏使用game-stop将结束整局游戏
退出游戏使用game-quit将退出本房间的游戏
RT,想从REDIS或者MYSQL里查询指定的数据内容,定时往Q群里发送。有大佬看看吗
就是可以投稿树洞留言 在唤起树洞功能后也卡一看见他人留言 随机 谢谢各位
地址:GitHub
简单的漂流瓶插件,基本照抄了Dice!项目的漂流瓶功能
可以在私聊或者群聊中丢出包含任意消息的漂流瓶, 其他人通过捡起漂流瓶即可看到相应的消息
也可以通过跳海来查看海里有多少物品
具体使用文档放在了 wiki 页面 和 二楼
GitHub top language
GitHub
GitHub all releases
visitors
下图是功能演示
example.png
1.0.2及以后版本需下载前置插件
https://github.com/LaoLittle/aimplementation/releases/tag/1.0
将图片放置于插件数据目录内的TarotImages文件夹下
从此处下载TarotData.yml放置于插件数据目录下
其中TarotData.yml用于存储塔罗牌信息
使用今日塔罗来进行签到,并获取一张塔罗牌
然后可以进行塔罗牌抽奖
使用塔罗牌或N张塔罗牌来进行抽卡
N必须小于10,可以是中文
如单张塔罗牌 三张塔罗牌 6张塔罗牌
数据文件示例:
tarot: - name: 愚者 (The Fool) positive: 从零开始; 好赌运; 不墨守成规; 追求新奇的梦想; 冒险; 放浪形骸; 艺术家的气质; 异于常人; 直攻要害、盲点; 爱情狩猎者; 爱情历经沧桑; 不拘形式的自由恋爱 negative: 不安定; 孤注一掷会失败; 缺乏责任感; 损失; 脚跟站不稳; 堕落; 没发展; 没计划; 走错路; 行为乖张; 轻浮的恋情; 感情忽冷忽热; 不安定的爱情之旅 imageName: The Fool.jpg - name: 魔术师 (The Magician) positive: 好的开始; 具独创性; 有发展的; 新计划成功; 想像力丰富或有好点子; 有恋情发生; 拥有默契良好的伴侣; 有新恋人出现; 值得效仿的对象出现 negative: 失败; 优柔寡断; 才能平庸; 有被欺诈的危险; 技术不足; 过于消极; 没有判断力; 缺乏创造力; 爱情没有进展 imageName: The Magician.jpg - name: 女祭司 (The High Priestess) positive: 知性、优秀的判断力; 具洞察力及先见之明; 强大的战斗意志; 冷静的统率力; 学问、研究等精神方面幸运; 独立自主的女性; 柏拉图式的爱情; 有心灵上交往至深的友人; 冷淡的恋情 negative: 无知、缺乏理解力; 研究不足; 不理性的态度; 自我封闭; 神经质; 洁癖; 与女性朋友柒争执; 对人冷淡; 晚婚或独身主义; 没有结果的单相思; 气色不好; 不孕 imageName: The High Priestess.jpg配置文件示例:
# 用户数据库文件名 database: user.sqlite # 塔罗牌图片发送间隔 (单位: 毫秒) interval: 500 # 塔罗牌发送格式 format: "%目标%\n%牌名%\n%描述%" # 连抽可重复 repeatable: false目前数据文件不完善
图片在这 https://www.aliyundrive.com/s/1YFxRvMzP34
补充信息可以提交个pr
懂我意思吧
2024-04-11 15:23:34 I/Bot.QQ号: [SliderCaptcha] 正在提交中...
2024-04-11 15:23:34 I/Bot.QQ号: [SliderCaptcha] Submitting...
2024-04-11 15:23:35 I/Bot.QQ号: Bot cancelled: Bot closed
Login failed: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below.
2024-04-11 15:23:35 E/console: net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below.
net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below.
at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:263)
at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Suppressed: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(QQ号), code=45, title=禁止登录, message=登录失败,请前往QQ官网im.qq.com下载最新版QQ后重试,或通过问题反馈 与我们联系。, errorInfo=)
at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:490)
at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
... 5 more
Caused by: [CIRCULAR REFERENCE: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(QQ号), code=45, title=禁止登录, message=登录失败,请前往QQ官网im.qq.com下载最新版QQ后重试,或 通过问题反馈与我们联系。, errorInfo=)]2024-04-11 15:23:34 I/Bot.QQ号: [SliderCaptcha] 正在提交中...
2024-04-11 15:23:34 I/Bot.QQ号: [SliderCaptcha] Submitting...
2024-04-11 15:23:35 I/Bot.QQ号: Bot cancelled: Bot closed
Login failed: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below.
2024-04-11 15:23:35 E/console: net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below.
net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below.
at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:263)
at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Suppressed: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(QQ号), code=45, title=禁止登录, message=登录失败,请前往QQ官网im.qq.com下载最新版QQ后重试,或通过问题反馈 与我们联系。, errorInfo=)
at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:490)
at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
... 5 more
Caused by: [CIRCULAR REFERENCE: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(QQ号), code=45, title=禁止登录, message=登录失败,请前往QQ官网im.qq.com下载最新版QQ后重试,或 通过问题反馈与我们联系。, errorInfo=)]
基于 Mirai Console 的 哔哩哔哩 订阅插件
使用前应该查阅的相关文档或项目
User Manual Permission Command Chat Command从 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
处于休眠时间的订阅将不会推送
举例:
处于艾特时间的订阅将会添加艾特
举例:
子指令 cron 的 cron 参数是 CRON 表达式, 由 秒 分钟 小时 日 月 周 组成
举例:
/bili-dynamic forbid 转发抽奖 添加一个正则屏蔽
/bili-dynamic forbid 转发抽奖 false 取消一个正则屏蔽
/bili-dynamic filter 视频 添加一个动态类型过滤
/bili-dynamic filter 视频 false 取消一个动态类型过滤
type 取值 回复, 图片, 文本, 视频, 专栏, 音乐, 剧集, 删除, 番剧, 电视, 直播
/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
可以通过 搜索指令 搜索番剧 获得链接
返回结果包含图片,需要在聊天环境执行指令
消息中包含 BV12v411G7dP av2 等等 id 信息时会自动触发解析
目前会触发的正则表达式
返回结果包含图片,需要在聊天环境执行指令
任务列表指令 指令 描述 /<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
举例:
位于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 网页识别设备类型,进而影响截图的效果此设置 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
位于 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 改为
位于 data/xyz.cssxsh.mirai.plugin.bilibili-helper/cookies.json
导入 cookies文件 不是必须的,这是实验性功能,主要是防止b站反爬IP锁定
从 浏览器插件 EditThisCookie 导出Json 填入文件
EditThisCookie 安装地址
Chrome
Firefox
Edge
./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 完善剧集订阅 自动清理图片缓存