MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接
    1. Home
    2. Popular
    Log in to post
    • All categories
    • All Topics
    • New Topics
    • Watched Topics
    • Unreplied Topics
    • All Time
    • Day
    • Week
    • Month
    • Hoshino Tented

      【每日沙雕图】沙雕小别墅
      摸鱼区 • • Hoshino Tented

      1259
      4
      Votes
      1259
      Posts
      411883
      Views

      Hoshino Tented

      “不好!这里要撑不下去了”
      “A4 求救,A4 求救,A32 地区的沙雕数量超过阈值,即将突破防线!”
      “什么!?啧。。”
      “B8 已完成沙雕清除任务,现赶往 A32 地区”
      “这样。。什么时候是个头啊。。”

      如果想订阅本贴更新可以点击右上角铃铛🔔按钮

      【持续时间】
      1970.1.1 ~ 114514.12.31

      【活动内容】
      糟糕!沙雕小别墅遭到了从未知之处涌出的沙雕攻击,防御工事濒临崩溃,如果能用其他的方法击退它们的话。。
      对了!沙雕图!

      【参与方式】
      在本贴中回复沙雕图,协助沙雕防御工事击退沙雕。

      【活动奖励】
      从其他 miraier 获取的沙雕图!是不是非常丰厚呢?

      【注意事项】
      遵守摸鱼区规则。
      是沙雕图不是涩图!

      【样例】

      3c2dfb62-5555-4c00-a17b-d76715bf2088-image.png

    • Koreyoshi

      ChatLearning——让bot学会你的群聊
      插件发布 • • Koreyoshi

      818
      3
      Votes
      818
      Posts
      259983
      Views

      Koreyoshi

      项目地址:ChatLearning
      下载地址:ChatLearningReleases
      官方网站:官网
      交流QQ群:734450830 可在群内提出遇到的问题,bug和改进建议

      使用ChatLearning前请先安装并配置好mirai-api-http插件,为避免出错,mirai-api-http插件请尽量使用2.3.3版本

      完成配置后打开ChatLearning目录下的data.json文件填入配置信息:

      { "Key": "xxxxx", //在mirai-api-http中设置的密钥 "host": "127.0.0.1:8080", //mirai-api-http中设置的地址(若设置成0.0.0.0,请填写127.0.0.1) "port": "8080", //mirai-api-httpmirai-api-http中设置的端口 "qq": "xxx", //所登录mirai的QQ号 "session": "xxx" //任意,由程序自动获取 }

      以上步骤完成后,Windows用户点击Chatmain.exe运行

      Linux用户则使用python运行Chatmain.py脚本 (python版本需为3.5以上)

      输入help来查看命令列表

      详细说明请见README

      来自@daisy524 提供的创意点子
      感谢@FuYon 制作的网站

      以下是ChatLearning的效果图(收集了大约一天的词库,图中绿牌是bot,甚至还能斗图)
      73126921-7ddf-4140-8b78-5c0d3e69242c-IMG_20220223_021125.png
      905df16e-90ae-4b80-ae81-7b97b3d7eb0c-IMG_20220223_021144.png 8ede119a-7ba5-4d0b-bbb9-26a33c26a65a-IMG_20220223_021230.png 048d36f2-2c25-4a4e-8624-e91564f0c59f-IMG_20220223_021250.png

      欢迎提出bug和提供后续更新意见!

    • Nekoer

      Pixiv插件 查看排行榜 以图搜图 以图搜番 查看原图 查看作者作品 搜标签
      插件发布 • kotlin plugins pixiv • • Nekoer

      555
      6
      Votes
      555
      Posts
      141755
      Views

      Nekoer

      Mirai开发测试版本 2.11.0-M2.2 mirai-plugins-pixiv

      仓库 下载 作者
      可查看pixiv排行榜,作者作品,插画图片等等

      pixiv排行榜 查看图片 查看作者作品 搜图 (目前正在DUBUG Ascii2d,请大家回复下自己的搜图状态) 搜番 注意该功能分为使用FFmpeg和不使用的,区别在于有没有视频转gif,即最后一张图片 搜标签 涩图 配置文件介绍 ​admins: #管理员 - 243462032 groups: #有涩图权限的群 - 960879198 - 77708393 - 1475993 command: getDetailOfId: 'psid-' #根据id查看插画 picToSearch: 'ptst-' #以图搜图 showRank: 'rank-' #排行榜 day|week|month|setu findUserWorksById: 'user-' #查看作者作品 searchInfoByPic: 'ptsf-' #以图搜番 setu: setu tag: 'tag-' #搜标签 tag-xxx-页码 config: setuEnable: pixiv: true yande: true konachan: true lolicon: true localImage: true #本地图库 token: acgmx: # https://www.acgmx.com/account申请 saucenao: #saucenao.com注册账号后能看到api_key proxy: # http请求代理 下面是clash的例子 host: 127.0.0.1 port: 7890 recall: 5000 # 涩图经过多少秒撤回 设置为0即可不撤回 tlsVersion: TLSv1.2 cache: enable: false #缓存开关 directory: 'Mirai根目录\image' #图片缓存路径 localImagePath: 'Mirai根目录\image' #本地图库路径 默认和缓存路径一致 部署方法

      将jar文件放入plugins文件夹即可,第一次运行完成后请配置config/com.hcyacg.pixiv的setting.yml文件

      有问题请到仓库开Issues

      MCL命令

      ./mcl --update-package com.hcyacg:pixiv --channel stable --type plugin
      最新版请到github仓库下载

      仓库

      下载地址

      反馈群

      点击链接加入群聊【HCYACG插件反馈群】

      预览图

      rank.png
      psid.png
      ptst-1.png
      ptst-2.png
      user.png
      ptsf-1.png
      ptsf-2.png
      ptsf-3.png

    • Shennoter

      ApexLookUp - Apex英雄查询插件
      插件发布 • kotlin jvm apex • • Shennoter

      502
      7
      Votes
      502
      Posts
      132287
      Views

      Shennoter

      v1.6.1已更新

      将新地图Broken Moon增加至地图提醒config 具体信息请查看Release描述
      各位觉得好用可以给这个帖子点个赞然后github点个star,谢谢茄子🥰

      satrsdownloadslicenseRelease

      项目地址 这个插件可用于查询Apex英雄的 地图轮换 玩家信息 复制器轮换 猎杀门槛 官方活动新闻 以及 订阅玩家分数 订阅地图轮换 如果喜欢请点一个⭐Star,谢谢!!! 贡献者:EvolvedGhost ,感谢大佬! 使用中遇到的问题建议在 Issues 提出 如果你想自己编译 Clone源码 修改源码并保存 在项目根目录打开终端,输入./gradlew buildPlugin 等待编译完成后在./build/mirai里面拿编译完成的插件
      比如自定义指令: object Player : SimpleCommand( ApexLookUp, "apexid", "这里填写你想自定义的指令名" description = "查询玩家信息" ) 食用前准备 在https://apexlegendsapi.com/获取ApiKey填入config/pers.shennoter.apexlookup/config.yml 安装字体“微软雅黑”,否则可能发生错误,也可在config.yml更改为自己想要的字体 安装chat-command插件 关于提问 碰到的问题原因有以下几种可能:网络问题、APIkey问题、环境问题、设置问题,提问前请一一排查,如果仍毫无头绪再提问 提问前可以翻翻看这个帖子的所有回复,还有github issues,也许就有相同的问题 有些问题是其他插件的,可以的话请不要在这里提问 请给出详细的报错,截图截完整或者粘贴到代码块 问题多次稳定复现是提问的前提之一 提问的智慧 感谢您的理解与配合 指令 详见用户手册PermissionCommand 本插件权限ID为 pers.shennoter.apexlookup:* 输入/permission lp查看详细指令名称 如果输了命令没反应请在控制台输入/permission add <对象> pers.shennoter.apexlookup:command.<指令> 如给予所有对象关于此插件的所有权限,请输入/permission add * pers.shennoter.apexlookup:* 若对象为群可填入g群号,若前者无效则填入m群号.* 指令(<>必填项,[]选填项) 功能 /apexhelp 帮助 /apex 查询已绑定ID信息 /apexreg 查询已绑定ID列表 /apexbd <Origin ID> 绑定一个ID /apexubd <Origin ID> 解绑一个ID /apexubd all 解绑所有ID /apexmap 查询当前地图轮换 /apexid <Origin ID> [平台] 查询玩家(空格用@@填充),平台: PC、X1、PS4、SWITCH,不填为默认配置 /apexcraft 查询复制器轮换 /apexpred 查询猎杀底分 /apexnews <index> 查询官方新闻,index为文章序号 /apexldb 查询排行榜(发一个排行榜链接,以后再更新) /apexadd id <Origin ID> 在该群订阅某玩家分数(当有更新时自动提醒) /apexrmv id <Origin ID> 移除该群对某玩家分数的订阅 /apexadd info 查看该群已订阅的ID /apexadd map 在该群订阅地图轮换(当有轮换时自动提醒) /apexrmv map 移除该群对地图轮换的订阅 /apexcache 立即清除缓存(无视过期时间) 配置文件

      配置文件路径:config/pers.shennoter.apexlookup/config.yml
      自定义指令文件路径:
      config/pers.shennoter.apexlookup/customComm.yml

      配置名称 功能 缺省值 apiKey apiKey:如果没有请到 https://apexlegendsapi.com/ 获取 空 extendApiKey 额外apiKey,用于防止api过热,可不填 空 platform 默认平台:PC, X1, PS4, SWITCH(X1为XBOX) PC mode 回复方式: pic为图片,text为文字(制造器和新闻除外) pic picType 图片质量:PNG原图,更清晰;JPG更小,发送更快 JPG cacheExpireTime 缓存图片过期时间(单位:天) 30 cacheAutoDel 是否自动清除过期缓存:true为是,false为否(开启mcl时自动清理) true listener 玩家分数监听:true为启用,false为关闭 false listenerInfoType 玩家监听提醒方式:true为分数变化+玩家信息,false为仅提醒分数变化 true listenInterval 监听时间间隔(单位:分钟) 10 mapRotationReminder 地图轮换提醒:true为启用,false为关闭 false maptoRemind 提醒地图:“诸王峡谷”“风暴点”“世界边缘”“奥林匹斯”,true为开启,false为关闭 略 font 字体 微软雅黑 ifProxy 是否使用代理:true为启用,false为关闭 false proxyType 代理类型:HTTP、SOCKS HTTP hostName 代理地址 127.0.0.1 port 代理端口 7890 可能出现的报错

      像图里这种BufferedImage、PictureMode、java.awt、graphic之类的字样的报错,一般都可以通过在mcl启动命令添加JVM参数-Djava.awt.headless=true解决
      比如linux的mirai目录有一个名字叫“mcl”的文件,用记事本打开后你会看到$JAVA_BINARY -jar mcl.jar $*,把它改成$JAVA_BINARY -Djava.awt.headless=true -jar mcl.jar $*,就可以解决这类报错了,windows同理
      Snipaste_2022-05-24_20-27-05.png

      示例 ... 查询玩家
      player 查询地图轮换
      map 查询复制器轮换
      craft 查询猎杀门槛
      craft 查询官方活动新闻
      craft 订阅玩家分数
      playerListener
    • tsudzuki

      DrawMeme - 基于Skiko的奇怪的图片生成器
      插件发布 • • tsudzuki

      463
      11
      Votes
      463
      Posts
      109442
      Views

      tsudzuki

      项目地址
      Release

      使用本插件需要前置插件:SkikoMirai
      https://github.com/LaoLittle/SkikoMirai/releases

      使用前请将字体文件放置于SkikoMirai的数据目录内的Fonts文件夹内

      本项目会长期不定时更新。

      目前可用的生成器:

      #ph: Pxxnhub生成器 #ph + 文字
      会自动截取一半
      aa4083d8-5cc1-4ee9-ba76-558ec305bf2f-image.png #ph + 文字 + 文字
      1bcf3ad8-6e0e-40ba-9379-d6827c6eb539-UH1~05(NEYJ38C{Y68E(87A.png #bw: 灰白照生成器 #bw + 文字 + 图片(若没有图片则要求获取)
      22.jpg #5000兆 | #5k兆 + 文字 文字 + 文字

      分词效果和Pxxnhub生成器一致

      49.jpg

      emoji 合成 发送任意两个emoji(不支持的emoji不会发送)

      23.jpg

      0%生成器 使用#0即可

      5b9d8355-1401-4b3c-8991-6259b196ea20-image.png

      osu生成 #osu + 文字
      1654271660710-37cb6493-438a-4cb5-8be8-c07528d5b0d3-image.png.webp marble大理石滤镜 #marble + 图片
      1653992153458-421c7dc2-c4ba-435b-9ab0-1be3f0acad82-image.png.webp flash假闪照 #flash + 图片
      1653992169077-65bbfd9d-6c01-4549-aa12-619a2c8e6e20-image.png.webp erode图像腐蚀 #erode + 图片 #erode + 数字 + 数字 + 数字 + 图片
      1653230905666-2db8fbf7-5464-4f06-abf9-8ade13c8b380-image.png.webp 1653231014640-deb017db-f555-4121-a528-0a4c65ba4e75-image.png.webp
      1653230862323-397f0daf-0367-44cb-b0ca-81bf49c91970-image.png.webp 1653230869837-5cfe7f6d-46ab-41d0-8643-25aec1bf0cd9-image.png.webp
    • cssxsh

      B站订阅插件,动态、视频、直播订阅 @全体成员
      插件发布 • bilibili b站 直播 动态 专栏 • • cssxsh

      392
      6
      Votes
      392
      Posts
      96605
      Views

      cssxsh

      BiliBili Helper

      基于 Mirai Console 的 哔哩哔哩 订阅插件

      Release
      Downloads
      MiraiForum

      使用前应该查阅的相关文档或项目

      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
      处于休眠时间的订阅将不会推送
      举例:

      /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 网页识别设备类型,进而影响截图的效果
      iPad Mozilla/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
      iPhone Mozilla/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
      Mac Mozilla/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 完善剧集订阅 自动清理图片缓存
    • Z

      QSign 9.0.55-9.0.95(公益 API发布)
      技术交流板块 • • zhaodice

      375
      21
      Votes
      375
      Posts
      54104
      Views

      Z

      ——关于GOCQ的快速登陆建议——

      使用俺维护的GOCQ维护分支:https://github.com/ProtocolScience/AstralGocq
      登录流程巨大优化(如果出现签名异常,可以修改config移除ws协议的签名,该属于实验性特性)

      ——开源——

      开源了一个没有完全过检测的版本,可以正常运行高版本的so文件,希望起到抛砖引玉,促进研究的作用 https://github.com/zhaodice/Astral-QSignigngnn

      ——出现CC攻击后的措施——

      当服务器负载较大时,优先拒绝消耗量较大的IP的请求,如需IP白名单请联系。

      ——服务器目前开放的版本——

      9.0.55-9.0.95
      9.1.0-9.1.15

      ——网友赞助的服务器——

      (这就是直连的下场,由于被打流量打成黑洞,已无法连接)
      服务器地址(自2024-08,租赁1年时间):http://8.216.82.28/

      ——主服务器A,无key,可能有墙——

      服务器地址(主要A,cloudflare):https://qsign.trpgbot.com
      服务器地址(CDN线路):http://qsign-v3.trpgbot.com
      服务器地址(端口转发,月流限制1G):http://qsign.w1.luyouxia.net

      ——主服务器B,无key,可能有墙——

      服务器地址(主要B,huggingface):https://zyr15r-astralqsign.hf.space

      ——注意事项——

      新的key:miraibbs
      对本贴内容做了门户:https://qsign-guide.trpgbot.com/
      1.服务器已全部迁移至主服务器,处理了一下主机的散热器问题,现在性能应该足够了。
      2.除了 qsign.trpgbot.com ,其他的都是它的镜像,如果有条件也可以自己反向代理

      协议配置文件

      ANDROID_PAD

      { "apk_id": "com.tencent.mobileqq", "app_id": 537220362, "sub_app_id": 537220362, "app_key": "0S200MNJT807V3GE", "sort_version_name": "9.0.56.16830", "build_time": 1713424357, "apk_sign": "a6b745bf24a2c277527716f6f36eb68d", "sdk_version": "6.0.0.2560", "sso_version": 21, "misc_bitmap": 150470524, "main_sig_map": 34869472, "sub_sig_map": 66560, "dump_time": 1713424357, "qua": "V1_AND_SQ_9.0.56_6372_YYB_D", "protocol_type": 6 } Mirai - 傻瓜式插件

      直接安装插件即可正常登录 https://github.com/MrXiaoM/fpv/releases/tag/v1.13.1
      (它属于 fix-protocol-version 插件的开发分支,因为功能相同所以可能冲突,一山不容二虎哦,使用时请注意禁用相关插件)

      Mirai - fix-protocol-version 插件

      mirai KFCFactory.json 使用配置:

      { "9.0.56": { "base_url": "https://qsign.trpgbot.com", "type": "fuqiuluo/unidbg-fetch-qsign", "key": "miraibbs" } }

      同时请另存为 协议配置文件(ANDROID_PAD)的数据内容到 ANDROID_PAD.json ,数据内容上文已给出
      控制台输入 protocol load ANDROID_PAD
      即可用ANDROID_PAD协议登录你的QQ

      GOCQ

      gocq config.yml使用配置:

      sign-servers: - url: 'http://8.216.82.28/' key: 'miraibbs' authorization: '-' - url: https://qsign.trpgbot.com/' key: 'miraibbs' authorization: '-' auto-register: true

      同时请另存为 协议配置文件(ANDROID_PAD)的数据内容到 /data/versions/6.json ,数据内容上文已给出

      测试结果

      607af2d3-ed77-49ea-a9b5-b3ac8adb98c4.png
      新注册的账号使用本sign,在24小时后仍未出现冻结现象,证明已经通关。

      有任何问题欢迎进行交流讨论,最后感谢fuqiuluo提供的unidbg调用思路以及各位逆向工作者的支持。

    • cssxsh

      升级 mirai 至 2.14.0, 使用新的短信验证方法解决设备验证
      使用交流 • • cssxsh

      360
      6
      Votes
      360
      Posts
      95176
      Views

      cssxsh

      这里使用的 mcl 版本是 2.1.2
      打开 mcl 工作目录 下的 config.json
      编辑 packages
      将
      net.mamoe:mirai-console,
      net.mamoe:mirai-console-terminal,
      net.mamoe:mirai-core-all
      中的 channel 从 stable 改为 maven-stable 或者 maven
      maven-stable 将会更新到 最新标准版 2.13.3
      maven 将会更新到 最新测试版 2.14.0-RC

      例如

      "net.mamoe:mirai-console": { "channel": "maven-stable", "version": "2.13.3", "type": "libs", "versionLocked": false },

      然后使用
      ./mcl -u
      启动 mcl 并触发更新

      ./mcl -u 本身就是启动 mcl 的指令,不是启动 mcl 之后的再输入指令。

      即你应该启动一个 powershell 或者 cmd 之类的终端,然后 使用 ./mcl -u 启动 mcl

      可以参考↓
      https://wiki.mrxiaom.top/zh/mirai/troubleshoot

      这样 这样就能升级到具有短信验证的最新 mirai 版本了
      目前最新版本是 2.13.3
      有短信验证版本是 从 2.13.0-RC 开始
      包括

      2.13.0-RC 2.13.0-RC2 2.13.0, 2.13.1, 2.13.2 2.13.3 2.13.4 2.14.0-RC 2.14.0
      2.13 之后的 版本关于 mirai-native 有兼容性问题,你可以尝试下载pr中的临时修复版
      https://github.com/iTXTech/mirai-native/pull/173

      另外,如果 org.itxtech:mcl-addon 一直卡住没升级到 2.1.1
      你可以尝试修改配置文件

      "org.itxtech:mcl-addon": { "channel": "maven-stable", "version": "2.1.1", "type": "plugins", "versionLocked": false }

      注意这里需要先升级 mcl 版本到 2.1.2

      如果 maven.aliyun.com 报错,下载失败
      可以执行下面这个编辑步骤
      编辑 maven_repo 加上 https://repo.huaweicloud.com/repository/maven

      "maven_repo": [ "https://repo.huaweicloud.com/repository/maven", "https://maven.aliyun.com/repository/public" ],

      注意 LuckPerms-Mirai 需要 最新版 才适配 2.14.0-RC

      cssxsh created this issue in iTXTech/mirai-native closed [ci] build native and jar #173
    • Samarium150

      【涩图插件喜加一】mirai-console-lolicon
      插件发布 • kotlin plugin • • Samarium150

      356
      7
      Votes
      356
      Posts
      87789
      Views

      Samarium150

      mirai-console-lolicon

      受 ACGPro 启发而写

      在群内随机发送来自 Lolicon API v2 的图片(默认30s自动撤回+60s冷却),支持标签检索和JSON高级检索

      也支持简单的自定义命令,自定义回复,是否使用闪照,是否保存图片等等。

      具体使用文档在 Wiki 页面

      GitHub top language
      GitHub
      GitHub all releases

      一些碎碎念 其实这个插件早在今年一月就加到 awesome-mirai 了,一直懒得放到论坛里,今天更新了4.0.0,想了想还是放过来骗star。所以插件中心呢 最初的目的其实只是写来学习mirai和kotlin的,单纯用了CompositeCommand 来实现,现在码已经变成屎山了,但又不想重构正在努力重构。 总之有什么建议、意见和bug之类的发issue或者直接回帖就行,有时间总会做的。
    • AutoGroup 折磨群友插件
      插件发布 • • tsudzuki

      347
      5
      Votes
      347
      Posts
      93611
      Views

      tsudzuki

      项目地址: {
      Github
      Gitee
      }
      Release: Github

      每隔一定时间随机戳一名幸运群友
      当Bot被禁言的时候私聊操作人
      每次群里面发生什么事情就会出来说话 (就差每次发言都要喊话了)
      ...

      群聊发送 allinall文本内容会抽取一名幸运群友来发送他的假消息

      群聊发送翻译即可进行 ✩淫语翻译✩(翻译命令可在配置文件自定)

      来用这个插件折磨你的群友吧

      戳一戳需要为群添加权限
      使用 /perm add g群号 org.laolittle.plugin.autogroup:timer.nudge

      关于配置

      配置文件会在启动mirai时自动生成,请启动一次mirai-console后关闭,就可以找到配置文件

      以下只是配置文件的预览,也有可能会进行修改,仅供参考

      # 戳一戳的时间间隔(单位: 分) nudgeMin: 30 # Bot 被戳时的回复 # 可任意按照格式添加 # 当戳一戳未触发反击时便随机选取列表中的消息发送 nudgedReply: - ヾ(≧へ≦)〃 - '请不要戳亚托莉~>_<~' - 别戳啦 - '再戳我你就是笨批<(  ̄^ ̄)' - 亚托莉是高性能机器人...呜呜 # 戳一戳触发反击的概率百分比(%) counterNudge: 30 # 戳一戳触发反击的回复消息 counterNudgeMessage: 戳回去( ̄ ‘i  ̄;) # 触发戳一戳超级加倍的概率 (仅触发反击时) superNudge: 15 superNudgeMessage: 超级加倍! # 超级加倍戳一戳次数 superNudgeTimes: 10 # Bot 被禁言后对禁言操作者私聊的消息 # 消息会按顺序放出 botMutedMessage: - 就是你禁言的我吧 - 咕姆姆,我记住你了 # Bot 被管理员解禁时的回复 # 变量: %主动% (解禁操作人) botUnmuteMessage: 我自由啦!感谢%主动% 大人 🥵🥵🥵🥵🥵🥵🥵🥵 # 群员被禁言时的回复 # 变量: %主动% (解禁操作人), %被动% (被解禁的成员) # 特殊: botOperatedMuteMessage 为 Bot 主动发起禁言时的回复 memberMutedMessage: %被动% 被%主动% 禁言了,好可惜 botOperatedMuteMessage: %被动% 被本大人禁言了,好好反省吧! # 群员被解禁时的回复 # 变量: %主动% (解禁操作人), %被动% (被解禁的成员) # 特殊: botOperatedUnmuteMessage 为 Bot 主动解除禁言时的回复 memberUnmuteMessage: %被动% 你自由啦!还不快感谢%主动% 大人 botOperatedUnmuteMessage: %被动% 你自由啦!还不快感谢本大人 # 全体解禁时的回复 # 变量: %主动% (解禁操作人) groupMuteAllRelease: 嗯?好像能说话了耶 # 有人被踢出群时的回复 # 变量: %主动% (踢人操作人), %被动% (被踢出的前群员) kickMessage: 有个人被%主动% 踢了!好可怕 # 有人主动退群时的回复 # 变量: %主动% (退出的前群员) quitMessage: 有个人悄悄退群了... # 加入复读的冷却时长 (单位: 秒) # 为-1时关闭此功能 repeatSec: 25 # 淫语翻译触发关键词 yinglishCommand: 翻译 # 淫乱度 (%) yinLevel: 70 # 随机禁言的命令 tenkiNiNokoSaReTaKo: 天弃之子 # 轮盘赌注命令 roulette: 赌 # 轮盘赌注弹槽量 maxPlayer: 3 # 轮盘赌注消息 rouletteOutMessage: - Boom! roulettePassedMessage: - 你扣动了扳机,但什么也没有发生... - Boom! 远处传来了爆炸的声音,但你什么事情也没有 # 轮盘赌注最大禁言时间 (单位: 秒) rouletteOutMuteRange: 100

      更多自定义等有了再说

      和折磨人的亚托莉一样

      有什么想法也可以在下方评论(写的太屎了,不想更新)

    • cssxsh

      Mirai Administrator 机器人管理插件,好友/群管理,黑名单,宵禁
      插件发布 • 群管 黑名单 群发消息 宵禁 进群审核 • • cssxsh

      335
      3
      Votes
      335
      Posts
      75564
      Views

      cssxsh

      Mirai Administrator

      基于 Mirai Console 的 管理员 Bot 及其标准

      Release
      Downloads
      maven-central
      Codacy Badge

      使用前应该查阅的相关文档或项目

      User Manual Permission Command Chat Command

      本插件实现的功能有:

      联系人相关 自动审批,指令查看,用户留言 消息相关 发送消息,撤回消息 群管理相关 群消息审核,自动宵禁,自动清理不发言,禁言自动退群

      本插件提供服务接口以供其他插件拓展功能
      例如使用 Mirai Content Censor 依靠百度API审查群消息
      例如使用 Mirai Authenticator 验证加群请求

      MCL 指令安装

      请确认 mcl.jar 的版本是 2.1.0+
      ./mcl --update-package xyz.cssxsh.mirai:mirai-administrator --channel maven-stable --type plugin

      指令

      注意: 使用前请确保可以 在聊天环境执行指令
      <...>中的是指令名
      [...]表示参数,当[...]后面带?时表示参数可选

      本插件指令权限ID 格式为 xyz.cssxsh.mirai.plugin.mirai-administrator:command.*, * 是指令的第一指令名
      例如 /send to 12345 的权限ID为 xyz.cssxsh.mirai.plugin.mirai-administrator:command.send
      对 机器人发送的联系人请求通知消息 回复 同意 或 不同意 或 拉黑 即可处理
      插件提供黑名单功能,使用指令 /contact black u12345, 即可拉黑用户,Bot将不响应用户动作(包括其他插件的功能)

      AdminContactCommand Command Description /<contact> <delete> [contact] 删除联系人 /<contact> <handle> [id] [accept]? [black]? 处理联系人申请 /<contact> <request> 查看申请列表 /<contact> <black> {permitteeIds} 拉黑 /<contact> <white> {permitteeIds} 取消拉黑 /<contact> <backup> 触发备份功能 id 是 事件id 或 好友id 或 群id accept 和 black 参数为 true, yes, enabled, on, 1 时表示 true (不区分大小写) 对 机器人发送的新联系人通知消息 回复 同意 或 不同意 或 拉黑 即可处理,详见 联系人审批配置 permitteeIds 是 权限系统的用户标识符,例如 m12345.6789, 可以提供多个 PermitteeId 一次性拉黑/取消拉黑 黑名单通过 @EventHandler(priority = EventPriority.HIGH, concurrency = ConcurrencyKind.LOCKED) 拦截消息 AdminFriendCommand Command Description /<friend> <list> 好友列表 /<friend> <delete> [friend] 删除好友 AdminGroupCommand Command Description /<group> <list> 群列表 /<group> <member> [group] 群成员 /<group> <quit> [group] 退出群聊 /<group> <kick> [member] [reason]? [black]? 踢出群员 /<group> <nick> [member] [nick] 群昵称 /<group> <title> [member] [title] 群头衔 /<group> <mute> [member] [second] 禁言 /<group> <quiet> [group] [open]? 全体禁言 /<group> <admin> [member] [operation]? 设置管理员 /<group> <announce> [group] 设置公告 /<group> <rank> [group] {levels} 设置等级头衔 AdminRecallCommand Command Description /<recall> [contact]? 撤回消息 不指定contact时,可以通过回复消息指定要撤销的消息,如果没有指定,将尝试撤销最后一条不是由指令发送者发送的消息 contact是群员时,将尝试撤销这个群员的最后一条消息 contact是群或好友时,将尝试撤销bot的最后一条消息 AdminRegisteredCommand Command Description /<registered> 查看已注册指令 /<reg> 查看已注册指令 AdminSendCommand Command Description /<send> <groups> [bot]? [at]? [second]? 发送给所有群 /<send> <friends> [bot]? [second]? 发送给所有好友 /<send> <to> [contact] [at]? 发送给指定联系人 /<send> <nudge> [user] 戳一戳指定联系人 /<send> <log> {addresses} 备份日志到邮箱 bot 参数在命令行模式下需要指定 at 参数为 true, yes, enabled, on, 1 时表示 true, 将附加一个At second 参数为 延迟的秒数 例如 /send groups 123456 false 10 addresses 参数为 邮箱地址 AdminTimerCommand Command Description /<timer> <config> 显示当前设置 /<timer> <mute> [moment] [cron] [group]? 宵禁 /<timer> <cleaner> [day] [cron] [group]? 清理不发言 /<timer> <status> [cron] [bot]? 定时发送机器人状态 /<timer> <message> [cron] [target] [at] 定时发送消息

      group 为 要操作的群,在群聊中可以不指定

      cron, 为 CRON 表达式, 由 秒 分钟 小时 日 月 周 组成
      例如 0 0 1 * * ? 表示每天 01:00 执行一次,0 30 2 ? * 2-6 表示星期一至星期五 每天 02:30 执行一次
      可以使用在线编辑器生成 https://www.bejson.com/othertools/cron/
      为防止被 空格 分成多个参数,请使用 " 包裹参数

      moment 为 DURATION 表达式, 由 PnDTnHnMn.nS 组成
      例如 P1DT2H3M4.5S 表示 一天二小时三分钟四点五秒,PT5H 表示 五小时

      mute 指令,moment 小于 0 宵禁就会关闭
      例如 /timer mute PT5H "0 0 1 ? * 2-6", 将会在 星期一到星期五的凌晨01:00 禁言 5 小时
      例如 /timer mute PT0S "0 0 0 1 * ?", 将会 取消 禁言定时器

      day 单位为天数的发言期限, 小于 0 宵禁就会关闭
      例如 /timer cleaner 365 "0 0 12 ? * 0", 将会 取消 禁言定时器

      配置 联系人审批配置 AdminAutoApproverConfig.yml 禁言自动退群配置 AdminAutoQuitConfig.yml mute_limit 大于这个设置秒数的禁言会触发自动退群 留言配置 AdminCommentConfig.yml xyz.cssxsh.mirai.plugin.mirai-administrator:comment.include 作用: 拥有此权限的用户,可以给机器人留言 机器人上线消息配置 AdminOnlineMessageConfig.yml xyz.cssxsh.mirai.plugin.mirai-administrator:online.include 作用: 拥有此权限的群,会发送上线通知 消息审查及机器人所有者 AdminSetting.yml censor_types 可选值 IMAGE, FLASH, SERVICE, APP, AUDIO, FORWARD, VIP, MARKET, MUSIC, POKE 正则词库, 须手动添加,将会加载 censor 文件夹中的 txt 文件,每一行对应一个正则匹配,会监听文件改动,无需重启 邮件配置 AdminMailConfig.yml 配置一些默认的发送对象 admin.mail.properties 配置邮箱账号等

      格式参考

      mail.host=smtp.mail.qq.com mail.auth=true mail.user=xxx mail.password=*** mail.from=cssxsh@qq.com mail.store.protocol=smtp mail.transport.protocol=smtp # smtp mail.smtp.starttls.enable=true mail.smtp.auth=true mail.smtp.timeout=15000

      QQ邮箱帮助: https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256

    • Dituon

      Petpet - 生成各种奇怪的图片
      插件发布 • • Dituon

      320
      14
      Votes
      320
      Posts
      74964
      Views

      Dituon

      Petpet - 生成各种奇怪的图片 已更新 6.2 版本, 支持多线程, 可自定义 头像 文字 坐标 概率 关键词 频率限制 等参数
      项目地址 releases 前端版本 / 功能预览

      如果你觉得此插件对你有帮助, 请在此帖下回复不错的插件 让更多人看到, 这对我非常重要!

      Petpet

      Mirai version
      GitHub
      GitHub all releases
      GitHub Repo stars
      GitHub release (latest by date)
      GitHub issues
      GitHub closed issues
      GitHub closed pull requests

      自定义合成图片的 Mirai 插件 / 独立程序 / gocq-http插件, 灵感/部分数据来自 nonebot-plugin-petpet。

      原生 java 编写, kotlin仅用于数据序列化, 使用底层API, 多线程优化: 轻量, 高性能, 易拓展

      在线编辑器

      JS 前端版本

      在线体验

      使用方法 单独运行

      下载 最新版本 petpet.jar 或 petpet-no-ws.jar

      下载 图片素材

      将图片素材放入 ./data/xmmt.dituon.petpet/ 目录

      运行 start.bat 或 start.sh, 可自行更改配置文件 config.json, 重启后生效

      参考WebServer一节 发起网络请求 / 或使用WebUI

      Mirai插件

      部署 Mirai 机器人框架

      下载 最新版本

      将插件放入 Mirai/plugins/

      下载 图片素材

      将图片素材放入 Mirai/data/xmmt.dituon.petpet/

      启动 Mirai, 可自行更改配置文件 Petpet.yml, 重启后生效 (参考 配置项说明)

      使用 戳一戳 有 30% 的概率触发; 或发送 pet @xxx

      pet key @xxx 或 key @xxx 可返回指定图片 例如 pet kiss @xxx kiss @xxx

      可通过发送的图片生成Petpet kiss [图片], 支持GIF

      可通过回复构造图片, 例如 [图片] -> [回复[图片]] 对称

      可使用 pet指令 获取 keyList

      gocq-http插件

      Warning

      此功能处于测试阶段, 目前仅能通过key生成图片, 请期待后续开发!

      部署 gocq-http 机器人框架, 设置正向 WebSocket 监听 (默认端口为8080)

      更改 gocq-http 配置项 message.post-format 为 array

      下载 最新版本 petpet.jar

      下载 图片素材

      将图片素材放入 ./data/xmmt.dituon.petpet/ 目录

      cd ./ java -jar petpet.jar -gocq, 可自行更改配置文件 gocq-config.json, 重启后生效

      配置文件 配置项说明

      <details>

      <summary>展开/收起</summary>
      <br/>

      command: pet

      触发petpet指令, 默认为pet

      例: pet @xxx pet kiss @xxx

      仅发送pet时会返回keyList
      <br/>

      probability: 30

      戳一戳 触发概率, 0-100整数, 默认为 30%
      <br/>

      antialias: true

      画布抗锯齿, 默认为true
      <br/>

      resampling: true

      重采样缩放, 启用后头像质量更高, 可对模板单独配置
      <br/>

      disabled: []

      禁用表列, 默认为空, 在此数组中的key不会被随机触发 (会覆盖data.json中的配置)
      <br/>

      keyCommandHead: ''

      key作为指令头时的前缀, 默认为空

      例 (配置项为'#'时): #kiss @xxx osu hso!
      <br/>

      respondReply: true

      响应回复的消息, 默认为true

      可通过回复消息 定位到之前发送的图片并构造petpet

      启用后 会缓存接收到的图片(见cachePoolSize)

      例 : [回复[图片]]kiss(等价于 kiss [图片])
      <br/>

      cachePoolSize: 10000

      respondReply=true时, 图片消息缓存池大小, 默认为10000

      本质为HashMap<imageId(long), imageUrl(String)>, 超过此限制会清空Map
      <br/>

      respondSelfNudge: false

      某些情况下, 机器人会主动戳其他成员, 响应机器人自己发出的戳一戳, 默认为false
      <br/>

      keyListFormat: FORWARD

      发送pet时 keyList响应格式, 默认为FORWARD

      枚举: MESSAGE(发送普通消息) FORWARD(发送转发消息) IMAGE(发送图片)
      <br/>

      disablePolicy: FULL

      发送pet on/off时 禁用哪些功能, 默认为FULL

      枚举: NONE(无效) NUDGE(只禁用戳一戳) MESSAGE(只禁用指令) FULL(同时禁用戳一戳和指令)

      fuzzy: false

      模糊匹配用户名, 默认为false

      例 : (配置项为true时): kiss @田所浩二(响应) kiss 浩二(响应)
      <br/>

      strictCommand: true

      严格匹配指令, 默认为true

      人话: 可以省略key后的空格

      例 : (配置项为false时): kiss 田所(响应) kiss田所(响应)
      <br/>

      synchronized: false

      消息事件同步锁, 会锁住相同的消息事件, 默认为false

      人话: 多机器人对于同一条指令只有一个会响应
      <br/>

      gifEncoder: ANIMATED_LIB

      GIF编码器, 默认为ANIMATED_LIB

      枚举:
      BUFFERED_STREAM:
      基于缓存的STREAM流, 在编码过程中对Gif进行压缩;

      编码速度较慢, 所需堆内存小, 生成Gif体积小

      ANIMATED_LIB:
      基于byte[]序列, 使用多线程分析像素;

      编码速度极快, 所需堆内存较多, 生成Gif体积较小

      <br/>

      gifMaxSize: []

      GIF缩放阈值/尺寸, 默认为空 (不限制)

      [width, height, frameLength]:

      当Gif长度超过frameLength时, 会对Gif进行等比例缩放

      注: 缩放在图片合成时进行, 不会影响性能

      例: (配置项为[200, 200, 32]时)

      当Gif长度超过32帧时, 检查Gif尺寸 当Gif尺寸大于200*200时, 对Gif进行等比例缩放 Gif缩放后 最长边不会超过设定值
      (当Gif中包含40帧, 尺寸为300*500时) 输出的Gif长度不变, 尺寸为120*200
      gifQuality: 5

      Gif编码质量(1-49), 默认为5

      数字越小, 速度越慢, 质量越好 (大于20时, 速度不会有明显提升)

      仅适用于ANIMATED_LIB编码器

      headless: true

      启用headless模式, 默认为true

      人话: 有些服务器没有输入输出设备, 画图库无法正常运行, 启用这个配置项可以修复, 因为总是有人不看常见问题, 干脆默认启用了(
      <br/>

      autoUpdate: true

      自动更新PetData, 每次启动时都会检查并自动下载船新pet, 默认为true

      注: 仅更新PetData, 不会更新插件版本, 请放心食用

      人话: 每次启动都会自动下载新的超赞梗图, 墙裂推荐
      <br/>

      repositoryUrl: 'https://dituon.github.io/petpet'

      仓库地址, 用于自动更新, 默认为此仓库的github page

      devMode: false

      开发模式, 启用后任何人都能使用pet reload指令热重载PetData, 默认为false
      <br/>

      messageHook: false

      消息注入, 参考MessageHook, 默认为false
      <br/>

      coolDown: 1000

      成功触发指令后对该用户的冷却时间(单位为毫秒), 默认为 1000

      设置为 -1 可禁用冷却
      <br/>

      groupCoolDown: -1

      成功触发指令后对该群聊的冷却时间, 默认为 -1
      <br/>

      inCoolDownMessage: 技能冷却中...

      在冷却时间中触发命令的回复消息

      配置项为[nudge]时, 会以戳一戳形式回复
      <br/>

      </details>

      修改后重启 Mirai 以重新加载

      权限管理

      群主或管理员使用 pet on pet off 以 启用/禁用 戳一戳

      pet on/off指令控制的事件可在配置文件中更改

      可在配置文件中禁用指定key, 被禁用的key不会随机触发, 但仍可以通过指令使用

      图片预览

      在线尝试

      自定义

      在线编辑器

      data.json

      ./data/xmmt.dituon.petpet/ 下的目录名为 key ,插件启动时会遍历 ./data/xmmt.dituon.petpet/$key/data.json

      data.json 是模板配置文件, 程序解析此文件以生成图像

      { "type": "GIF", "avatar": [], "text": [], "delay": 50, "alias": [ "别名1", "别名2" ] } 属性 类型 注释 默认值 type 模板类型枚举 图片类型枚举, IMG或GIF 必须 avatar Avatar 数组 头像配置数组, 见下文 必须 text Text 数组 文本配置数组, 见下文 必须 inRandomList 布尔值 是否在随机列表中 false reverse 布尔值 GIF是否倒放 false delay 整数 帧间延时 (毫秒) 65 background Background 背景配置, 见下文 null alias 字符串数组 别名数组 [] hidden 布尔值 是否隐藏 false 模板类型枚举 GIF 动图, 程序会读取目录下所有.png格式的图像 IMG 静态图片, 程序会读取目录下随机.png格式的图像 头像

      程序支持复杂的图像处理, 包括裁切, 旋转, 透明度, 滤镜等

      { "avatar": [ { "type": "FROM", "pos": [[92, 64, 40, 40], [135, 40, 40, 40], [84, 105, 40, 40]], "round": true, "rotate": false, "avatarOnTop": true, "angle": 90 }, { "type": "TO", "pos": [[5, 8], [60, 90], [50, 90], [50, 0], [60, 120]], "posType": "DEFORM", "opacity": 0.5 } ] } 属性 类型 注释 默认值 type 头像类型枚举 见下文, 例如FROM或TO 必须 pos 坐标数组 头像的坐标信息 必须 posType 坐标格式枚举 坐标格式枚举, ZOOM或DEFORM ZOOM round 布尔值 头像是否裁切为圆形 false avatarOnTop 布尔值 头像图层是否在背景之上 true angle 整数 头像的初始角度 0 origin 旋转原点枚举 头像的旋转原点 DEFAULT opacity 浮点数 头像的不透明度 1.0 rotate 布尔值 GIF类型的头像是否旋转 false fit 填充模式枚举 填充模式枚举, 可以是CONTAIN或FILL FILL crop 裁切坐标数组 头像裁切坐标信息 null cropType 裁切格式枚举 见下文 NONE style 风格化枚举数组 风格化枚举数组, 见下文 [] filter 滤镜对象数组 滤镜数组, 见下文 [] antialias 布尔值 是否使用抗锯齿算法, 默认跟随全局配置 null resampling 布尔值 是否使用重采样缩放, 默认跟随全局配置 null

      头像类型枚举 type

      FROM 发送者头像 TO 接收者头像, 或构造的图片 GROUP 群头像 BOT 机器人头像 RANDOM 随机头像 (随机从群聊成员中选择, 不会重复) 坐标

      坐标格式枚举posType

      ZOOM 缩放, 通过 x, y, width, height 表示图像 DEFORM 变形, 通过四点坐标来表示图像 ZOOM

      ZOOM 缩放坐标的基本组成单位是 4长度 int[] 数组

      其中,前两项为 左上角顶点坐标, 后两项为 宽度和高度

      例:
      [65, 128, 77, 72] 即 头像的左上角顶点坐标是 (65,128), 宽度为 77, 高度为 72

      如果是 GIF 类型,坐标应为二维数组,GIF 的每一帧视为单个图像文件

      { // pos的元素对应GIF的4帧 "pos": [[65, 128, 77, 72], [67, 128, 73, 72], [54, 139, 94, 61], [57, 135, 86, 65]] }

      如果是IMG类型, 可以使用一维数组

      { "pos": [0, 0, 200, 200] }

      坐标支持变量运算, 例如 [100,100,"width/2","height*1.5^2"]

      坐标变量

      width 原图宽度 height 原图高度 DEFORM

      DEFORM 仿射变换坐标格式为 [[x1,y1],[x2,y2],[x3,y3],[x4,y4],[x_anchor,y_anchor]];
      分别对应图片的[[左上角],[左下角],[右下角],[右上角],[锚点]],四角坐标用相对于锚点的偏移量表示

      旋转原点枚举 origin

      DEFAULT 左上角 CENTER 中心 裁切

      图片裁切坐标 [x1, y1, x2, y2], [0, 0, x2, y2] 可简写为 [x2, y2]

      裁切格式枚举 cropType

      NONE 不裁切 PIXEL 按像素裁切 PERCENT 按百分比裁切

      填充模式 fit

      CONTAIN 缩小以适应画布, 不改变原比例 COVER 裁切以适应画布, 不改变原比例 FILL 拉伸, 改变原比例

      风格化枚举 style

      MIRROR 水平镜像 FLIP 上下翻转 GRAY 灰度化 BINARIZATION 二值化 滤镜 filter

      通过滤镜实现头像特效, Java 与 JavaScript 版本实现有偏差, 并非完全相同

      { "filter": [ { "type": "SWIRL", "radius": 200, "angle": 5.0 } ] } 滤镜类型 type SWIRL 对应 AvatarSwirlFilter BULGE 对应 AvatarBulgeFilter BLUR 对应 AvatarBlurFilter CONTRAST 对应 AvatarContrastFilter HSB 对应 AvatarHSBFilter HALFTONE 对应 AvatarHalftoneFilter DOT_SCREEN 对应 AvatarDotScreenFilter NOISE 对应 AvatarNoiseFilter DENOISE 对应 AvatarDenoiseFilter 滤镜对象 AvatarSwirlFilter 对象, 漩涡滤镜 属性 类型 注释 默认值 radius 浮点数 涡旋半径, 值为0时表示图片半径 0.0 angle 浮点数 涡旋角度 3.0 x 浮点数 中心点X坐标百分比 0.5 y 浮点数 中心点Y坐标百分比 0.5 AvatarBulgeFilter 对象, 膨胀收缩滤镜 属性 类型 注释 默认值 radius 浮点数 膨胀半径, 值为0时表示图片半径 0.0 strength 浮点数 膨胀强度 [-1, 1], 负数时产生收缩效果 0.5 x 浮点数 中心点X坐标百分比 0.5 y 浮点数 中心点Y坐标百分比 0.5 AvatarBlurFilter 对象, 模糊滤镜 属性 类型 注释 默认值 radius 浮点数 模糊半径 10.0 AvatarContrastFilter 对象, 亮度对比度滤镜 属性 类型 注释 默认值 brightness 浮点数 亮度 0.0 contrast 浮点数 对比度 0.0 AvatarHSBFilter 对象, 相对HSB (色相, 饱和度, 亮度) 滤镜 属性 类型 注释 默认值 hue 浮点数 色相 0.0 saturation 浮点数 饱和度 0.0 brightness 浮点数 亮度 0.0 AvatarHalftoneFilter 对象, 半色调滤镜 (模仿彩色印刷的CMYK色彩) 属性 类型 注释 默认值 angle 浮点数 角度 0.0 radius 浮点数 半径 4.0 x 浮点数 中心点X坐标百分比 0.5 y 浮点数 中心点Y坐标百分比 0.5 AvatarDotScreenFilter 对象, 单色点阵滤镜 (模仿黑白印刷品) 属性 类型 注释 默认值 angle 浮点数 角度 0.0 radius 浮点数 半径 4.0 x 浮点数 中心点X坐标百分比 0.5 y 浮点数 中心点Y坐标百分比 0.5 AvatarNoiseFilter 对象, 噪声滤镜 属性 类型 注释 默认值 amount 浮点数 噪声强度 0.25 AvatarDenoiseFilter 对象, 降噪滤镜 属性 类型 注释 默认值 exponent 短整数 指数 20 文字

      如果你想在图片上添加文字,可以编辑 text

      { "text": [ { "text": "Petpet!", // 文字内容 "color": "#66ccff", // 颜色, 默认为#191919 "pos": [100, 100], // 坐标 "size": 24 // 字号, 默认为12 }, { "text": "发送者: $from, 接收者: $to", // 支持变量 "pos": [20, 150], // 坐标 "position": ["CENTER", "BOTTOM"], //坐标计算基准([x, y]) "font": "宋体", // 字体, 默认为黑体 "strokeColor": "#ffffff", // 描边颜色 "strokeSize": 2 // 描边宽度 }, { "text": "$txt1[我]超市$txt2[你]!", // 支持关键词变量 "pos": [0,200,300], // 第三个值为文本最大宽度 "align": "CENTER", // 对齐方式, 默认为LEFT "wrap": "ZOOM", // 显示设置, 默认为NONE "style": "BOLD" // 字体样式, 默认为PLAIN } ] } 属性 类型 注释 默认值 text 字符串 文本内容 必须 pos 数组 文本的坐标信息 必须 color 字符串 文本颜色 #191919 size 整数 文本字号 12 angle 整数 头像的初始角度 0 origin 旋转原点枚举 文字的旋转原点 DEFAULT position 数组 文本坐标计算基准 [LEFT, TOP] font 字符串 字体 黑体 strokeColor 字符串 文本描边颜色 null strokeSize 整数 文本描边宽度 0 align 字符串 文本对齐方式 LEFT wrap 字符串 文本显示设置 NONE style 字符串 字体样式 PLAIN greedy 布尔值 是否贪婪匹配多余的关键词 false

      变量

      $from : 发送者, 会被替换为发送者昵称 $to : 接收者, 被戳或At的对象 $group : 群名称 $txt(i)[(xxx)] : 文本变量, 可用于生成meme图, i为关键词索引, xxx为默认值; 例: $txt1[我]超市$txt2[你] 指令为 pet [key] 我 你

      font

      在data/fonts目录下的字体文件会注册到环境中

      align

      LEFT: 左对齐, 文本基线是标准的字母基线 RIGHT: 右对齐, 文本基线是标准的字母基线 CENTER: 居中对齐, 文本基线在文本块的中间

      wrap

      NONE: 不换行 BREAK: 自动换行, 超过最大宽度的文本会显示在下一行 ZOOM: 自动缩放, 缩放字体大小以填充最大宽度

      使用BREAK或ZOOM时, maxWidth 默认为 200

      style

      PLAIN: 默认 BOLD: 粗体 ITALIC: 斜体 BOLD_ITALIC: 粗体与斜体

      position

      LEFT: 左定位(默认) RIGHT: 右定位 TOP: 上定位(默认) BOTTOM: 下定位 CENTER: 居中定位 background

      程序支持动态创建画布

      { "background": { "size": ["avatar0Width*2","avatar0Height"], //支持变量运算 "color": "#f0f0f0" } }

      坐标变量

      avatar(i)Width i号头像(i为定义头像时的顺序, 从0开始)处理后的宽度 avatar(i)Height i号头像处理后的高度 text(i)Width i号文本渲染后的宽度 text(i)Height i号文本渲染后的高度 MessageHook

      本特性仅适用于 Mirai 插件, 消息注入, 插件会检查将要发送的消息 解析后注入图片, 可配合各类消息回复插件使用

      <pet></pet> 标签中的JSON会被解析, 请求格式参考 WebServer.POST

      用例:

      这段文字之后的标签会变成一张图片发送<pet>{ "key": "petpet", "to": { "qq": 2544193782 }, "textList": [ "text1" ] }</pet>消息的顺序会被正确处理, 支持多张图片

      不同于 POST 请求格式, 你可以用 "qq" 令程序自动获取头像和昵称, 也可以自定义"name" "avatar"
      (更推荐自定义的做法, 程序可能在某些情况下无法推断出正确的"name")

      被"hidden": true隐藏的模板会正常调用

      此功能默认禁用, 需在配置文件中启用messageHook: true

      WebServer

      程序可作为http服务器 / API单独运行, 被其它项目/语言使用

      java -jar petpet.jar

      启动时会生成 config.json:

      { "port": 2333, // 监听端口 "webServerThreadPoolSize": 10, // HTTP服务器线程池容量 "dataPath": "data/xmmt.dituon.petpet", // PetData路径 "preview": false, // 启用动态预览 (启动时生成所有模板预览) "antialias": true, // 启用抗锯齿, 详见上文 "resampling": true, // 启用重采样, 详见上文 "gifMaxSize": [200, 200, 32], // GIF缩放阈值, 详见上文 "gifEncoder": "ANIMATED_LIB", // GIF编码器, 详见上文 "gifQuality": 5, // GIF质量, 详见上文 "threadPoolSize": 0, // GIF编码器线程池容量, 详见上文 "headless": true // 使用headless模式 }

      程序使用com.sun.net.httpserver实现http服务器

      PetServer API

      访问 127.0.0.1:2333/petpet 以获取 PetDataList

      GET

      使用 GET 传递参数, 例如 127.0.0.1:2333/petpet?key=petpet&toAvatar=$avatarUrl
      127.0.0.1:2333/petpet?key=osu&textList=hso!

      结构
      <details>
      <summary>展开/收起</summary>

      key (str): 对应PetData,例如kiss rub fromAvatar toAvatar groupAvatar botAvatar (url): 头像URL地址, encodeURIComponent(rawUrl) randomAvatarList (url[]): 随机头像列表, 使用,分割多个url fromName toName groupName (str): 昵称, 有默认值 textList (str): 根据空格分割此字符串, 作为额外数据
      </details> POST

      使用 POST 传递参数, 例如 127.0.0.1:2333/petpet

      { "key": "petpet", "to": { "name":"d2n", "avatar":"https://q1.qlogo.cn/g?b=qq&nk=2544193782&s=640" }, "randomAvatarList": [ "url" ], "textList": [ "text" ] }

      其中, key为必须项, 其它可以省略

      form-data

      可直接将图片二进制文件上传至服务器进行处理

      类似于 GET数据结构, 使用 multipart/form-data

      可参考example-script中的代码实现请求

      语言 示例 javascript post.js get.js python example.py php example.php WebUI

      启动WebServer后即可使用WebUI

      启用preview配置项以加载WebUI模板预览 (可选, 默认关闭)

      修改 server-config.json preview: true 常见问题

      戳一戳无法触发?

      检查 Mirai 登录协议, 仅 ANDORID_PHONE 可以收到 戳一戳 消息

      没有生成配置文件?

      Mirai 2.11.0 提供了新的 JavaAutoSaveConfig 方法, 请更新Mirai版本至 2.11.0 (不是2.11.0-M1), 旧版本不支持自定义配置项

      Could not initialize class java.awt.Toolkit?

      对于无输入输出设备的服务器 需要启用headless

      自动更新下载速度慢 / 无法连接远程资源?

      修改Petpet.yml中repositoryUrl的值为'https://ghproxy.com/https://raw.githubusercontent.com/Dituon/petpet/main'(高速镜像)

      自动更新后 读取data.json出错?

      自动更新时网络出错导致, 删除出错的文件 重新获取即可

      其它错误? 问题?

      若此文档无法解决您的问题, 欢迎提交issue

      性能 & 兼容性

      程序使用底层java.awt类合成图片, 渲染时使用多线程, 静态图片渲染时间一般不会超过1ms

      对GIF编码器的分析, 转换, 映射部分进行多线程优化, 速度极快

      Android JVM没有实现java.awt, 推荐使用JDK 11+版本

      分享你的作品 (模板)

      如果你想分享自定义的 Petpet, 欢迎Pr

      二次开发

      程序提供超多实用API 拓展性极强, 附有互动式开发实例, 欢迎初学者学习!

      互动式开发实例 参见test.moe.dituon.petpet.example.HelloPetpet

      在别的项目二次开发: mirai-simplepetpet-plugin

      后话

      如果此插件和您预期的一样正常工作,请给我一个 star

      欢迎提交任何请求

      交流群: 922959760

    • cssxsh

      Meme Helper 表情包生成器,游戏王,幻影坦克,支持Termux
      插件发布 • meme 表情包 termux 幻影坦克 游戏王 • • cssxsh

      264
      5
      Votes
      264
      Posts
      49192
      Views

      cssxsh

      更详细内容请阅读 https://github.com/cssxsh/meme-helper#readme

      v1.1.4+ 版本已解决兼容性问题,不再需要额外配置
      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
      pornhub

      PetPet

      摸摸头生成

      可以发送 图片 或者 @某人 或者 QQ号 确定卡片图片
      示例: #pet @群主, #pet 123456
      petpet

      Dear

      狂亲表情包生成

      可以发送 图片 或者 @某人 或者 QQ号 确定卡片图片
      示例: #dear @群主, #dear 123456
      dear

      5000choyen

      5000choyen 表情包生成

      示例: #choyen 我想吃 肯德基疯狂星期四套餐
      5000choyen

      zzkia

      诺基亚短信 表情包生成

      示例: #pinyin 无内鬼,来点色图
      zzkia

      游戏王

      游戏王 表情包生成
      可以发送 图片 或者 @某人 或者 QQ号 确定卡片图片
      可以使用 xxx=yyy, 指定属性,可选属性有:

      卡片名称: name 怪兽属性: attr = dark, divine, earth, fire, light, spell, trap, water, wind 怪兽等级: level 怪兽种族: race 怪兽攻击: atk 怪兽防御: def 卡片版权:copyright

      示例:

      #spell @Him188 Welcome PR 你可以PR

      spell

      #trap @Him188 Useless PR 这个还是由我们自己实现

      trap

      #monster @LaoLittle 援交JD 五元一次

      monster

      随机表情包

      随机表情包一张(通过 Mirai Hibernate Plugin 插件 从消息中收集得到)

      示例: #群友表情

      Emoji合成

      Google Emoji Kitchen,两个 emoji 合成 一个

      示例: 😍+🥵
      u1f60d_u1f975.png

      cssxsh created this issue in cssxsh/mirai-skia-plugin closed skiko 兼容性问题 #2
    • cssxsh

      Arknights Helper / 明日方舟 助手,更新订阅的微博号配置项
      插件发布 • kotlin jvm 明日方舟 • • cssxsh

      245
      3
      Votes
      245
      Posts
      46297
      Views

      cssxsh

      Arknights Helper

      基于 Mirai Console 的 明日方舟 助手插件

      Release
      Downloads
      MiraiForum
      DataHolder Test

      使用前应该查阅的相关文档或项目
      Arknights Helper 在2.0版本进行了重构 需要重新配置订阅 详见 方舟蹲饼

      User Manual Permission Command Chat Command 指令

      注意: 使用前请确保可以 在聊天环境执行指令
      带括号的/前缀是可选的
      <...>中的是指令名,由空格隔开表示或,选择其中任一名称都可执行例如/抽卡 十连
      [...]表示参数,当[...]后面带?时表示参数可选
      {...}表示连续的多个参数

      本插件指令权限ID 格式为 xyz.cssxsh.mirai.plugin.arknights-helper:command.*, * 是指令的第一指令名
      例如 /方舟公招 远程位 支援 的权限ID为 xyz.cssxsh.mirai.plugin.arknights-helper:command.ark-recruit

      助手抽卡指令 指令 描述 /<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 助手答题指令 指令 描述 /<ark-mine 方舟挖矿 方舟答题> [type]? 机器人会提出一个问题 /<ark-question 方舟问题> <detail 详情> [name] 查看自定义问题的详情 /<ark-question 方舟问题> <list 列表> 列出已经设置的自定义问题 /<ark-question 方舟问题> <delete 删除> 删除指定问题 /<ark-question 方舟问题> <add 添加> 与机器人互动,输入条件,设置新问题 /<ark-question 方舟问题> <count 统计> 答题情况统计 回复选项序号A~Z,即算回答问题 type是提问问题类型,默认为全部类型
      可选值 BUILDING, PLAYER, TALENT, POSITION, PROFESSION, RARITY, POWER, ILLUST,
      VOICE, SKILL, STORY, ENEMY, WEEKLY, MUSIC, OTHER 回答了当前问题才会出现下一个问题 快速回答(规定时间的1/3内)会有相应奖励 群聊模式的其他群员亦可回答题目,但题目只能被回答一次,且其他人作为抢答者有相应奖励和惩罚 题目结构如下 [类型](得分) 问题 A. 选项 B. 选项 ... 助手公招指令 指令 描述 /<ark-recruit 方舟公招> {words} 查看关键词words的公招干员 words的数量为1~5
      例如 /方舟公招 远程位 支援 助手材料指令 指令 描述 /<ark-item 方舟材料> [name] [limit]? [now]? 查看材料的关卡掉落率 /<ark-stage 方舟关卡> [name] [limit]? [now]? 查看关卡的材料掉落率 /<ark-zone 方舟章节> [name] [limit]? [now]? 查看地图所有关卡的材料掉落率 limit 是显示前多少项查询结果 now 是是否只显示当前开启关卡,默认为 true 助手蹲饼指令 指令 描述 /<ark-guard 方舟蹲饼> <detail 详情> 查看蹲饼详情 /<ark-guard 方舟蹲饼> <blog 微博> [contact] {blogs} 设置微博蹲饼内容 /<ark-guard 方舟蹲饼> <video 视频> [contact] {videos} 设置视频蹲饼内容 /<ark-guard 方舟蹲饼> <announce 公告> [contact] {announces} 设置公告蹲饼内容 /<ark-guard 方舟蹲饼> <weekly 周常> [contact] {weeklies} 设置周常蹲饼内容 contact 为群号或Q号 blogs 可选值为 ARKNIGHTS(官号), BYPRODUCT(朝陇山), MOUNTEN(一拾山), HISTORICUS(泰拉记事社)
      例如 /方舟蹲饼 微博 123456 ARKNIGHTS MOUNTEN, 就订阅了官方号和一拾山 videos 可选值为 ANIME, MUSIC, GAME, ENTERTAINMENT
      例如 /方舟蹲饼 视频 123456 GAME MUSIC, 就订阅了PV和音乐单曲 announces 可选值为 ANDROID, IOS, BILIBILI
      例如 /方舟蹲饼 公告 123456 ANDROID, 就订阅了官服的公告 weeklies 可选值为 EVOLVE, MATERIAL, SPECIAL
      例如 /方舟蹲饼 周常 123456 EVOLVE MATERIAL, 就订阅了物资筹备和芯片搜索 助手数据指令 指令 描述 /<ark-data 方舟数据> <clear 清理> 清理缓存 /<ark-data 方舟数据> <cron 定时> 重载定时设置

      位于 Mirai-Console 运行目录下的 config/xyz.cssxsh.mirai.plugin.arknights-helper 文件夹下的 cron.json 文件

      助手表情指令

      ** 需要 Meme Helper 作为前置**

      指令 描述 /<ark-face 方舟表情> <random 随机> 随机发送一个表情 /<ark-face 方舟表情> <detail 详情> 查看表情详情 配置文件

      位于 Mirai-Console 运行目录下的 config/xyz.cssxsh.mirai.plugin.arknights-helper 文件夹下的 config 文件

      安装 MCL 指令安装

      ./mcl --update-package xyz.cssxsh:arknights-helper --channel maven-stable --type plugin

      手动安装 从 Releases 或者 Maven 下载 mirai2.jar 将其放入 plugins 文件夹中 TODO 配置问题类型出现的概率 记录答题正确率 21/06/10 关卡规划 周常提醒 游戏公告 数据来源 游戏数据 Kengxxiao/ArknightsGameData 掉落数据 企鹅物流数据统计 语音数据 PRTS WIKI
    • Kloping

      Console 自动定义回复插件
      插件发布 • jvm java plugin • • Kloping

      242
      2
      Votes
      242
      Posts
      52541
      Views

      Kloping

      项目地址
      https://github.com/Kloping/Mirai_Plugins_Auto_Reply
      下载地址
      https://github.com/Kloping/Mirai_Plugins_Auto_Reply/releases

      29b9b171-8b00-45d4-a21c-3d48862c122f-06b710c4-adb1-4338-b0cd-bdd896edaa06-image.png

      目前已实现的功能

      定时消息发送 网页管理 cron 定时消息 消息分段发送 指定id触发(开关)
    • cssxsh

      NovelAi Helper AI图片生成, 可对接自建/colab在线运行的 Naifu api
      插件发布 • novelai ai 图片生成 • • cssxsh

      232
      4
      Votes
      232
      Posts
      45649
      Views

      cssxsh

      NovelAi Helper

      基于 NovelAi 的 AI图片生成插件

      Release
      Downloads
      MiraiForum

      使用前应该查阅的相关文档或项目

      User Manual Permission Command Chat Command

      会自动下载 EhTagTranslation 翻译词库
      可以对接 NaiFu 本地搭建
      或者你可以 利用 colab 进行在线搭建
      将搭建得到的 url 例如 https://express-disco-environmental-friends.trycloudflare.com/ 填入 config.yml 的 naifu_api 配置项

      如果你是用 Stable Diffusion web UI 搭建的API 请移步 https://github.com/cssxsh/stable-diffusion-helper

      指令

      /nai <word> 生成一张图片 官方API需要登录
      例如 /nai 连裤袜 双马尾 (只有部分词条会自动翻译)
      例如 /nai swimsuit #seed=12346 (设置种子)
      例如 /nai swimsuit #steps=3 (AI迭代次数)
      例如 /nai "swimsuit, ahegao" (如果需要以 , 分割词条, 请用 " 包裹)
      例如 /nai 连裤袜 [图片] (以图生图, [图片] 是指指令消息中包含有图片)
      可用的配置项有
      seed 种子
      steps 迭代次数
      width 宽度
      height 高度
      scale 比例
      sampler 采样器 可选值 k_euler_ancestral, k_euler, k_lms, plms, ddim
      strength 以图出图中对原图的更改程度 可选值 [0.00, 0.99]
      noise 以图出图中的噪声 可选值 [0.00, 0.99]

      /nai-fu <word> 生成一张图片 自建API需要配置 naifu_api
      对接 naifu, naifu 是基于 novelai 官方 web 端的修改版,所以指令用法 和 nai 一致

      /nai-login <mail> <password> 登录账号
      例如 /nai-login 114514@gmail.com 1919810

      /nai-reload 重新载入 config.yml 配置文件

      配置

      config.yml 配置文件 包括 proxy, doh, ipv6, naifu_api 等配置

      proxy 代理 doh DNS ipv6 是否使用ipv6 naifu_api 自建 naifu 地址 command_interval 命令间隔延迟时间 单位毫秒

      ban.txt 屏蔽的词条,可热编辑,保存后一段时间会自动启用

      NaiFu

      naifu 是基于 novelai 官方 web 端的修改版
      相关信息可以看这 https://colab.research.google.com/drive/1_Ma71L6uGbtt6UQyA3FjqW2lcZ5Bjck-#scrollTo=KZ88G-iWCTs7

      TODO 更好的翻译 更多配置项
    • cssxsh

      OpenAI ChatBot 插件,已添加预设功能(为啥你们都想整猫娘)
      插件发布 • • cssxsh

      229
      6
      Votes
      229
      Posts
      52532
      Views

      cssxsh

      目前
      实现了 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

    • Colter23

      本地搭建NovelAi (免费的色图生成器,可用colab在线运行)
      技术交流板块 • novelai ai 图像生成 色图 • • Colter23

      226
      9
      Votes
      226
      Posts
      84876
      Views

      Colter23

      NovelAi

      最近novelai的模型被曝了出来,所以快自己搭建一个免费的色图生成器吧

      Snipaste_2022-10-08_16-14-27.png

      在colab上运行 https://colab.research.google.com/drive/1gk-R0lx0T_Pk3kETvcMDs4Js8vxzSaKm?usp=sharing 首先打开colab的GPU支持

      362c75aa-24e1-4f0d-ba1b-b9061c90cf51-image.png
      d1ea4931-f3df-490e-aa13-fecad87f0670-image.png

      然后鼠标指到每个代码段前面,点击运行即可

      9209f843-92fb-4688-ac8b-60952c65e2fa-image.png

      在本地运行

      如果你实在搭建不起来,那么就去b站找一件启动包吧,或者用上面的在线运行

      环境

      请确保你的网络通常,以及防火墙

      首先确保你有一张10系及以上的Nvidia显卡,如果你是AMD的显卡,可能需要在linux下进行操作

      16G内存

      需要磁盘空间 15G 左右(大概

      16系显卡有点特殊,请注意下面教程中的说明

      下面的教程使用的是windows

      资源 模型资源

      magnet:?xt=urn:btih:5bde442da86265b670a3e5ea3163afad2c6f8ecc

      只需要下载一个模型即可
      模型在 stableckpt 目录下

      能用到的模型有两个:
      animefull-final-pruned:4G小模型(如果你的显存小于等于4G, 下这个)
      animefull-latest:7G大模型(如果显存大于等于6G, 用这个, 顺便把小模型的config.yaml也下载下来,有用)

      模型文件夹里有两个文件(都要下载):
      config.yaml:模型的配置文件
      model.ckpt:模型

      大模型的效果比较好

      Snipaste_2022-10-08_16-25-03.png

      CUDA

      https://developer.nvidia.com/cuda-downloads
      下载后安装

      Python 3.10

      https://www.python.org/downloads/release/python-3107

      翻到页面最下面的文件列表,一般用最后一个

      Snipaste_2022-10-08_16-19-34.png

      安装时起始页面有两个勾都勾上

      Snipaste_2022-10-08_16-21-57.png

      Git

      https://git-scm.com/

      webui

      https://github.com/AUTOMATIC1111/stable-diffusion-webui

      使用 git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git 下载,之后每次运行前都可以拉去一下更新 git pull

      如果你的git报错,请确保你安装了git并设置了账号信息(git如何设置账号信息请自行搜索)然后再检查你的网络是否通畅(无法正常使用git的话就开个加速器或者优化git的软件,如 dev-sidecar等,或者自行搜索git加速的方法),如果还不行的话就关闭防火墙试试。

      准备

      上述资源准备好后

      1. 放置模型文件 model.ckpt

      来到 stable-diffusion-webui 项目目录中(后面的操作如果没有特殊说明都在这个项目中完成)
      把模型文件 model.ckpt 放到 models\Stable-diffusion 目录中 (看清楚是models目录, 不是modules目录)

      2. 初始化运行

      !!! 如果你的显卡是16系显卡,请进行下面的操作 !!!

      在项目根目录找到 webui-user.bat 并编辑
      在 set COMMANDLINE_ARGS= 后面加上 --precision full --no-half 参数
      完整webui-user.bat如下

      @echo off set PYTHON= set GIT= set VENV_DIR= set COMMANDLINE_ARGS=--precision full --no-half call webui.bat

      在项目根目录找到 webui-user.bat 运行 (! 不要使用管理员运行 !)
      运行会安装必要的依赖,但没有进度条
      如果你的网络顺畅那么下面那些问题应该都不会有

      如果太长时间未相应或你想看进度可以手动安装依赖(但必须先运行一遍 webui-user.bat,卡住后 ctrl+c 退出)

      手动安装依赖:
      如果手动安装失败,那就老老实实用 webui-user.bat 吧
      请确保你项目根目录下有 venv 文件夹, 没有就去执行一下 webui-user.bat (不用执行完,等他安装卡住时退出即可
      在根目录下运行cmd
      执行命令 ./venv/Scripts/pip.exe install -r ./requirements.txt
      一定要用项目环境中的pip
      安装完成后再次运行 webui-user.bat

      python依赖安装完成后如果出现 git clone xxx 报错,可手动安装github依赖库

      手动安装github依赖库
      主要是下面这个github库比较大
      https://github.com/CompVis/taming-transformers

      在项目根目录找到 repositories 文件夹,没有就自己建一个
      把上面那个库放到这里,git clone
      安装完成后再次运行 webui-user.bat

      python依赖与github库依赖都下载完后还会下载1个多G的数据

      如果一切正常最后会看到一个URL: http://127.0.0.1:7860
      先不要着急去体验,现在模型还发挥不出他应有的实力,先 ctrl+c中止运行,然后继续下面的步骤

      3. 放置模型配置文件 config.yaml

      把模型对应的 config.yaml 放置到 repositories\stable-diffusion\configs\stable-diffusion 目录下
      替换原来的 v1-inference.yaml (把你的配置改名成这个
      如果你没有 repositories 这个目录,那么就说明你上面项目初始化没做完

      !!! 注意 !!!
      如果你是小模型就直接替换
      如果你用的大模型且你的显存小于等于6G,请使用小模型的config (否则可能会爆显存
      如果你的显存大于等于8G可以尝试使用大模型的config (如果不行的话就换小模型的config

      再去根目录运行 webui-user.bat 启动,然后就可以愉快的玩耍了

      4. 使用

      如果你想要在其他设备上使用,可在 webui-user.bat 里的 COMMANDLINE_ARGS= 后面加上 --listen 参数

      页面中的参数大部分默认就行,你可以调整一下输出图片高度(但要量力而行,否则可能爆显存

      Prompt 输入框就是你输入tag的地方,每个tag间用逗号隔开。可以加上这几个tag,效果更好些 masterpiece, best quality,highly detailed,

      更多tag可去danbooru上查看

      Negative prompt 建议使用下面这组tag,可以优化输出品质

      lowres, bad anatomy, bad hands,text, error, missing,fingers,extra digit, fewer digits, cropped, worst,quality, Low quality, normal quality, jpeg ,artifacts,signature, watermark, username, blurry,bad feet

      Sampling Steps 建议 20-40 即可

      Width ,Height 输出图片宽高(量力而行)

      Batch count 批量输出数量

      CFG Scale ai的创作度, 7-11

      Seed 种子,可以用于生成根之前类似的图片(如果你生成一张还不错的图片,但细节还不够好,可以用他的种子继续生成类似的图片)
      seed在生成的图片下边那一串英文的最后一行中间

      生成的图片默认保存在项目根目录下的 outputs 目录中,不用点网页上那个保存

      设置里最下边有个 Stop At last layers of CLIP model 滑条可以调到 2

      如果想了解每个参数的具体含义,可看这个视频 https://www.bilibili.com/video/BV1V8411s76T
      或者项目wiki https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki

      其他

      此教程中的很多内容来自网络以及群友(感谢

      https://rentry.org/voldy
      官网:https://novelai.net

    • tsudzuki

      Molly-Mirai 接入茉莉云聊天机器人
      插件发布 • • tsudzuki

      213
      0
      Votes
      213
      Posts
      45261
      Views

      tsudzuki

      项目地址:Molly-Mirai
      Release:release

      接入茉莉云机器人,茉莉云机器人为免费聊天机器人
      可前往 茉莉云官网 注册使用

      将本插件放入mirai下的plugins目录内,启动一次mirai-console以生成配置文件,然后关闭mirai-console并前往修改Molly配置文件 ( 位于./config/Molly/MollyConfig.yml )

      输入你自己的Api-Key和Api-Secret,开启mirai-console

      在群聊内@机器人即可使用
      私聊直接聊天即可

      设置项:
      api_key和api_secret
      上文已解释
      name 机器人昵称(推荐与茉莉云机器人昵称一致)
      replyTimes 呼唤机器人后机器人持续回复的次数
      doQuoteReply 机器人回复消息是否引用回复

      效果如图

      1637912140537.jpg

    • Colter23

      B站动态/直播检测插件 v3船新版本 低延迟 美观 可配置性高
      插件发布 • bilibili jvm 动态转发 kotlin plugin • • Colter23

      192
      3
      Votes
      192
      Posts
      36161
      Views

      Colter23

      BilibiliDynamic MiraiPlugin

      一个可低延迟检测 B 站动态/直播并转发到 Q 群的 Mirai 插件

      Stars
      Downloads
      Release

      特性

      无论多少订阅均可在最低 10s 内检测所有动态
      使用 skiko 绘图
      动态过滤
      扫码登录
      可配置性高

      V3版本

      v3需 >= mirai 2.12.0
      v3完全重构, 使用 skiko 绘图, 更加美观。同时增加稳定性与可配置性
      v2版本

      建了个QQ群,有问题可即时反馈 734922374

      V3样式预览

      demo1.png
      demo2.png
      demo3.png

      安装 前置

      前置插件: mirai-skia-plugin
      插件命令依赖: chat-command

      手动下载jar包 (与下面二选一)

      插件本体: releases

      MCL 指令安装 (与上面二选一)

      中央仓库会延迟几个小时
      ./mcl --update-package top.colter:bilibili-dynamic-mirai-plugin --channel maven --type plugin

      指令

      常用指令帮助图
      可通过 /bili help 指令获取
      如果你对这张图有什么建议也可以反馈
      <img src="docs/img/help.png" width="500" alt="帮助">

      订阅相关 描述 /bili <h / help / menu / 帮助> 获取上面的帮助图片 /bili <login / 登录> 扫码登录 (需在配置文件中配置管理员) /bili <add / 添加 / 订阅> <uid> [群/Q号] 为目标 [群/Q号] 添加一个订阅 /bili <del / 删除> <uid / 用户名> [群/Q号] 为目标 [群/Q号] 删除一个订阅 /bili <delAll / 删除全部订阅> [群/Q号] 将目标 [群/Q号] 的全部订阅删除 订阅列表 描述 --------------------------------- ------------------------- /bili <list / 列表> [群/Q号] 查询目标 [群/Q号] 的订阅列表 /bili <listAll / la / 全部订阅列表> 查询全部订阅列表 (需在配置文件中配置管理员) /bili <listUser / lu / 用户列表> 查询用户列表 (需在配置文件中配置管理员) 配置 描述 ----------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- /bili <config / 配置> [uid / 用户名] [群/Q号] 交互式配置 (可配置主题色 模板 过滤器) /bili <color / 颜色> <uid / 用户名> <HEX颜色> 为目标 UID 设置图片推送主题色 /bili <templateList / tl / 模板列表> 查看推送模板推送效果 /bili <template / t / 模板> <模板类型> <模板名> [群/Q号] 设置模板 <br/>模板类型: d(动态模板) l(直播模板) /bili <atall / aa / at全体> [类型] [uid / 用户名] [群/Q号] 设置At全体 可加多个 类型: <br/> 全部 / all / a : 动态与直播 <br/> 全部动态 / dynamic / d : 全部动态 <br/> 直播 / live / l : 直播 <br/> 视频 / video / v : 视频 <br/> 音乐 / music / m : 音乐 <br/> 专栏 / article : 专栏 /bili <delAtall / daa / 取消at全体> [类型] [uid / 用户名] [群/Q号] 取消一个At全体项 /bili <listAtall / laa / at全体列表> [uid / 用户名] [群/Q号] 查看At全体项列表 搜索指令 描述 --------------------------------------- ------------------------ /bili <search / s / 搜索> <动态ID> 通过ID搜索一个动态 /bili <new / 最新动态> <uid / 用户名> [数量] 获取用户最新动态 (支持用户名本地模糊搜索)

      推荐使用 config 指令配置 模板 过滤器

      扫码登录请在配置文件中填写管理员账号
      <..> 尖括号为必填参数 [..] 中括号为可选参数
      [群/Q号] 不填的话默认对话所在地
      <HEX颜色> 必须带#号 支持多个值自定义渐变 中间用分号‘;’分隔 例: #fde8ed;#fde8ed
      单个值会自动生成渐变色
      uid / 用户名 使用名称可以本地模糊匹配(只有订阅过才能匹配)

      # 栗子 /bili add 487550002 #为当前群/好友添加 uid 为 487550002 的订阅 /bili add 487550002 111111 #为 111111 群/好友添加订阅 /bili color 487550002 #fde8ed #设置主题色 /bili t d ForwardMsg #为当前群/好友动态推送模板设置为ForwardMsg 动态过滤指令

      推荐使用 /bili config 交互式配置

      两种过滤器:

      类型过滤器: 通过动态类型进行过滤 可选类型 动态 转发动态 视频 音乐 专栏 直播 内容正则过滤器: 对动态进行正则匹配过滤
      可同时添加两种过滤器,但两种过滤器是独立先后执行的

      过滤器的两种模式:

      黑名单:当动态匹配过滤器时不推送动态 白名单:仅当动态匹配过滤器时推送动态

      过滤器模式黑名单模式

      指令 描述 /bili <filterType / ft / 类型过滤> <类型> [uid] [群/Q号] 为目标 [群/Q号] 添加 uid 的动态类型过滤器 /bili <filterReg / fr / 正则过滤> <正则表达式> [uid] [群/Q号] 为目标 [群/Q号] 添加 uid 的动态正则过滤器 /bili <filterMode / fm / 过滤模式> <过滤器类型> <过滤器模式> [uid] [群/Q号] 切换过滤器模式 <br/>过滤器类型: t(类型过滤器) r(正则过滤器) <br/>过滤器模式: w(白名单模式) b(黑名单模式) /bili <filterList / fl / 过滤列表> [uid] [群/Q号] 列出 uid 的过滤器列表 /bili <filterDel / fd / 过滤删除> <index> [uid] [群/Q号] 删除 uid 中 index 的过滤器 # 栗子 /bili ft 转发动态 487550002 # 为当前群/好友订阅的 487550002 设置类型为“转发动态”的过滤 # 当 487550002 用户动态类型为“转发动态”时触发过滤器(是否推送要看过滤器模式) /bili fr ^新年好 0 111111 # 为 111111 群/好友订阅的所有用户设置内容为“^新年好”的包含 # 当 111111 群/好友订阅的所有用户的动态内容开头包含“新年好”时触发过滤器(是否推送要看过滤器模式) /bili fl 487550002 # 查询当前群/好友订阅的 487550002 设置过的过滤列表 # 当前目标过滤器: # # 动态类型过滤器: # 模式: 黑名单 # t0: 转发动态 # t1: 视频 # 正则过滤器: # 模式: 黑名单 # r0: 转发抽奖 # # t0 t1 r0 等为删除的索引<index> /bili fd t1 487550002 # 删除上面t1的过滤 # 特例 # uid 为 0 时,代表群/好友订阅的所有用户 # 不填默认也为 0 权限

      插件命令依赖 chat-command 来正确处理聊天环境下的命令,请确保有此插件,否则插件可能无法正常工作

      权限名 ID 基础权限ID top.colter.bilibili-dynamic-mirai-plugin:* 动态指令ID top.colter.bilibili-dynamic-mirai-plugin:command.bili 跨通讯录控制 top.colter.bilibili-dynamic-mirai-plugin:crossContact

      跨通讯录控制可以让你修改查看别人的配置

      如果你不会给权限可以点击下面展开查看简略教程

      ...

      在控制台输入 /perm add <许可人 ID> top.colter.bilibili-dynamic-mirai-plugin:command.bili

      其中的 许可人 ID 如果你要让所有群所有人都可以用此插件就是 * 即 /perm add * top.colter.bilibili-dynamic-mirai-plugin:command.bili

      具体的用户: u123456789 全部用户: u*

      具体的群: g123456789 全部群: g*

      更多的配置见 被许可人 ID 字符串表示

      授予一个用户执行所有指令的权限

      At全体权限

      3.0.0-BETA4 后废弃
      废弃后仍可使用, 但不推荐, 推荐使用前面的指令进行配置

      权限名 ID 直播@全体 top.colter.bilibili-dynamic-mirai-plugin:live.atall 视频@全体 top.colter.bilibili-dynamic-mirai-plugin:video.atall 配置

      配置文件位于 mirai 根目录/config/top.colter.bilibili-dynamic-mirai-plugin/
      基础配置文件 BiliConfig.yml
      图片分辨率配置 ImageQuality.yml
      图片主题配置 ImageTheme.yml
      分辨率与主题配置已经内置了多套数据

      BiliConfig.yml 配置项 取值 说明 admin QQ号 / 群号 管理员 enableConfig EnableConfig 功能开关 accountConfig BiliAccountConfig 账号配置 checkConfig CheckConfig 检测配置 pushConfig PushConfig 推送配置 imageConfig ImageConfig 绘图配置 templateConfig TemplateConfig 模板配置 cacheConfig CacheConfig 缓存配置 proxyConfig ProxyConfig 代理配置 translateConfig TranslateConfig 翻译配置 EnableConfig 配置项 取值 说明 drawEnable true / false 绘图开关 notifyEnable true / false 操作通知开关 lowSpeedEnable true / false 低频检测开关 translateEnable true / false 翻译开关 proxyEnable true / false 代理开关 cacheClearEnable true / false 缓存清理开关 BiliAccountConfig 配置项 取值 说明 cookie SESSDATA=xxxx; bili_jct=xxxx; B站Cookie autoFollow true / false 自动关注 followGroup 最长16字符 关注时保存的分组 CheckConfig 配置项 取值 说明 interval 推荐 15-60 单位秒 动态检测间隔 liveInterval 单位秒 直播检测间隔 lowSpeed 例: 3-8x2 三点到八点检测间隔为正常间隔的2倍 低频检测时间段与倍率 checkReportInterval 单位分 为 0 时代表每次检测都汇报 检测报报间隔 (在debug里打印) 报告中最后的数代表在间隔内进行了几次检测 PushConfig 配置项 取值 说明 messageInterval 单位毫秒 QQ中同一个群中连续发送多个消息的间隔 pushInterval 单位毫秒 QQ中连续发送多个群之间的间隔 atAllPlus SINGLE_MESSAGE: 单独的消息 PLUS_END: 追加到最后一条消息后面 At全体拼接方式 ImageConfig 配置项 取值 说明 quality 800w / 1000w / 1200w / 1500w (图片宽度) 图片质量(分辨率) theme v3 (新版绘图主题) / v3RainbowOutline (彩虹边框) / v2 (旧版绘图主题) 绘图主题 (目前两套其实都差不多,鸡肋功能) font 字体名 / 字体文件名(不用加后缀) 绘图字体 目前仅支持单字体 字体放到插件数据路径下 font 文件夹中 -> 字体 defaultColor HEX颜色值 (#d3edfa;#fde8ed) 默认绘图主题色 支持多个值自定义渐变 中间用分号;号分隔 单个值会自动生成渐变色 cardOrnament FanCard (粉丝卡片) / QrCode (动态链接二维码) / None (无) 卡片装饰 colorGenerator ColorGenerator 渐变色生成器配置 (用于图片背景) 仅当主题色为单个值时会自动生成 badgeEnable true / false 卡片顶部的标签 ColorGenerator 配置项 取值 说明 hueStep 0 ~ 120 渐变色H(色相)步长 (默认三步) lockSB true / false 锁定 S(饱和度) B(亮度) saturation 0.0 ~ 1.0 锁定的饱和度 brightness 0.0 ~ 1.0 锁定的亮度 TemplateConfig 配置项 取值 说明 defaultDynamicPush 下方动态推送模板名 默认动态推送模板 defaultLivePush 下方直播推送模板名 默认直播推送模板 dynamicPush 动态模板配置项 动态推送模板 livePush 直播模板配置项 默认绘图主题色 forwardCard ForwardDisplay QQ转发卡片外观 footer FooterConfig 绘制图片页脚模板 ForwardDisplay 配置项 取值 说明 title 转发卡片配置项 转发卡片标题 preview 转发卡片配置项 中间的预览,最多4行行之间用 \n 隔开 summary 转发卡片配置项 转发卡片最下边的总结 brief 转发卡片配置项 从群外看显示的文字 FooterConfig 配置项 取值 说明 dynamicFooter 页脚配置项 动态页脚 liveFooter 页脚配置项 直播页脚 footerAlign LEFT / CENTER / RIGHT 对其方式 动态模板配置项

      {draw}: 绘制的动态图
      {name}: 名称
      {uid}: 用户ID
      {did}: 动态ID
      {type}: 动态类型
      {time}: 时间
      {content}: 动态内容
      {images}: 动态中的图
      {link}: 动态链接
      {links}: 视频专栏等有多个链接
      \n: 换行
      \r: 分割对话(会生成多个QQ消息)
      {>>} {<<}: 包装成转发消息

      栗子: {draw}{>>}作者:{name}\nUID:{uid}\n时间:{time}\n类型:{type}\n链接:{link}\r{content}\r{images}{<<}

      直播模板配置项

      {draw}: 绘制的直播图
      {name}: 名称
      {uid}: 用户ID
      {rid}: 房间号
      {time}: 直播开始时间
      {title}: 直播标题
      {area}: 直播分区
      {cover}: 直播封面
      {link}: 直播链接
      \n: 换行
      \r: 分割对话(会生成多个QQ消息)

      注: 直播模板不支持 ({>>}{<<}) 转发消息

      转发卡片配置项

      {name}: 名称
      {uid}: 用户ID
      {did}: 动态ID
      {type}: 动态类型
      {time}: 时间
      {content}: 动态内容
      {link}: 链接

      页脚配置项

      {name}: 名称
      {uid}: 用户ID
      {id}: 动态/直播ID
      {type}: 类型
      {time}: 时间

      CacheConfig 配置项 取值 说明 expires 单位天 为 0 时表示不清理此类图片<br/>DRAW: 由插件绘制的图片<br/>IMAGES: 动态图和封面等<br/>EMOJI: B站的Emoji<br/>USER: 用户头像,头像挂件,粉丝卡片套装等<br/>OTHER: 其他图片 图片过期时长, 当图片在指定时间内未被再次使用, 就会被删除 ProxyConfig 配置项 取值 说明 proxy 代理服务器 代理列表 TranslateConfig 配置项 取值 说明 cutLine 例如: \n\n〓〓〓 翻译 〓〓〓\n 正文与翻译的分割线 baidu APP_ID SECURITY_KEY 百度翻译密钥配置 https://api.fanyi.baidu.com BiliConfig.yml 配置文件模板 ... # 功能开关: # drawEnable: 绘图开关 # notifyEnable: 操作通知开关 # lowSpeedEnable: 低频检测开关 # translateEnable: 翻译开关 # proxyEnable: 代理开关 # cacheClearEnable: 缓存清理开关 enableConfig: drawEnable: true notifyEnable: true lowSpeedEnable: false translateEnable: false proxyEnable: false cacheClearEnable: true # 账号配置: # cookie: BiliBili的cookie, 可使用 /bili login 自动获取 # autoFollow: 添加订阅时是否允许 bot 自动关注未关注的用户 # followGroup: Bot 关注时保存的分组(最长16字符) accountConfig: cookie: SESSDATA=xxxx; bili_jct=xxxx; autoFollow: true followGroup: Bot关注 # 检测配置: # interval: 动态检测间隔(推荐 15-30) 单位秒 # liveInterval: 直播检测间隔(与动态检测独立) 单位秒 # lowSpeed: 低频检测时间段与倍率(例: 3-8x2 三点到八点检测间隔为正常间隔的2倍) 24小时制 # checkReportInterval: 检测报告间隔 单位分 checkConfig: interval: 15 liveInterval: 20 lowSpeed: '0-0x2' checkReportInterval: 10 # 推送配置: # messageInterval: QQ中同一个群中连续发送多个消息的间隔 单位毫秒 # pushInterval: QQ中连续发送多个群之间的间隔 单位毫秒 # atAllPlus: At全体拼接方式 SINGLE_MESSAGE: 单独的消息 PLUS_END: 追加到最后一条消息后面 pushConfig: messageInterval: 100 pushInterval: 500 atAllPlus: PLUS_END # 图片配置: # 当 ImageQuality.yml / ImageTheme.yml 中的 customOverload 开启后下面对应的配置将不再生效 # quality: 图片质量(分辨率), 内置 800w: 800px, 1000w: 1000px, 1200w: 1200px, 1500w: 1500px(图片宽度) # theme: 绘图主题, 内置 v3: 新版绘图主题, v2: 旧版绘图主题 # font: 绘图字体 字体名或字体文件名(不用加后缀) 目前仅支持单字体 字体放到插件数据路径下 `font` 文件夹中 # defaultColor: 默认绘图主题色 支持多个值自定义渐变 中间用分号`;`号分隔 单个值会自动生成渐变色 # cardOrnament: 卡片装饰 FanCard(粉丝卡片) QrCode(动态链接二维码) None(无) # colorGenerator: 渐变色生成器配置 # badgeEnable: 卡片顶部的标签 左边右边是否开启 imageConfig: quality: 1000w theme: v3 font: HarmonyOS_Sans_SC_Medium defaultColor: '#d3edfa' cardOrnament: FanCard colorGenerator: hueStep: 30 lockSB: true saturation: 0.3 brightness: 1.0 badgeEnable: left: true right: false # 模板配置: # defaultDynamicPush: 默认使用的推送模板, 填写下方动态模板名 # dynamicPush: 动态推送模板 # livePush: 直播推送模板 # forwardCard: 转发卡片模板 # footer: 图片页脚 templateConfig: defaultDynamicPush: OneMsg defaultLivePush: OneMsg dynamicPush: DrawOnly: '{draw}' TextOnly: "{name}@{type}\n{link}\n{content}\n{images}" OneMsg: "{draw}\n{name}@{type}\n{link}" TwoMsg: "{draw}\r{name}@{uid}@{type}\n{time}\n{link}" ForwardMsg: "{draw}{>>}作者:{name}\nUID:{uid}\n时间:{time}\n类型:{type}\n链接:{links}\r{content}\r{images}{<<}" livePush: DrawOnly: '{draw}' TextOnly: "{name}@直播\n{link}\n标题: {title}" OneMsg: "{draw}\n{name}@直播\n{link}" TwoMsg: "{draw}\r{name}@{uid}@直播\n{title}\n{time}\n{link}" forwardCard: title: '{name} {type} 详情' summary: 'ID: {did}' brief: '[{name} {type}]' preview: "时间: {time}\n{content}" footer: dynamicFooter: @Colter liveFooter: @Colter footerAlign: CENTER # 缓存配置: # expires: 图片过期时长 单位天 # 为 0 时表示不清理此类图片 # 当图片在指定时间内未被再次使用,就会被删除 # 可选类型: # DRAW: 由插件绘制的图片 # IMAGES: 动态图和封面等 # EMOJI: B站的Emoji # USER: 用户头像,头像挂件,粉丝卡片套装等 # OTHER: 其他图片 cacheConfig: expires: DRAW: 7 IMAGES: 7 EMOJI: 7 USER: 7 OTHER: 7 # 代理配置: # proxy: 代理列表 proxyConfig: proxy: [] # 翻译配置: # cutLine: 正文与翻译的分割线 # baidu: 百度翻译 API 密钥 https://api.fanyi.baidu.com translateConfig: cutLine: "\n\n〓〓〓 翻译 〓〓〓\n" baidu: APP_ID: '' SECURITY_KEY: '' ImageQuality.yml 配置项 取值 说明 customOverload true / false 是否启用自定义数据 启用后配置文件中的分辨率配置将失效 customQuality Quality 自定义数据 默认数据为1000px宽度下的数据 Quality 配置项 取值 说明 imageWidth 整数 绘制图片宽度 cardMargin 整数 内容卡片外边距 cardPadding 整数 内容卡片内边距 cardArc 小数 内容卡片圆角 ---------------- -------- ------------- nameFontSize 小数 名字字体大小 titleFontSize 小数 标题字体大小 (视频/专栏等标题) subTitleFontSize 小数 副标题字体大小 (名字下方的时间) descFontSize 小数 简介字体大小 (视频/专栏简介) contentFontSize 小数 动态内容字体大小 footerFontSize 小数 页脚字体大小 ---------------- -------- ------------- cardOutlineWidth 小数 卡片边框大小 drawOutlineWidth 小数 动态中的图片边框大小 ---------------- -------- ------------- faceSize 小数 用户头像大小 noPendantFaceInflate 小数 没有头像框时头像放大的尺寸 pendantSize 小数 头像框大小 verifyIconSize 小数 身份认证角标大小 ornamentHeight 小数 卡片装饰高度 (粉丝卡片/二维码) ---------------- -------- ------------- badgeHeight 整数 卡片顶部标签高度 badgePadding 整数 卡片顶部标签内边距 badgeArc 小数 卡片顶部标签圆角 ---------------- -------- ------------- lineSpace 整数 动态文字行间距 drawSpace 整数 动态图片间距 contentSpace 整数 动态内容间距 ---------------- -------- ------------- smallCardHeight 整数 小号卡片高度 (小号视频/直播卡片) additionalCardHeight 整数 附加卡片高度 (直播/视频预约) 内置分辨率数据参考 ... 800w: imageWidth: 800 cardMargin: 20 cardPadding: 20 cardArc: 10.0 nameFontSize: 30.0 titleFontSize: 26.0 subTitleFontSize: 22.0 descFontSize: 20.0 contentFontSize: 26.0 footerFontSize: 22.0 cardOutlineWidth: 2.0 drawOutlineWidth: 2.0 faceSize: 64.0 noPendantFaceInflate: 5.0 pendantSize: 112.0 verifyIconSize: 20.0 ornamentHeight: 90.0 badgeHeight: 36 badgePadding: 5 badgeArc: 5.0 lineSpace: 8 drawSpace: 10 contentSpace: 10 smallCardHeight: 160 additionalCardHeight: 90 1000w: imageWidth: 1000 cardMargin: 30 cardPadding: 30 cardArc: 15.0 nameFontSize: 36.0 titleFontSize: 32.0 subTitleFontSize: 28.0 descFontSize: 26.0 contentFontSize: 32.0 footerFontSize: 28.0 cardOutlineWidth: 3.0 drawOutlineWidth: 3.0 faceSize: 80.0 noPendantFaceInflate: 10.0 pendantSize: 140.0 verifyIconSize: 30.0 ornamentHeight: 115.0 badgeHeight: 45 badgePadding: 8 badgeArc: 8.0 lineSpace: 11 drawSpace: 15 contentSpace: 12 smallCardHeight: 200 additionalCardHeight: 130 1200w: imageWidth: 1200 cardMargin: 40 cardPadding: 40 cardArc: 20.0 nameFontSize: 42.0 titleFontSize: 38.0 subTitleFontSize: 34.0 descFontSize: 32.0 contentFontSize: 38.0 footerFontSize: 34.0 cardOutlineWidth: 4.0 drawOutlineWidth: 4.0 faceSize: 95.0 noPendantFaceInflate: 13.0 pendantSize: 170.0 verifyIconSize: 40.0 ornamentHeight: 140.0 badgeHeight: 55 badgePadding: 11 badgeArc: 11.0 lineSpace: 14 drawSpace: 20 contentSpace: 17 smallCardHeight: 240 additionalCardHeight: 160 1500w: imageWidth: 1500 cardMargin: 50 cardPadding: 50 cardArc: 30.0 nameFontSize: 51.0 titleFontSize: 46.0 subTitleFontSize: 43.0 descFontSize: 40.0 contentFontSize: 47.0 footerFontSize: 43.0 cardOutlineWidth: 6.0 drawOutlineWidth: 6.0 faceSize: 100.0 noPendantFaceInflate: 18.0 pendantSize: 190.0 verifyIconSize: 50.0 ornamentHeight: 150.0 badgeHeight: 72 badgePadding: 15 badgeArc: 16.0 lineSpace: 20 drawSpace: 25 contentSpace: 20 smallCardHeight: 300 additionalCardHeight: 205 ImageTheme.yml 配置项 取值 说明 customOverload true / false 是否启用自定义数据 启用后配置文件中的主题配置将失效 customTheme Theme 自定义数据 默认数据为v3主题数据 Theme 配置项 取值 说明 cardBgColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 内容卡片背景色 ---------------- -------- ------------- cardOutlineColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 内容卡片边框颜色 faceOutlineColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 头像边框颜色 drawOutlineColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 动态图片边框颜色 ---------------- -------- ------------- nameColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 名字字体颜色 titleColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 标题字体颜色 (视频/专栏等标题) subTitleColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 副标题字体颜色 (名字下方的时间) descColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 简介字体颜色 (视频/专栏简介) contentColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 动态内容字体颜色 linkColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 连接字体颜色 footerColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 页脚字体颜色 ---------------- -------- ------------- cardShadow Shadow 内容卡片阴影 smallCardShadow Shadow 小号卡片阴影 (视频/专栏等标题) ---------------- -------- ------------- mainLeftBadge BadgeColor 左主标签配色 (最外层的卡片为主标签) mainRightBadge BadgeColor 右主标签配色 subLeftBadge BadgeColor 左副标签配色 (内层的视频/专栏等卡片为副标签) subRightBadge BadgeColor 右副标签配色 Shadow 配置项 取值 说明 shadowColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 阴影颜色 offsetX 小数 阴影横向偏移 (右为正) offsetY 小数 阴影横向偏移 (下为正) blur 小数 阴影模糊 spread 小数 阴影扩展 BadgeColor 配置项 取值 说明 fontColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 字体颜色 bgColorHex HEX颜色值 (#FB7299 / #A0FFFFFF) 背景颜色 内置主题数据参考: ... v3: cardBgColorHex: '#A0FFFFFF' cardOutlineColorHex: '#FFFFFF' faceOutlineColorHex: '#A0FFFFFF' drawOutlineColorHex: '#FFFFFF' nameColorHex: '#FB7299' titleColorHex: '#313131' subTitleColorHex: '#9C9C9C' descColorHex: '#666666' contentColorHex: '#222222' linkColorHex: '#178BCF' footerColorHex: '#9C9C9C' cardShadow: shadowColorHex: '#46000000' offsetX: 6.0 offsetY: 6.0 blur: 25.0 spread: 0.0 smallCardShadow: shadowColorHex: '#1E000000' offsetX: 5.0 offsetY: 5.0 blur: 15.0 spread: 0.0 mainLeftBadge: fontColorHex: '#00CBFF' bgColorHex: '#78FFFFFF' mainRightBadge: fontColorHex: '#FFFFFF' bgColorHex: '#48C7F0' subLeftBadge: fontColorHex: '#FFFFFF' bgColorHex: '#FB7299' subRightBadge: fontColorHex: '#FFFFFF' bgColorHex: '#48C7F0' v3RainbowOutline: cardBgColorHex: '#A0FFFFFF' cardOutlineColorHex: '#ff0000;#ff00ff;#0000ff;#00ffff;#00ff00;#ffff00;#ff0000' faceOutlineColorHex: '#A0FFFFFF' drawOutlineColorHex: '#FFFFFF' nameColorHex: '#FB7299' titleColorHex: '#313131' subTitleColorHex: '#9C9C9C' descColorHex: '#666666' contentColorHex: '#222222' linkColorHex: '#178BCF' footerColorHex: '#9C9C9C' cardShadow: shadowColorHex: '#46000000' offsetX: 6.0 offsetY: 6.0 blur: 25.0 spread: 0.0 smallCardShadow: shadowColorHex: '#1E000000' offsetX: 5.0 offsetY: 5.0 blur: 15.0 spread: 0.0 mainLeftBadge: fontColorHex: '#00CBFF' bgColorHex: '#78FFFFFF' mainRightBadge: fontColorHex: '#FFFFFF' bgColorHex: '#48C7F0' subLeftBadge: fontColorHex: '#FFFFFF' bgColorHex: '#FB7299' subRightBadge: fontColorHex: '#FFFFFF' bgColorHex: '#48C7F0' v2: cardBgColorHex: '#C8FFFFFF' cardOutlineColorHex: '#FFFFFF' faceOutlineColorHex: '#A0FFFFFF' drawOutlineColorHex: '#FFFFFF' nameColorHex: '#FB7299' titleColorHex: '#313131' subTitleColorHex: '#9C9C9C' descColorHex: '#666666' contentColorHex: '#222222' linkColorHex: '#178BCF' footerColorHex: '#9C9C9C' cardShadow: shadowColorHex: '#00000000' offsetX: 0.0 offsetY: 0.0 blur: 0.0 spread: 0.0 smallCardShadow: shadowColorHex: '#0000000' offsetX: 0.0 offsetY: 0.0 blur: 0.0 spread: 0.0 mainLeftBadge: fontColorHex: '#00CBFF' bgColorHex: '#78FFFFFF' mainRightBadge: fontColorHex: '#FFFFFF' bgColorHex: '#48C7F0' subLeftBadge: fontColorHex: '#FFFFFF' bgColorHex: '#FB7299' subRightBadge: fontColorHex: '#FFFFFF' bgColorHex: '#48C7F0'

      因此,本插件需要一个 B 站账号来订阅用户。
      强烈推荐使用小号 如果让bot用你经常使用的账号可能会出现长期多次异地访问造成风控 无法添加关注
      (插件有扫码登陆和自动关注自动添加分组功能,详细见下文)

      关于自动关注

      如果账号没有关注过此人,bot 会自动关注并把他分到一个新分组中,方便管理
      是否开启自动关注以及新分组的名称都可以在配置文件中进行配置
      如果关闭自动关注,那么在 QQ 中订阅一个未关注的人时会提示 未关注

      关于分组(如果你不知道b站关注可以分组的话请忽略)

      开启自动关注后,bot 会生成一个新分组(分组名可以在配置中设置),由 bot 新关注的人会被分到这个分组内,之前就关注过的不会移动
      如果你想让 bot 关注就保存在默认分组中,请在配置中替换 followGroup 后面的值为两个引号 ""

      字体

      HarmonyOS Sans

      选择下载 52.2MB 的字体压缩包文件, 请使用压缩包内 HarmonyOS_Sans_SC 目录下的字体, 此目录下的字体为简体中文
      里面不同文件代表不同的粗细, 建议使用 Medium

      手动获取 Cookie

      推荐使用 /bili login 指令进行登录

      通过开发者工具获取

      建议开启浏览器无痕模式
      浏览器打开 BiliBili 并登陆
      注:登陆后不要点退出登陆

      按F12,打开开发者工具,找到Network / 网络并点击
      按F5刷新页面,按下图复制 Cookie
      <img src="docs/img/cookie.png" width="500">

      把复制的 cookie 粘贴到配置文件中对应的位置, 并使用双引号包裹

      通过 EditThisCookie 获取 在浏览器中安装 EditThisCookie 插件 在b站打开EditThisCookie面板, 点击刷新按钮, 再点击导出按钮 在插件数据路径 data/top.colter.bilibili-dynamic-mirai-plugin 下新建 cookies.json 文件 把第二步中复制的数据粘贴到文件中 图片缓存

      所有的图片都会缓存在 data/top.colter.bilibili-dynamic-mirai-plugin/cache 下

      更新日志

      releases

      相关链接

      Mirai
      ViViD按钮
      B站: 猫芒ベル_Official 这么可爱不关注一下吗(❁´◡`❁)
      B站: Colter_null 如果 GitHub 或论坛太长时间没回复可以去 B 站私信

      感谢

      cssxsh: bilibili-helper
      Twitter Emoji: Twemoji

    • 1
    • 2
    • 3
    • 4
    • 5
    • 9
    • 10
    • 1 / 10