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
    • Koreyoshi

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

      785
      2
      Votes
      785
      Posts
      29686
      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和提供后续更新意见!

    • Hoshino Tented

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

      621
      3
      Votes
      621
      Posts
      19183
      Views

      Hoshino Tented

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

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

      【持续时间】
      1970.1.1 ~ 114514.12.31

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

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

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

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

      【样例】

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

    • Nekoer

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

      533
      6
      Votes
      533
      Posts
      21819
      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

      仓库

      下载地址

      反馈群

      点击链接加入群聊【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

      500
      7
      Votes
      500
      Posts
      10467
      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

      457
      10
      Votes
      457
      Posts
      14539
      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

      357
      5
      Votes
      357
      Posts
      16514
      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 完善剧集订阅 自动清理图片缓存
    • cssxsh

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

      355
      5
      Votes
      355
      Posts
      19430
      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

      345
      6
      Votes
      345
      Posts
      17405
      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

      340
      4
      Votes
      340
      Posts
      18445
      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

      314
      2
      Votes
      314
      Posts
      12255
      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

      272
      13
      Votes
      272
      Posts
      15588
      Views

      Dituon

      Petpet - 生成各种奇怪的图片 已更新 5.3版本, 支持多线程, 可自定义 头像 文字 坐标 概率 关键词 频率限制 等参数
      项目地址 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 插件 / 独立程序, 灵感/部分数据来自 nonebot-plugin-petpet。

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

      在线编辑器

      使用方法

      下载 最新版本

      将插件放入 Mirai/plugins/

      下载 图片素材

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

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

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

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

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

      可使用 pet指令 获取 keyList

      以上配置 均可在配置文件中修改

      配置文件

      首次运行 Petpet 插件时,会生成 Mirai/config/xmmt.dituon.petpet/Petpet.yml 文件

      配置项说明

      <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/>

      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体积较小

      SQUAREUP_LIB:
      基于int[][]数组, 编码时不使用awt库, Gif压缩比低;

      编码速度极慢, 所需堆内存多, 生成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: 10

      Gif编码质量(1-99), 默认为10

      数字越小, 速度越慢, 质量越好 (大于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/>

      coolDown: 10

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

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

      groupCoolDown: -1

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

      inCoolDownMessage: 技能冷却中...

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

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

      </details>

      修改后重启 Mirai 以重新加载

      权限管理

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

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

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

      图片预览 项目地址 key 预览 acclaim喝彩 欢呼 acclaim bible圣经 典中典 bible breakdown惊吓 击穿 breakdown carte佩可莉姆 菜单 单页 carte hold_sign唐可可 举牌 应援 hold_sign kurumi胡桃 放大 kurumi monad唐可可 拍 单页 monad point_tv康纳 电视 point_tv remake泥头车 创 重开 remake reward伊蕾娜 赏金 报酬 reward watch_tv汤姆 电视 watch_tv certificate喜报 certificate anyasuki阿尼亚 喜欢 anyasuki bite啃 咬 bite breast胸 凶 breast cast丢 cast center_symmetry中心对称 左上对称 center_symmetry coupon陪睡 coupon cover_face挡 cover_face crawl爬 crawl decent_kiss抱歉 decent_kiss distracted注意力 distracted dont_touch不要靠近 dont_touch down_symmetry对称 下对称 上下对称 down_symmetry eat吃 eat fencing击剑 🤺 fencing garbage垃圾桶 垃圾 探头 garbage hammer锤 hammer interview采访 interview jiujiu么么 jiujiu keep_away远离 keep_away kiss亲 热吻 kiss knock敲 打 knock left_down_symmetry中心对称 左下对称 left_down_symmetry leg蹭 leg like永远喜欢 like loading加载 加载中 loading make_friend加好友 make_friend marry结婚 marry nano纳米科技 nano need需要 need osu osu painter画 painter pat拍 pat perfect完美 perfect petpet摸 摸头 petpet play玩 顶 play police警察 police pound捣 pound pr舔屏 pr punch打拳 punch record唱片 record right_down_symmetry中心对称 右下对称 right_down_symmetry right_symmetry对称 右对称 左右对称 right_symmetry right_up_symmetry中心对称 右上对称 right_up_symmetry roll滚 推 roll rub舔 prpr rub safe_sense安全感 safe_sense suck吸 suck support精神支柱 support symmetry对称 左对称 左右对称 symmetry tear撕 tear thinkwhat想 thinkwhat throw扔 throw thump锤 thump tightly黏 tightly twist抱 twist up_symmetry对称 上对称 上下对称 up_symmetry wallpaper瑞克 壁纸 wallpaper worship膜拜 worship yoasobi群青 yoasobi 自定义

      在线编辑器

      data.json

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

      data.json 标准如下 (以 thump/data.json 为例)

      // *为必须参数 { "type": "GIF", // 图片类型(enum)* "avatar": [{ // 头像(avatarObj[])*, 详见下文 "type": "TO", "pos": [ [65, 128, 77, 72], [67, 128, 73, 72], [54, 139, 94, 61], [57, 135, 86, 65] ], "round": true, "avatarOnTop": false }], "text": [], // 文字(textObj[])*, 详见下文 "inRandomList": false, // 在随机列表中(bolean) "reverse": false, // GIF倒放(bolean) "delay": 50, // 帧间延时(ms/int), 默认为65 "background": {}, // 背景(obj), 详见下文 "alias": [ "别名1", "别名2" ], // 别名(str[]) "hidden": false // 隐藏(bolean) }

      部分配置项设计参考了CSS标准, 并尽可能实现CSS渲染效果

      图片类型枚举

      type

      GIF 动图 IMG 静态图片 坐标

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

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

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

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

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

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

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

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

      仿射变换/图像变形

      坐标格式枚举posType

      ZOOM 缩放(见上文) DEFORM 变形

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

      目前仿射变换仅支持单帧

      头像

      3.0版本后 提供了更灵活的头像构造方法, 与之前的版本有很大差别

      "avatar": [ { "type": "FROM", //头像类型枚举(enum), 非空 "pos": [[92, 64, 40, 40], [135, 40, 40, 40], [84, 105, 40, 40]], // 坐标 "round": true, // 值为true时, 头像裁切为圆形, 默认为false "avatarOnTop": true, // 值为true时, 头像图层在背景之上, 默认为true "angle": 90, // 初始角度 "opacity": 0.5 // 不透明度 }, { "type": "TO", "pos": [[5, 8], [60, 90], [50, 90], [50, 0], [60, 120]], "posType": "DEFORM", // 图像变形 坐标格式, 默认为ZOOM "antialias": true, // 抗锯齿, 对头像单独使用抗锯齿算法, 默认为false "rotate": false // 值为true时, GIF类型的头像会旋转, 默认为false }, { "type": "GROUP", "pos": [[182, 64, "width/2", "height*1.5^2"], [225, 40, "40", 40], [174, 105, 40, "height+width"]], // 支持变量运算 "crop": [0, 0, 50, 100], // 图片裁切坐标[x1, y1, x2, y2], 可简写为 [50, 100] "cropType": "PERCENT", // 裁切格式, 默认为NONE "style": [ // 风格化 "MIRROR", "GRAY" ], "fit": "CONTAIN" // 填充模式, 默认为 FILL } ]

      在IMG中, 当rotate = true时, 头像会随机旋转角度, angle为最大值(angle = 0时, 随机范围为0-359)

      头像类型枚举 type

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

      裁切格式枚举 cropType

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

      风格化枚举 style

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

      填充模式 fit

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

      坐标变量

      width 原图宽度 height 原图高度 文字

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

      "text": [ // 这是一个数组, 可以添加很多文字 { "text": "Petpet!", // 文字内容 "color": "#66ccff", // 颜色, 默认为#191919 "pos": [100, 100], // 坐标, 默认为 [2,14] "size": 24 // 字号, 默认为12 }, { "text": "发送者: $from, 接收者: $to", // 支持变量 "color": [0,0,0,255], // 颜色可以使用RGB或RGBA的格式 "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": "BLOD", // 字体样式, 默认为PLAIN "greedy": true // 贪婪匹配模式, 会匹配多余的关键词 } ]

      变量

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

      需要更多变量请提交 Issue

      font

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

      align

      LEFT: 左对齐 RIGHT: 右对齐 CENTER: 居中对齐

      wrap

      NONE: 不换行 BREAK: 自动换行 ZOOM: 自动缩放

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

      style

      PLAIN: 默认 BLOD: 粗体 ITALIC: 斜体

      position

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

      4.0版本后, 支持动态创建画布

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

      坐标变量

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

      除了作为Mirai插件, Petpet 也可以作为http服务器单独运行, 可被其它项目/语言使用

      java -jar petpet.jar

      启动时会生成 config.json:

      { "port": 2333, // 监听端口 "webServerThreadPoolSize": 10, // HTTP服务器线程池容量 "dataPath": "data/xmmt.dituon.petpet", // PetData路径 "gifMaxSize": [200, 200, 32], // GIF缩放阈值, 详见上文 "gifEncoder": "ANIMATED_LIB", // GIF编码器, 详见上文 "gifQuality": 100, // GIF质量, 详见上文 "gifMakerThreadPoolSize": 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": [ "test" ] }

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

      更多示例请参考example-script

      常见问题

      戳一戳无法触发?

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

      没有生成配置文件?

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

      Exception in coroutine <unnamed>?

      图片素材应位于 Mirai/data/xmmt.dituon.petpet 目录下, 请检查路径

      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 并在此帖下回复

      欢迎提交任何请求

      交流群: 828350277

    • Kloping

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

      237
      2
      Votes
      237
      Posts
      13645
      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

    • Teeth

      [Plum] 梅花娘 (报早晚安+智能点歌+一言+随机动漫壁纸+@聊天AI)
      插件发布 • • Teeth

      231
      6
      Votes
      231
      Posts
      19288
      Views

      Teeth

      介绍
      Plum是一款基于Mirai-Console,使用Java语言编写的插件。
      该插件早在酷Q时代本人便已经在自己的群里使用,辗转过几个QQ机器人框架,最后还是打算用Mirai重新编写了这个项目。

      功能

      每天5点:每日句子 + 倒计时(可自定义倒计时事件) 每天21点:每日诗词 戳一戳:随机一言 @ + 问题:AI聊天(默认实现是青云客API,可自行修改) 点歌:本插件支持3种主流音乐平台 网易云音乐,酷狗音乐,QQ音乐。默认按照 网易云音乐 -> 酷狗音乐 -> QQ音乐 顺序查找。通过“点歌”指令以卡片形式点歌,通过“唱歌”指令以语音条形式唱歌。

      QQ截图20210528112240.jpg

      QQ截图20210529201947.jpg

      QQ图片20210525052814.png

      QQ图片20210525215707.png

      QQ截图20210525212620.jpg

      QQ截图20210525212608.jpg

      QQ截图20210525212638.jpg

      QQ截图20210525212650.jpg

      QQ截图20210525053033.jpg

      开源地址
      Plum插件是开源的,见:
      https://gitee.com/K85/plum

      插件基于Mirai-Console 2.6.4 + JDK1.8,插件内已经自行实现了 命令系统,权限系统,配置文件系统,计时系统等比较常用的系统,你可以比较方便地在此基础上进行修改。

      注意事项 [可忽略 -> QQMusic API可选服务] 如果你需要QQ音乐平台的点歌功能,则要在本地服务器启用 QQMusicAPI Node服务。该服务可在
      https://github.com/jsososo/QQMusicApi 下载。
      您也可以直接忽略该服务,则只使用 2个音乐平台。 目前已经发现,使用 图形化界面的Mirai 将可能导致 唱歌功能无法正常使用。推荐使用 Mirai的控制台版本前端,控制台前端是最纯净最稳定的。 下载地址
      [Plum版本]: https://pan.baidu.com/s/1rOrHGDJtorWP3yeAuWDzpA
      (提取码: 7777)
    • cssxsh

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

      226
      3
      Votes
      226
      Posts
      8952
      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
    • cssxsh

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

      225
      4
      Votes
      225
      Posts
      9464
      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 配置项

      指令

      /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 更好的翻译 更多配置项
    • Colter23

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

      224
      8
      Votes
      224
      Posts
      39512
      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

    • cssxsh

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

      213
      4
      Votes
      213
      Posts
      7625
      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
    • tsudzuki

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

      210
      0
      Votes
      210
      Posts
      11924
      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

      187
      2
      Votes
      187
      Posts
      9597
      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

    • Anstiya

      语音生成功能+自定义回复
      其他项目发布 • • Anstiya

      187
      2
      Votes
      187
      Posts
      5592
      Views

      Anstiya

      与项目wReply合并。

      更新批量添加回复
      支持设置语音回复与导入语音模型
      基于Yirimirai,修改自CjangCjengh的MoeGoe
      下载链接1(github)
      使用方法
      需要mirai-api-http
      记得修改bot.py并与mirai-api-http中的port、key、qq保持一致
      准备完成后运行bot.py即可

      导入模型(可选)

      在voiceModel文件夹下新建文件夹,把.pth(模型文件)和config.json(配置文件)放进去,重启就可以看到了

      下载模型

      碧蓝档案主题模型

      CjangCjengh的模型仓库

      已修改配置文件的模型仓库,下载后放在项目对应文件夹下即可。

      **使用上面第三个仓库时可忽略此步** 模型名称修改(重要): 多语种模型:后缀名前面加一个m,如yuuka.pth支持中日双语,则改成yuukam.pth 单语种模型:不用改名 配置文件修改: 模型来自saya佬:打开config.json修改speakers,把一大串speakers修改为一个(名称随意) | 中文名的speaker需要转unicode | https://www.xgjzx.cn/chinese 模型来自CjangCjengh:直接用原装配置文件即可 切换模型

      发送 sp查看全部可用角色(数量取决于你装了多少语音模型)
      发送 [角色名]说XXXXX 即可
      b6d0ee9e-a061-4a8f-9c28-baaffccb558b-image.png
      你也可以选择一个默认的语音模型,发送 voice 可以查看功能列表,里面有写

      杰洛特语音模型使用方式,从release单独下载Geralt.rar,命令触发前缀是en,
      例如 en我的徽章在震动,这附近一定有年轻女术士。
      其余同上

      芝士群里的效果
      80e5b48a-84ec-406d-9695-cd9d393058f9-4BE91D6F3860BD4DF0E145E0D5F75111.jpg

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