3月26日 15:00
我们已切换服务器IPV4地址,但解析需要一段时间才能生效
10月3日18:40
我们已切换服务器IPV4地址,这可能需要一个小时或者是更久时间才能生效
10月3日18:00
我们的服务器IPV4地址又被墙了,稍后尝试修复
8月19日 20:30
我们已切换服务器IPV4地址,可能需要一段时间才能同步到解析上
论坛服务器被墙了,如果你能直接打开说明你的网络完美支持ipv6。
晚些我们会尝试修复
请阅读: 论坛规则 常见问题QA 无法登录的临时处理方案
源代码和文档: mamoe/mirai, docs.mirai.mamoe.net
闲聊TG群: @mirai_mamoe, Gitter群 mamoe/mirai
“不好!这里要撑不下去了”
“A4 求救,A4 求救,A32 地区的沙雕数量超过阈值,即将突破防线!”
“什么!?啧。。”
“B8 已完成沙雕清除任务,现赶往 A32 地区”
“这样。。什么时候是个头啊。。”
如果想订阅本贴更新可以点击右上角铃铛🔔按钮
【持续时间】
1970.1.1 ~ 114514.12.31
【活动内容】
糟糕!沙雕小别墅遭到了从未知之处涌出的沙雕攻击,防御工事濒临崩溃,如果能用其他的方法击退它们的话。。
对了!沙雕图!
【参与方式】
在本贴中回复沙雕图,协助沙雕防御工事击退沙雕。
【活动奖励】
从其他 miraier 获取的沙雕图!是不是非常丰厚呢?
【注意事项】
遵守摸鱼区规则。
是沙雕图不是涩图!
【样例】
3c2dfb62-5555-4c00-a17b-d76715bf2088-image.png
声明 OneBot Mirai 是完全免费且开放源代码的Mirai插件,旨在学习,请勿用于非法用途 开始使用 请首先运行mirai-console相关客户端生成plugins文件夹 将onebot-mirai生成的jar包文件放入plugins文件夹中 运行mirai-console, 将在config/cn.evole.mirai.onebot文件夹中自动生成样本配置文件settings.yml 编辑config/cn.evole.mirai.onebot/setting.yml配置文件, 按照以下配置给出的注释修改保存 再次启动mirai-console相关客户端 配置相关 bots: # 要进行配置的QQ号 123456: # 图片、音频缓存 cacheImage: true cacheRecord: true heartbeat: enable: false interval: 1500 http: enable: false host: 0.0.0.0 port: 6700 accessToken: '' postUrl: '' postMessageFormat: string secret: '' timeout: 0 ws_reverse: # 可选,是否启用反向Websocket服务器,默认启用 - enable: true postMessageFormat: string reverseHost: 127.0.0.1 reversePort: 8090 accessToken: '' reversePath: 'onebot/v11/ws' reverseApiPath: 'onebot/v11/ws/api' reverseEventPath: 'onebt/v11/ws/event' useUniversal: true useTLS: false reconnectInterval: 3000 - enable: true postMessageFormat: string reverseHost: 127.0.0.1 reversePort: 8091 accessToken: '' reversePath: 'onebot/v11/ws' reverseApiPath: 'onebot/v11/ws/api' reverseEventPath: 'onebt/v11/ws/event' useUniversal: true useTLS: false reconnectInterval: 3000 ws: # 可选,是否启用正向Websocket服务器,默认启用 enable: true # 可选,上报消息格式,string 为字符串格式,array 为数组格式, 默认为string postMessageFormat: string wsHost: 0.0.0.0 # 监听端口 wsPort: 8080 # 可选,访问口令, 默认为空, 即不设置Token accessToken: '': # 此机器人是否启用 enable: true 兼容性 OneBot Mirai 兼容 OneBot-v11 大部分内容。 接口 正向 WebSocket 反向 WebSocket HTTP API 反向 HTTP POST 实现欢迎回到Mirai
✨ 基于 OneBot标准的 mirai 插件版✨
已实现 CQ 码
...符合 OneBot 标准的 CQ 码
| CQ 码 | 功能 |
|--------------|--------------|
| [CQ:face] | QQ 表情 |
| [CQ:record] | 语音 |
| [CQ:video] | 短视频 |
| [CQ:at] | @某人 |
| [CQ:share] | 链接分享 |
| [CQ:music] | 音乐分享 音乐自定义分享 |
| [CQ:reply] | 回复 |
| [CQ:forward] | 合并转发 |
| [CQ:node] | 合并转发节点 |
| [CQ:xml] | XML 消息 |
| [CQ:json] | JSON 消息 |
已实现 API
...符合 OneBot 标准的 API
| API | 功能 |
|--------------------------|------------|
| /send_private_msg | 发送私聊消息 |
| /send_group_msg | 发送群消息 |
| /send_msg | 发送消息 |
| /get_msg | 获取消息 |
| /delete_msg | 撤回信息 |
| /set_group_kick | 群组踢人 |
| /set_group_ban | 群组单人禁言 |
| /set_group_whole_ban | 群组全员禁言 |
| /set_group_admin | 群组设置管理员 |
| /set_group_card | 设置群名片(群备注) |
| /set_group_name | 设置群名 |
| /get_image | 获取图片信息 |
| /get_record | 获取语音 |
| /set_group_leave | 退出群组 |
| /set_group_special_title | 设置群组专属头衔 |
| /set_friend_add_request | 处理加好友请求 |
| /set_group_add_request | 处理加群请求/邀请 |
| /set_essence_msg | 设置群精华消息 |
| /get_login_info | 获取登录号信息 |
| /get_stranger_info | 获取陌生人信息 |
| /get_friend_list | 获取好友列表 |
| /get_group_info | 获取群信息 |
| /get_group_list | 获取群列表 |
| /get_group_member_info | 获取群成员信息 |
| /get_group_member_list | 获取群成员列表 |
| /get_group_honor_info | 获取群荣誉信息 |
| /get_version_info | 获取版本信息 |
| /get_status | 获取状态 |
已实现 Event
...符合 OneBot 标准的 Event(部分 Event 比 OneBot 标准多上报几个字段,不影响使用)
| 事件类型 | Event |
|------|-----------|
| 消息事件 | 私聊信息 |
| 消息事件 | 群消息 |
| 通知事件 | 群管理员变动 |
| 通知事件 | 群成员减少 |
| 通知事件 | 群成员增加 |
| 通知事件 | 群禁言 |
| 通知事件 | 好友添加 |
| 通知事件 | 群消息撤回 |
| 通知事件 | 好友消息撤回 |
| 通知事件 | 群内戳一戳 |
| 通知事件 | 好友戳一戳 |
| 通知事件 | 群成员荣誉变更 |
| 通知事件 | 群成员名片变更 |
| 通知事件 | 群成员特殊头衔变更 |
| 通知事件 | 其他客户端在线状态 |
| 请求事件 | 加好友请求 |
| 请求事件 | 加群请求邀请 |
兼容 OneBot-v11 标准的一些项目🥰
项目地址 核心作者 备注 MrXiaoM/Overflow MrXiaoM 实现 mirai 的无缝迁移 LagrangeDev/Lagrange.Core NepPure C#实现 By Konata.Core whitechi73/OpenShamrock whitechi73 Xposed框架hook实现 Hoshinonyaruko/Gensokyo Hoshinonyaruko 基于官方api 轻量 原生跨平台 统计觉得不错给个star吧~ (~ ̄▽ ̄)~
Stargazers over time
目前已有的功能
简易版复读机 自定义入群欢迎 自定义定时提醒 自定义定时涩图 合成画师作品预览图 Pixiv 动图转Gif Pixiv 涩图搜索/涩图推送 Lolicon涩图搜索 Lolisuki 涩图搜索 Pixiv日榜搜索/推送 Pixiv画师/Pixiv标签/米游社订阅 每日/周/月/年词云推送 Saucenao+Ascii2d搜图 谁是卧底小游戏其他
提问前,请先仔细阅读上面的文档
提问时,请提供相关的:错误日志,聊天记录,配置文件等
一些效果图
2b2faffa-8d7c-4ed9-830d-b232ff2f28d2-2023-02-12-21-11-26-502.jpg
dd95796e-8378-47ce-9271-9e3f7a0738b0-2023-02-12-17-42-11-770.jpg
b23863f3-fa99-450d-93a6-d9c6ff84e286-998d5f487347.png
d174b027-7011-4658-acca-6554cc4f3cff-image.png
1e495059-3a64-40f9-bb21-eb294f33f7e2-image.png
cf1f3995-c460-4a5f-b995-4628ef3f8160-964e6d5d44690d21ab216019b8b216f6_2023-08-01-00-37-22-492.jpg
Petpet - 生成各种奇怪的图片 已更新 6.1 版本, 支持多线程, 可自定义 头像 文字 坐标 概率 关键词 频率限制 等参数项目地址 releases 前端版本 / 功能预览
如果你觉得此插件对你有帮助, 请在此帖下回复不错的插件 让更多人看到, 这对我非常重要!
PetpetMirai 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, 多线程优化: 轻量, 高性能, 易拓展
使用方法 单独运行下载 最新版本 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 @xxxpet key @xxx 或 key @xxx 可返回指定图片 例如 pet kiss @xxx kiss @xxx
可通过发送的图片生成Petpet kiss [图片], 支持GIF
可通过回复构造图片, 例如 [图片] -> [回复[图片]] 对称
gocq-http插件可使用 pet指令 获取 keyList
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/>
probability: 30触发petpet指令, 默认为pet
例: pet @xxx pet kiss @xxx
仅发送pet时会返回keyList
<br/>
antialias: true戳一戳 触发概率, 0-100整数, 默认为 30%
<br/>
resampling: true画布抗锯齿, 默认为true
<br/>
disabled: []重采样缩放, 启用后头像质量更高, 可对模板单独配置
<br/>
keyCommandHead: ''禁用表列, 默认为空, 在此数组中的key不会被随机触发 (会覆盖data.json中的配置)
<br/>
respondReply: truekey作为指令头时的前缀, 默认为空
例 (配置项为'#'时): #kiss @xxx osu hso!
<br/>
cachePoolSize: 10000响应回复的消息, 默认为true
可通过回复消息 定位到之前发送的图片并构造petpet
启用后 会缓存接收到的图片(见cachePoolSize)
例 : [回复[图片]]kiss(等价于 kiss [图片])
<br/>
respondSelfNudge: falserespondReply=true时, 图片消息缓存池大小, 默认为10000
本质为HashMap<imageId(long), imageUrl(String)>, 超过此限制会清空Map
<br/>
keyListFormat: FORWARD某些情况下, 机器人会主动戳其他成员, 响应机器人自己发出的戳一戳, 默认为false
<br/>
disablePolicy: FULL发送pet时 keyList响应格式, 默认为FORWARD
枚举: MESSAGE(发送普通消息) FORWARD(发送转发消息) IMAGE(发送图片)
<br/>
fuzzy: false发送pet on/off时 禁用哪些功能, 默认为FULL
枚举: NONE(无效) NUDGE(只禁用戳一戳) MESSAGE(只禁用指令) FULL(同时禁用戳一戳和指令)
strictCommand: true模糊匹配用户名, 默认为false
例 : (配置项为true时): kiss @田所浩二(响应) kiss 浩二(响应)
<br/>
synchronized: false严格匹配指令, 默认为true
人话: 可以省略key后的空格
例 : (配置项为false时): kiss 田所(响应) kiss田所(响应)
<br/>
gifEncoder: ANIMATED_LIB消息事件同步锁, 会锁住相同的消息事件, 默认为false
人话: 多机器人对于同一条指令只有一个会响应
<br/>
GIF编码器, 默认为ANIMATED_LIB
枚举:
编码速度较慢, 所需堆内存小, 生成Gif体积小
BUFFERED_STREAM:
基于缓存的STREAM流, 在编码过程中对Gif进行压缩;ANIMATED_LIB:
编码速度极快, 所需堆内存较多, 生成Gif体积较小
基于byte[]序列, 使用多线程分析像素;
<br/>
gifMaxSize: []gifQuality: 5GIF缩放阈值/尺寸, 默认为空 (不限制)
[width, height, frameLength]:
当Gif长度超过frameLength时, 会对Gif进行等比例缩放
注: 缩放在图片合成时进行, 不会影响性能
例: (配置项为[200, 200, 32]时)
当Gif长度超过32帧时, 检查Gif尺寸 当Gif尺寸大于200*200时, 对Gif进行等比例缩放 Gif缩放后 最长边不会超过设定值
(当Gif中包含40帧, 尺寸为300*500时) 输出的Gif长度不变, 尺寸为120*200
headless: trueGif编码质量(1-49), 默认为5
数字越小, 速度越慢, 质量越好 (大于20时, 速度不会有明显提升)
仅适用于ANIMATED_LIB编码器
autoUpdate: true启用headless模式, 默认为true
人话: 有些服务器没有输入输出设备, 画图库无法正常运行, 启用这个配置项可以修复, 因为总是有人不看常见问题, 干脆默认启用了(
<br/>
repositoryUrl: 'https://dituon.github.io/petpet'自动更新PetData, 每次启动时都会检查并自动下载船新pet, 默认为true
注: 仅更新PetData, 不会更新插件版本, 请放心食用
人话: 每次启动都会自动下载新的超赞梗图, 墙裂推荐
<br/>
devMode: false仓库地址, 用于自动更新, 默认为此仓库的github page
messageHook: false开发模式, 启用后任何人都能使用pet reload指令热重载PetData, 默认为false
<br/>
coolDown: 1000消息注入, 参考MessageHook, 默认为false
<br/>
groupCoolDown: -1成功触发指令后对该用户的冷却时间(单位为毫秒), 默认为 1000
设置为 -1 可禁用冷却
<br/>
inCoolDownMessage: 技能冷却中...成功触发指令后对该群聊的冷却时间, 默认为 -1
<br/>
在冷却时间中触发命令的回复消息
配置项为[nudge]时, 会以戳一戳形式回复
<br/>
</details>
修改后重启 Mirai 以重新加载
权限管理群主或管理员使用 pet on pet off 以 启用/禁用 戳一戳
pet on/off指令控制的事件可在配置文件中更改
图片预览 自定义 data.json可在配置文件中禁用指定key, 被禁用的key不会随机触发, 但仍可以通过指令使用
./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 变形, 通过四点坐标来表示图像 ZOOMZOOM 缩放坐标的基本组成单位是 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 原图高度 DEFORMDEFORM 仿射变换坐标格式为 [[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")
WebServer被"hidden": true隐藏的模板会正常调用
此功能默认禁用, 需在配置文件中启用messageHook: true
程序可作为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>
使用 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
语言 示例 javascript post.js get.js python example.py php example.php WebUI可参考example-script中的代码实现请求
启动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
欢迎提交任何请求
交流群: 828350277
项目地址:点击跳转
下载
项目已经完成打包,告别繁琐的环境
这是一个可以高度自定义的好感度插件
本项目原生指令
1.我的好感\我的好感度
2.好感排行
自定义指令
1.理论上只要你能填进csv表格,都可以成为本项目的指令
2.除此之外,bot_name配置项也是指令。它使用好感、时间、随机的条件发送CG,以此丰富好感度系统。
项目特色
1.可设置好感变化区间与回复触发要求,当回复为空,则会被随机但不回复 当好感变化区间为空,则默认0 当触发要求为空,默认满足要求。尽可能降低编辑压力。
2.好感度理论上是长整型的。幸运的是,本项目完全支持以文本作为好感度(包括但不限于参加排行、好感度计算),但文本必须在数值好感度之后。
3.QQ号理论上是数字。幸运的是,本项目完全支持以文本作为QQ号(特别地,可正常参加排行),谁会拒绝安插一些超cool的假人呢?
这是一个实例
捕获.PNG
期望
star!
更重要的是,pullrequest !!!
https://docs.mirai.mamoe.net/mirai-api-http/api/MessageType.html 里边列出了几种消息类型,我对 FriendMessage 和 GroupMessage 倒是大概能理解,就是 机器人收到好友消息 还有 机器人在群聊接收到消息。
但是我对 StrangerMessage 和 TempMessage 的来源有点疑惑,StrangerMessage 的结构和 FriendMessage 很像,TempMessage 的结构则与 GroupMessage 比较相似,但是他们的来源是什么?
我猜测TempMessage是来自直接通过群聊私聊某个人,之后我应该会试一下,不过如果有人知道答案就更好了
https://github.com/open-ani/ani
集找番、追番、看番的一站式弹幕追番平台。
为了自己日常看番写的, Ani 的目标是提供舒适的弹幕追番体验。
支持云同步观看记录 (Bangumi), 多视频数据源, 弹幕播放 (自建弹幕服务器以及网络弹幕源), 离线缓存, 以及更多功能。
无广告, 不收费。想扩充用户量以增加弹幕数量。
Made by @him188 (目前) with love
下载Ani 支持 Android 和桌面端 (macOS、Linux、Windows)。
3.0 功能正逐渐完善, 每隔几天会发布一个 beta 测试版本。
欢迎加入 QQ 群 927170241(PC 一键加入)或 Telegram 群 点击加入
请关注 releases
以下载最新版本, 如果来 PR 就更好了
apk
功能截图论坛放图片太大了, 我就截图截图吧, 原图可以在 GitHub 看:
https://github.com/open-ani/ani
9bd64dca-9f6c-4a7c-91c8-8ae175f998ce-image.png
2d626093-7fc3-49ac-89b2-5193e32870fd-image.png
45ede0f6-b8d4-4285-8ea0-e177eb49ff4e-image.png
f0a87fde-10c6-4eaa-8193-7f07852f38d9-image.png
09d5bc23-5bc1-43b5-b9ee-57253540f1f9-image.png
a6e30bd9-c668-40b8-b32e-7eb54bc3e089-image.png
0d9cfcfc-7a16-4a05-8421-03bb9bad6be8-image.png
6dc5383f-13ae-487f-b500-2312bb2daacc-image.png
完全免费无广告且开放源代码
使用靠谱的 Bangumi 记录追番数据, 不怕网站跑路丢失数据 视频播放使用 P2P 资源, 无服务器维护成本, ~即使我跑路了 Ani 也能用~ 开放源代码, 公开自动构建, 无资料泄露风险 可 PR 添加自己喜欢的功能 (只要不用于商用)将任何想到的小功能添加至群聊,小功能来自 您 的反馈及建议
GITHUB项目地址 GITEE项目地址一.介绍 1. 此项目为靖暄个人制作用于添加任何想到的小功能Mirai Console 插件,同样兼容Mirai core 2. 灵感来源于 序号 功能 来源 1 今日人品 龙腾猫越的PCL启动器中包含的 今日人品 功能 2 舔狗日记 ALAPI中的舔狗日记API 3 点歌 各位大佬制作的点歌插件想着自己也做一个 4 new对象 呜呜呜, 情人节没人一起过new一个对象陪我过 5 hyp相关信息 每次想看数据都得上服务器,麻烦死了 6 退群提醒(Alpha) 来自MiraiForum中@MC__luoluo提出 7 签到(Alpha - 2) 来自MiraiForum中@De6ris提出自定义消息格式, 此功能用于测试 8 权限系统 P-W使用者强烈建议 3.代码参考于
MiraiForum
官方社区的插件开源代码
从Releases下载插件放置于./plugins
1.指令无需下载chat-command皆可在聊天内使用指令
仅群内可用
指令前缀: 默认 / 可在配置文件自行定义
8
退群提醒
格式: $memberNick + $quit + , QQ号: + $memberID + , $quitExpress 例子: 終末牽挂 退出了群聊, QQ号: 123456 请前往配置文件填写 quit 和 quitExpress 字段 9 /签到 每天一次 存储签到次数 (详细查看数据库) 2.数据库采用.json文件格式存储数据,文件位于./PracticalWidgets
其中会包含主要数据data.json, 排行榜数据jrrpTop, new对象数据object.json
首次启动会自动创建,如果损坏可删除文件后重新启动 请勿手动更改数据库,否则将会导致 舔狗日记数据乱码
3.配置文件 采用.properties文件格式储存数据,文件位于./PracticalWidgets/config.properties 为未来做准备 配置文件有自动更新功能,您只需要在更新新版本后检查更新日志是否有新的配置信息,如果有可进行填写(无需重启即可生效) 4.权限系统 采用.json文件格式存储数据,文件位于./PracticalWidgets/perm 管理员数据admin.json 黑名单数据blackList.json 群权限EnableGroup.json决定群是否启用某功能 用户权限GroupMemberPerm.json决定用户在某群是否拥有某功能权限 首次启动会创建, 如某一段数据损坏可删除这一段后重启, 会进行自行修复 支持实时修改, 手动更改后无需重启 a.指令 /perm [groupID] [memberID] <type> <true | false> 控制群或成员权限 /bl <add | rm> <groupID | memberID> 添加或删除黑名单PS: groupID 为填写群号, 且必须在群号前添加 g 否则识别为成员QQ号 例如groupID=g1003931532
b.用法 [...] 内为可填内容, <...> 内为必填内容 groupID 为群号, memberID 为成员QQ号 若 [groupID] [memberID] 均不存在 则控制当前群聊的权限 即EnableGroup.json 若只存在 [groupID] 则控制群号为 groupID 的群聊权限 即EnableGroup.json 若只存在 [memberID] 则控制当前群聊下, QQ号为 memberID 的群成员权限 即GroupMemberPerm.json 若 [groupID] [memberID] 均存在 则控制群号为 groupID 下QQ号为 memberID 的群成员权限 即GroupMemberPerm.json c.例子 /perm jrrp false 关闭当前群聊的 jrrp 功能 /perm g1003931532 jrrp true 开启群号 1003931532 的 jrrp 功能 /perm 1250838250 sign false 关闭当前群聊下 QQ号 1250838250 的 sign 功能 /perm g1003931532 1250838250 hyp true 开启群号 1003931532 下 QQ号 1250838250 的 hyp 功能 /bl add g1003931532 将群 1003931532 列入黑名单 /bl rm 1250838250 将QQ号 1250838250 的用户 移出黑名单 三.更新日志 版本号 发布时间 更新内容 V0.1.0 2023.02.02 首个打包好地插件,拥有其主要功能 [今日人品;舔狗日记] V0.1.1 2023.02.02 完善代码,修改写法,增加 今日人品排行榜功能V0.1.2
2023.02.05
修复 今日人品排行榜 非固定时间重置BUG 现在为 每次开机 和 每天0点 自动重置 新增music目录,为新功能做准备 关于 API 锁死问题以及 排行榜建议合并转发 已经纳入规划,未来版本解决V0.1.3
2023.02.07
修复 今日人品排行榜 显示来自何群信息bug 改为合并转发方式发送排行榜 (来自MiraiForum中@FIREFAIRY提出的建议) 此版本建议尽早更新!此版本建议尽早更新!此版本建议尽早更新!V0.1.4
2023.02.05
修复 舔狗日记 @用户未转义问题 新增配置文件,文件目录 ./PracticalWidgets/data.properties 为将来做准备 现有BUG 如果 今日人品排行榜 重复则排行榜将会报错问题 预计下版本(V0.1.5)修复 今日人品排行榜将会更换写法,做到区分群聊发送(获取当前群号然后遍历此群的今日人品做排行,这取决于用户在哪个群查看的今日人品) 将就着先用着吧,靖暄这边高三应届毕业生,我尽力快点换写法V0.1.5
2023.02.09
配置文件增加用户自定义 今日人品形容词 修复 V0.1.4版本 排行榜bug 修复 舔狗日记 无法获取到数据导致数据库报错问题 更换 今日人品排行榜 写法, 现在可以做到分群发送 排行榜 每个群有不同的排行榜数据 更换 舔狗日记 获取写法 解决数据库乱码问题 代码更为完善V0.2.0
2023.02.09
新功能 点歌 (欢呼!) 完善上版本代码V0.2.5
2023.02.15
增加新功能 new对象 完善上版本代码 V0.2.6 2023.02.17 修复 今日人品排行榜 转发信息时锁死末酱, 现改为自动获取到群bot的昵称V0.3.0
2023.02.19
优化上版本代码 新增 询hypixel服务器相关信息 功能 配置文件更新V0.3.1
2023.02.21
修复数据库异常过大问题 完善 查询hypixel服务器相关信息 功能 主数据库更新, 新增版本条目, 方便查看V0.3.2
2023.02.22
经用户反馈, 修复 今日人品排行榜 经常缺人问题 新增即便是在不同群也能查看到自己的人品值排行榜(在群A获取人品值后在群B再获取一次人品值就会写入数据库保留群B的排行数据)V0.3.3
2023.02.24
修复 hyp相关信息 中 玩家不存在 或 数据不存在 的报错 或 直接不给回复 问题 (来自MiraiForum中@MC__luoluo提出的反馈) 修复 自动更新数据库 问题 (如果跨多个版本更新可能导致需要重启多次才会完整更新数据库功能) 预计下版本更新 hyp相关信息 中添加更多游戏模式V0.3.4
2023.02.27
修复 hyp相关信息 中 玩家存在 但 玩家数据不存在 得报错, 现在拥有回复, 且不会在控制台报错 (来自MiraiForum中@MC__luoluo提出的反馈) 修复 今日人品排行榜 中 如果群成员试图 逆天改命 进行重复查询 今日人品 导致排行榜数据过大问题 (来自GitHub中@光影)V0.4.0
2023.02.28
修复 hyp相关信息 中 大部分BUG 现在很少遇到报错, 都带有提示 以下内容全部来自MiraiForum中@MC__luoluo提出 新增 自定义指令前缀 可在配置文件自定义您的指令前缀 默认 / hyp相关信息 中 player 字段 新增显示 大厅等级 保留三位小数 hyp相关信息 中 player 字段 新增显示 RANK hyp相关信息 中 player 字段 新增显示 玩家皮肤预览V0.4.1
2023.03.06
hyp信息查询 中 新增 街机游戏 模块 /hyp acd <ID> 包含了绝大多数的街机游戏模式 hyp信息查询 中 player 字段 新增 rank赠送数 修复 hyp信息查询 中 player 字段缺少 【MVP++】 问题V0.4.2 - Alpha
2023.03.25
该版本为 V0.4.2测试版 即上版本的修复版本, 缺少内容待下版本更新 修正 hyp信息查询 中 MVP++ 判断错误问题 为 hyp信息查询 中 新增 <type> 字段错误提醒 为 hyp信息查询 功能预留文件夹, 用于新模式添加 按照 @MC__luoluo 要求 新增退群提醒 (配置文件有更新)V0.4.2 - Alpha - 2
2023.03.31
该版本为 V0.4.2测试版2 即上版本的 新功能预发布 版本, 可能存在严重BUG(这次细心了, 不出意外的话是不会有bug的, 但是不出意外的话肯定会出意外) 新功能 签到 但是没有什么实际作用, 属于是按照 MiraiForum 中 De6ris 的要求测试 自定义消息结构 详细可查看配置文件V0.4.3
2023.09.24
新增可控的退群提醒, 详情见配置文件更新 完善了几个测试版 修复已知bug hyp信息查询 中 新增 密室杀手 模块V0.5.0
2023.10.08
新增权限系统 新增可选的自动注册功能, 存在于EnableGroup.json中 修复已知bugV0.5.1
2023.10.10
修复权限文件无法自动创建问题 修复配置文件跨版本更新插件时无法更新配置文件问题 新增分群控制退群提醒V0.5.2
2024.02.06
优化 点歌功能 详见issues1 hyp信息查询 中 新增 公会数据 hyp信息查询 中 新增 决斗游戏 模块 四.关于如果您发现 BUG 可以联系靖暄
如果您有 任何想要的功能 也可联系靖暄或者加群提出建议,如果加群请回答您看到此内容的平台(GITHUB; MiraiForum; GITEE) 三选一
如果你也觉得 Practical-Widgets 做的好的话可以给靖暄赞助(备注上您的任意 平台主页地址 及 ID 将会列入赞助列表)
赞助方式如下
...微信
支付宝
数字人民币.jpg
QQ.png
Mirai是我第一个使用的QQ机器人,我在20年还是19年左右接触到了这个神奇的东西。具体时间确实记得不是很清楚了,但中间总是走走停停。因为不一会就会发现其中什么寄了或者什么教程缺失,网上查找又一般找不到。
tx对于QQ机器人的封杀导致了这一系列问题的诞生,而教程的缺失又导致了明明可以有很多人来讨论来玩耍来分享创意的领域却始终无法得到补充。2024年的现在我单是为了能够login机器人让机器人跑起来都已经花费了5小时,更不用提当初开发的那些人有多少。
教程的缺失确实是一个让人悲哀的事实,但tx的封锁也都心知肚明。只能说,大不了我不用QQbot用unit去做了算了(doge)就想编编文字冒险类游戏自娱自乐下反而感觉精力都被榨干了......
不说了不说了,要睡觉了,天都白了。
已打包,不用再折腾复杂的环境
增加可选免费模型:kimi、清言、lingyi、step、通义千问、gptX、lolimigpt、glm-4
1、对接免费ai绘画+语音接口,开箱即用
2、支持ai角色预设
3、多模型可选,Gemini/characterglm/gpt3.5(官方/免费)/glm-4/gpt4
有代理的话,个人推荐使用Gemini,免费,基本是目前免费方案首选。
如无代理,
可选kimi、清言、lingyi、step、通义千问、gptX、lolimigpt、glm-4(免费无需配置,即填即用,免费服务不保证稳定性)愿意花点金币的话,推荐characterglm,注册获取apikey,目前角色扮演效果最好。
部署 视频教程 文本教程 请确保已安装mirai-api-http 并正确配置 下载mirai-api-http 放进mirai/plugins文件夹 启动一次Mirai,关闭 用配置 替换config/net.mamoe.mirai-api-http/setting.yml 启动mirai,至此,完成Mirai部分配置 从release下载 最新的Petunia.rar并解压 配置Petunia/setting.yaml,双击main2.exe即可95532c7a-c463-47ae-904d-836c074c27ef-image.png
Image_1712293737662.png
调用搭建在modelscope的bert_vits2语音合成,无需在本地搭建语音合成服务。
造了轮子方便各位使用python的开发者使用。(量产ai塔菲,大唐盛世了这下)
从pip安装 pip install modelscope_tts安装此依赖
获取cookie参照Manyana#issue7 复制你的cookie
运行你可以运行下面这段代码
import asyncio import modelscope_tts Cookie="你的Cookie" #设置cookie ms=modelscope_tts.TTS(Cookie) #创建对象 print(ms.listSpeakers()) #查看所有可用的角色 #语音合成是ms的tts方法,支持三个参数,text、speaker、path ms.tts("你好") #只传text ms.tts(text="你好",speaker="阿梓") #使用 阿梓 合成语音 ms.tts("你好","阿梓","./data/tb.wav") #额外传递路径变量(相对) #支持异步处理方式 asyncio.run(ms.asynctts("你好") )项目地址:https://github.com/DaFeimian/XiaoFeimian
Language: Python Implementation: mirai-api-http Base: Http Adapter Tag: 学习别人说话,聊天 基本说明基于Mirai及mirai-api-http制作的QQ学习群友说话机器人。
灵感来源及基本参考来源于:ChatLearning(Github)
项目命名为:小肥免 (XiaoFeimian),因为之前一直是把这个QQ当机器人用ChatLearning放在我的MC模组交流群里面聊天的,但是昨天不知道为什么我自己用ChatLearning效果一直很怪,于是就花了5个小时沿用了我写的我的世界自主学习机器人模组的原理自己写了一个,因此项目本身比较简单,也没有很完善的对未来拓展功能提前写好底层~
简单原理介绍:监听获取群消息(当然后面也可以做好友消息,但是感觉没那么有意思,就只做了群消息),上一个消息作为问题,下一个消息作为答案来进行记录,只要是相同的问题,答案都重复记录以增加权重(其实可以直接设置一个times但是我好累!),这样就可以进行匹配群友的对话来给出答案回复了~
ffcd2d1f-0e82-42bb-923f-059adae30769-image.png
安装 安装Mirai(Github) 前往项目地址:https://github.com/DaFeimian/XiaoFeimian Release下载XiaoFeimian.exe程序 前往mirai-api-http(Github)安装2.10.0版本的的mirai-api-http,高版本可能会有api变动导致小肥免(XiaoFeimian)无法使用。 设置mirai-api-http的配置文件setting.yml 把XiaoFeimian.exe程序放在你容易找到的地方,双击打开然后关闭,配置文件将会生成在程序所在位置的根目录下的XiaoFeimianConfig文件夹。例如:XiaoFeimian.exe程序放在D:\DaFeimian\Robot\dfm520\...下,第一次打开后,配置文件就会在D:\XiaoFeimianConfig\...下。**注意:**程序是多线程运行的,可能关闭之后会卡到线程,需要在任务管理器中查看是否仍在后台运行,然后关闭掉! 修改小肥免(XiaoFeimian)的配置文件config.json: format_version: 版本号 key: 不用填 host: 地址,对应mirai-api-http-2.10.0的配置文件http里的那个host port: 端口,对应mirai-api-http-2.10.0的配置文件http里的那个port qq: 你的QQ号,对应mirai-api-http-2.10.0的配置文件http里的那个port session: 不用填,对应mirai-api-http-2.10.0的配置文件singleMode设置为true dfm:learning_list: 学习群聊的群号列表 dfm:reply_list: 回复群聊的群号列表 dfm:chance: 回复概率(0~1) dfm:cos_match: 是否进行相似度计算以寻找答案(bool) dfm:cos_match_value: 相似度计算达到多少就匹配答案(0~1) dfm:reply_wait_base_time: 回复行为的基础等待时间 dfm:reply_wait_float_time: 回复行为的浮动时间(+-)ee0287e9-6afd-4535-bd90-6394728ba93e-image.png
目前
实现了 OpenAI 中 提供的 Completion 和 Image Generation
chat.jpg
image.jpg
completion.jpg
bind.png
详细文档请阅读 readme
https://github.com/cssxsh/mirai-openai-plugin#readme
有功能BUG或者建议请开 issue
https://github.com/cssxsh/mirai-openai-plugin/issues
希望能使用通义千问的key进行聊天
可以自定义人设
限制调用次数
谢谢~
一个娱乐插件
被草和草人的都沉默了
指令可单独配置
可调整超人时间未到语句上传的图片
需要在
data/com.purewhite.entertainment/No
data/com.purewhite.entertainment/Yes
下塞入图片
插件启动后该文件夹会创建 直接塞入图片即可无需重启
仓库 下载 作者
可查看pixiv排行榜,作者作品,插画图片等等
将jar文件放入plugins文件夹即可,第一次运行完成后请配置config/com.hcyacg.pixiv的setting.yml文件
有问题请到仓库开Issues
MCL命令./mcl --update-package com.hcyacg:pixiv --channel stable --type plugin
最新版请到github仓库下载
rank.png
psid.png
ptst-1.png
ptst-2.png
user.png
ptsf-1.png
ptsf-2.png
ptsf-3.png
增加免费、稳定、无需代理的gpt3.5来源
ai绘画更新,对接免费的Dall-e-3 api
对接Gemini支持自定义预设角色
更新对接glm-4,桑帛云的免费api,即填即用,可预设角色。
更新对接免费的gpt3.5,无需额外配置,仅需在设置中调整默认模型设置为lolimigpt即可(免费api有时候会不稳定),可预设角色
抓包了魔搭社区的语音合成在线体验服务,大家悄咪咪地用。当前可用:["塔菲","阿梓","otto","丁真","星瞳","东雪莲","嘉然","孙笑川","亚托克斯","文静","鹿鸣"]
对接桑帛云API的ai绘画(free),效果还不错
搭建工具增加镜像源,无需代理可正常搭建和更新
增加语音合成可选项,outVits模式,调用外部api合成节约本地资源
项目地址如果你不想折腾,只想用ai+语音,请移步Petunia
功能多,所以就不在这里写了
请查看readme
以上是项目中实现的功能
如果想要实现bot菜单上的所有功能,你需要
额外安装以下几个插件
- Mirai点歌插件
- PetPet
- fireWatch
或直接用release的ManyanaLauncher整合包
今天号子又被冻结了,寻思着准备换一个低版本的QQ 但是提取完8.9.70的QQ之后发现有两个参数是空的,数据如下:
{ "apk_id": "com.tencent.mobileqq", "app_id": null, "sub_app_id": null, "app_key": "0S200MNJT807V3GE", "sort_version_name": "8.9.70.11730", "build_time": 1688720082, "apk_sign": "a6b745bf24a2c277527716f6f36eb68d", "sdk_version": "6.0.0.2551", "sso_version": 20, "misc_bitmap": 150470524, "main_sig_map": 16724722, "sub_sig_map": 66560, "dump_time": "1688720082", "qua": "V1_AND_SQ_8.9.70_4330_YYB_D", "protocol_type": 1 }这个会有影响吗?这个版本的QQ是从豌豆荚找到的。直接这样使用会有问题吗?想问问大佬们一般用的都是什么版本的QQ和这个文件的配置.....想借来用用,谢谢。
unidbg-fetch-qsign删库了,magic-signer-guide只支持8.9.58老版本,已经很难登上去了
还有别的解决方案吗
好久不见,我是鸽了快一年的放空
新版本已经完成基本的底层搭建,剩下的就是慢慢不全各功能模块就行。
现在在这里征集好的注意!
仓库地址:HuYanSession3
现有功能鉴于前车之鉴,本次升级对上版本插件做减法,对插件进行分离,自定义回复独立提取出来,群管功能以后成为一个单独的插件。
自定义数据库接入:目前支持(sqlite,h2,mysql) 自定义缓存位置:目前支持(内存),预留(redis) 自定义权限:目前支持(内置),预留接入HuYanAuthorize未来可能会接入lp 分组支持多种类型:对以前的群分组进行了升级,现在分组不仅可以对群分组,还能对人分组和对群成员分组! 高度定义的作用域匹配:7种作用域匹配,满足的需求 ...4c8c0423-f828-43fa-ab8a-e2336525c77d-图片.png
重新设计的单一消息,更加简洁,新增了概率回复功能,保留了壶言会话2.4.x的本地缓存功能 使用现阶段版本已经可以进行测试使用
如果你想使用,可以去群里获取测试版本的插件,放入plugins文件夹启动即可使用。
由于当前版本为壶言会话2的拆分版,你可以与壶言会话2一起使用,但是会触发两个插件的命令,解决方式就是使用壶言会话2的过滤消息功能将壶言会话2的指令暂时过滤掉!
对于现阶段mirai的半死状态,这边目前可以总计一下目前可能能行的登录方案:
签名服务-非常的不稳定(及其容易封号),但是能用 通过Overflow插件接入其他平台的OneBot转生 蕉流与学习目前就这完成了这么多,后续会慢慢完善,如果你有好的意见,可以在本帖子种回复。也可以加群直接at我,不是云的茶壶云(390444068)
如果你想学习编写mirai插件,或者刚学java,欢迎来对本项目进行编写和pr,结构简单易上手!
以下是本插件部分文档,会持续更新。 参数对于部分参数,有默认值,可省略不填。
| 指可选,左边或右边选择一个即可
+ 指可填写多个,一般中间用 隔开。
(xx) 指必填,括号内内容必须填写。
[xxx]指可选填写。
对于部分只能存在一条的信息,在参数集里面添加重写状态即可重写写入该信息。
%|rewrite 启用重写。 动态消息不同于壶言会话2的自动识别动态消息,壶言会话3这边需要手动指定是否启用动态消息。
dt|动态|dynamic 启用动态消息。 本地缓存由于腾讯服务器储存图片有概率过期,因此设计本地缓存功能,在config中有默认开启配置,默认不开启。
也可以根据单个消息默认设定开启与否。
消息在匹配时的转换方式
MIRAICODE miraiCode(默认)。 STRING String。 CONTENT content。 JSON json。 作用域 global 全局。 global-(id)|global-(at) 全局的某个用户,可填号码,可at人。 group 当前群(默认)。 member-(id)|member-(at) 某个群友。 list-(id) 自定义群列表。 users-(id) 自定义用户列表。 members-(id) 自定义某个群的群用户列表。 触发概率 probability-(0.0~1.0) 消息的触发概率。 是否随机 random 用于多词条的开启随机触发功能 动态消息类型针对上一代的动态消息使用体验,这个版本也进行了一次优化
现格式为:
${prefix.suffix}
前缀 后缀 含义 案例 at this at当前发消息的这个人 ${at.this} all at全体(慎用!) ${at.all} (qq) at这个qq用户 ${at.572490972} user id 获取发送者的QQ号 ${user.id} name 发送者的名称 ${user.name} avatar 发送者的头像 ${user.avatar} title 发送者的头衔(仅限群) ${user.title} group id 群号(仅限群) ${group.id} name 群名称(仅限群) ${group.name} avatar 群头像(仅限群) ${group.avatar} owner 群主名称(仅限群) ${group.owner} time now 当前时间(默认格式) ${time.now} timer 当前的时间戳 ${time.timer} (format) 当前时间的自定义格式 ${time.HH:mm:ss.SSS} mate (number) 正则回流编号<br/>(仅限正则匹配中包含匹配块) ${mate.1} message this 当前的消息 ${message.this} reverse 反转的消息(按照消息顺序反转) ${message.reverse} owner id 主人的id(得与机器人是好友) ${owner.id} name 主人的名称(得与机器人是好友) ${owner.name} avatar 主人的头像(得与机器人是好友) ${owner.avatar}对于一对一消息回复,如果想启用动态消息的匹配,得才参数中添加dt来启用动态消息识别!
指令 消息功能权限id:session
一对一消息权限id:hh
指令 含义 案例 xx (a) (b) [params]+ 学习一个一对一回复 xx a b 学习 (a) (b) [params]+ 同上 学习 啊啊啊 哦哦哦 -xx (a) [scope\|id] 删除一个一对一回复^1 -xx a 删除 (啊啊啊) [scope\|id] 同上 删除 啊啊啊 参数params 支持列表:
匹配方式 重写 动态消息 本地缓存 转换方式 作用域 触发概率动态消息支持列表:
全部 一对多消息权限id:dct
指令 含义 案例 %dct 进入多词条学习状态(3分钟超时) %dct 学习多词条 同上 学习多词条目前不支持删除
params 支持列表:
匹配方式 重写 本地缓存 作用域 触发概率多词条默认自动识别动态消息!
动态消息支持列表:
全部 群典功能这是一个非常有意思的功能!
在配置中启动该功能后,对着机器人在线期间的消息回复一个批准入典, 将会默认生成一个触发词为群典(在配置中自定义)的多词条集
这个群典只属于当前群,意味着对于不同的群,可以有不同的群典!
记录群友的丢人瞬间!
定时消息权限id:ds
权限功能权限id:admin
指令 含义 案例 +(scope)-(at\|qq) (权限id) [权限id] 为该作用域添加一个权限 +global-@572490972 admin 添加权限(scope)-(at\|qq) (权限id) [权限id] 同上 添加权限@572490972 amind -(scope)-(at\|qq) (权限id) [权限id] 为该作用域删除一个权限 -global-@572490972 admin 删除权限(scope)-(at\|qq) (权限id) [权限id] 同上 删除权限@572490972 admin 分组功能 插件指令 hys v 查询当前壶言会话3的版本。