Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
khjxiaogu committed Aug 26, 2022
2 parents 6ed2d91 + 23d6015 commit a3380e8
Showing 1 changed file with 18 additions and 15 deletions.
33 changes: 18 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,10 @@
- 2.0-M2-1-dev-1
- 2.7-M1-dev-5
- 2.7-M1
- 2.12.2
### 测试可用的mirai-core版本
1.2.1-2.7(每个发行版本都测试过)
1.2.1-2.7(每个发行版本都测试过)
2.12.2
# 基本使用方法
0.[Release](https://github.com/khjxiaogu/MiraiSongPlugin/releases)下载
1. 放置于plugins文件夹
Expand Down Expand Up @@ -112,16 +114,15 @@ Linux:
- 网易HQ的API和QQ音乐API均可能有时间限制,长时间后播放链接会失效。
- bilibili的API由于有请求校验,所以只支持语音播放,卡片分享只支持点击卡片打开网页进行播放。
# 配置项
配置文件位于`data/点歌插件`
配置文件位于`data/com.khjxiaogu.mirai.MiraiSongPlugin`
|名称|介绍|
|-----|-----|
|`silkenc_path`|silk编码器文件位置[windows二进制](https://github.com/khjxiaogu/MiraiSongPlugin/blob/master/silk_v3_encoder.exe)|
|`ffmpeg_path`|ffmpeg编码器文件位置[ffmpeg github](https://github.com/FFmpeg/FFmpeg)|
|`amrqualityshift`|如果语音文件过大时进行的处理,缺省默认为false。<br>设置值:true/不断降低码率直到刚好能够发送,比较消耗性能 false/直接裁剪音频文件大小为1M|
|`amrqualityshift`|如果语音文件过大时进行的处理,缺省默认为false。<br>设置值:true/不断降低码率直到刚好能够发送,比较消耗性能 false/直接裁剪音频文件大小为1M,可能导致音频不完整。|
|`amrwb`|是否启用amr_wb模式,缺省默认为true。<br>设置值:true/启用amr_wb,音质会比较好,但是电脑qq可能不能正常播放,手机qq进度条显示异常。 false/关闭amr_wb,此时`amrqualityshift`强制为false,音质会比较差,但是显示和播放都正常。|
|`use_custom_ffmpeg_command`|是否启用自定义ffmpeg指令,如果启用,上述的amr配置和ffmpeg路径配置将被忽略。|
|`custom_ffmpeg_command`|自定义ffmpeg命令,会把%input%替换为输入文件绝对路径,%output%替换为输出文件绝对路径。|
|`admins`|管理员QQ列表,对应QQ号可以使用插件设置命令`/msp`|
|`hintsongnotfound`|找不到歌曲文本提示|
|`hintcarderror`|分享失败文本提示|
|`hintnotemplate`|找不到卡片文本提示|
Expand Down Expand Up @@ -176,9 +177,10 @@ extracommands:
```
# 权限系统
权限系统可以用于配置各个机器人、群和好友的权限。
权限文件位于`data/点歌插件`目录下。
其中`global.permission`为默认权限配置,`<机器人qq号>.permission`为机器人单独配置项。
如果机器人不存在单独配置,则会使用默认全局配置。
权限文件位于`data/com.khjxiaogu.mirai.MiraiSongPlugin`目录下。
其中`global.permission`为默认权限配置,`<机器人qq号>.permission`为机器人单独配置项。
如果机器人不存在单独配置,则会使用默认全局配置。否则就会无视全局配置,只使用机器人自身配置。
一般我们建议给每个机器人都增加一个单独配置,全局配置仅在登录新机器人的时候使用。
首先引入下权限DSL:
### 基础语法
权限DSL一行为一个语句,语法如下
Expand All @@ -187,8 +189,8 @@ extracommands:
`[<指令>$]`为需要控制权限的指令,如果不填则为允许所有指令(管理员指令除外),其中指令部分可以用反斜杠(\)转义#号、$号和\号,因为这些符号本身有特殊含义。
`[设置]`为表示是否允许,`+`为允许,`-`为不允许,由于本插件是黑名单制度,默认写入后不允许,所以如果不填设置项表示不允许。
`<对象>`表示权限作用于的对象,此选项是必须的。
`[@<场所>]`表示权限实体使用指令的场所,@不能省略,不填表示在所有场所。
关于实体和场所请参照后面的内容
`[@<场所>]`表示权限对象使用指令的场所,@不能省略,不填表示在所有场所。
关于对象和场所请参照后面的内容
### 注释
注释以#开始,可以在一行开始或者最后使用。
### 对象
Expand All @@ -199,7 +201,7 @@ extracommands:
|`admin`|管理|
|`admins`|群主或者管理|
|`member`|无权限的群员|
|`members`|所有的群员|
|`members`|所有的群员,包括管理和群主|
|`friend`|好友,也适用于群聊中的好友|
|`stranger`|陌生人,也适用于群聊中的陌生人|
|`*`|所有|
Expand All @@ -214,7 +216,7 @@ extracommands:
|`*`|所有|
||省略则相当于写了`@*`|
### 总体含义
意义很显然,实体在(@)场所里面的权限为所设置的内容。
意义很显然,对象在(@)场所里面的权限为所设置的内容。
以下是几个例子和解释:
```
+admins@* #表示所有群管理均可以使用
Expand All @@ -227,7 +229,7 @@ extracommands:
\#QQ$-2333333 #不允许用户2333333调用#QQ指令。
```
### 优先级
权限文件的优先级如下:
权限文件的优先级如下(从上往下为最优先到最不优先)
1. 具体的语句,即`+123456@233333`这种对象和场所均用qq号码指定的情况。
2. 对象为关键字但是场所用qq号指定的语句,如`+admins@233333`
3. 对象为通配符`*`但是场所用qq号指定的语句,如`+*@233333`
Expand All @@ -240,7 +242,7 @@ extracommands:

其中带指令的语句比不带指令的更优先,同样带指令的语句遵循上述顺序。
另外,如果有同等优先级的两个语句,写在后面的更加优先。如果出现了冲突的语句,以写在后面的为准。
优先级规律可以概况为:__越详细的语句越优先,同级语句后写优先。__
优先级规律可以概况为:__越详细的语句越优先,同级语句后写优先。__
如,如果想要设置陌生人不允许私聊指令,只允许群聊指令,可以设置:
```
-*
Expand All @@ -257,7 +259,7 @@ extracommands:
```
即只允许这三个群里面的所有成员使用。
# 插件指令
插件有唯一而且不可覆盖的指令:`/msp`,本指令可用于配置插件配置,本指令只能在聊天中使用,请在admins里面设置管理员方可使用
插件有唯一而且不可覆盖的指令:`/msp`,本指令可用于配置插件配置,本指令只能在聊天中使用,需要给予相关权限方可使用
有如下子命令
|子命令|用法|功能|
|------|------|------|
Expand All @@ -283,4 +285,5 @@ extracommands:
]
```
格式为json数组,每个成员都必须是对象,最后不能有多余的,。如果指定了本地搜索或者全部搜索,那么就会通过标题的相似度筛选出要搜索的歌,并把所有参数填入分享卡片中分享。
__#注意!这里的url必须是可以从外部访问的,请自备服务器或者云盘等,不能直接指定本地文件路径!__
__#注意!这里的url必须是可以从外部访问的,请自备服务器或者云盘等,不能直接指定本地文件路径!__
唯一的例外是语音发送,语音发送不需要外部访问,因此可以指定文件路径,但是文件路径需要是以`file://`开头的url,不能是普通的文件路径。

0 comments on commit a3380e8

Please sign in to comment.