Skip to content

Commit b0d6c8a

Browse files
committed
build: 1.3.1
1 parent 2a7037f commit b0d6c8a

10 files changed

+43
-18
lines changed

.github/afdian.jpg

50.9 KB
Loading

README.md

+28-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
[![Release](https://img.shields.io/github/v/release/cssxsh/mirai-administrator)](https://github.com/cssxsh/mirai-administrator/releases)
66
[![Downloads](https://img.shields.io/github/downloads/cssxsh/mirai-administrator/total)](https://repo1.maven.org/maven2/xyz/cssxsh/mirai/mirai-administrator/)
77
[![maven-central](https://img.shields.io/maven-central/v/xyz.cssxsh.mirai/mirai-administrator)](https://search.maven.org/artifact/xyz.cssxsh.mirai/mirai-administrator)
8+
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/8be173fe96c74059bfedd6268b8e6f0c)](https://www.codacy.com/gh/cssxsh/mirai-administrator/dashboard?utm_source=github.com&utm_medium=referral&utm_content=cssxsh/mirai-administrator&utm_campaign=Badge_Grade)
89

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

@@ -19,7 +20,8 @@
1920
* 群管理相关 群消息审核,自动宵禁,自动清理不发言,禁言自动退群
2021

2122
本插件提供[服务接口](#服务接口)以供其他插件拓展功能
22-
例如使用 [Mirai Content Censor](https://github.com/gnuf0rce/mirai-content-censor) 依靠百度API审查群消息
23+
例如使用 [Mirai Content Censor](https://github.com/gnuf0rce/mirai-content-censor) 依靠百度API审查群消息
24+
例如使用 [Mirai Authenticator](https://github.com/cssxsh/mirai-authenticator) 验证加群请求
2325

2426
## MCL 指令安装
2527

@@ -102,10 +104,12 @@
102104
| `/<send> <friends> [bot]? [second]?` | 发送给所有好友 |
103105
| `/<send> <to> [contact] [at]?` | 发送给指定联系人 |
104106
| `/<send> <nudge> [user]` | 戳一戳指定联系人 |
107+
| `/<send> <log> {addresses}` | 备份日志到邮箱 |
105108

106109
1. `bot` 参数在命令行模式下需要指定
107110
2. `at` 参数为 `true`, `yes`, `enabled`, `on`, `1` 时表示 `true`, 将附加一个At
108111
3. `second` 参数为 延迟的秒数 例如 `/send groups 123456 false 10`
112+
4. `addresses` 参数为 邮箱地址
109113

110114
### AdminTimerCommand
111115

@@ -161,9 +165,31 @@
161165
2. `censor_types` 可选值 `IMAGE, FLASH, SERVICE, APP, AUDIO, FORWARD, VIP, MARKET, MUSIC, POKE`
162166
3. 正则词库, 须手动添加,将会加载 censor 文件夹中的 txt 文件,每一行对应一个正则匹配,会监听文件改动,无需重启
163167

168+
### 邮件配置
169+
170+
1. `AdminMailConfig.yml` 配置一些默认的发送对象
171+
2. `admin.mail.properties` 配置邮箱账号等
172+
173+
格式参考
174+
```properties
175+
mail.host=smtp.mail.qq.com
176+
mail.auth=true
177+
mail.user=xxx
178+
mail.password=***
179+
180+
mail.store.protocol=smtp
181+
mail.transport.protocol=smtp
182+
# smtp
183+
mail.smtp.starttls.enable=true
184+
mail.smtp.auth=true
185+
mail.smtp.timeout=15000
186+
```
187+
188+
QQ邮箱帮助: https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
189+
164190
## [爱发电](https://afdian.net/@cssxsh)
165191

166-
![afdian](https://mirai.mamoe.net/assets/uploads/files/1670551864384-8ab9fe4e-37ff-440f-bd1e-c7bda4e1a85e-image.png)
192+
![afdian](.github/afdian.jpg)
167193

168194
## 服务接口
169195

build.gradle.kts

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ plugins {
77
}
88

99
group = "xyz.cssxsh.mirai"
10-
version = "1.3.0"
10+
version = "1.3.1"
1111

1212
mavenCentralPublish {
1313
useCentralS01()
@@ -43,7 +43,7 @@ dependencies {
4343
implementation("io.ktor:ktor-client-okhttp")
4444
implementation("io.ktor:ktor-client-encoding")
4545
//
46-
implementation(platform("org.slf4j:slf4j-parent:2.0.5"))
46+
implementation(platform("org.slf4j:slf4j-parent:2.0.6"))
4747
testImplementation("org.slf4j:slf4j-simple")
4848
}
4949

src/main/kotlin/xyz/cssxsh/mirai/admin/MiraiAdminPlugin.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ internal object MiraiAdminPlugin : KotlinPlugin(
2020
JvmPluginDescription(
2121
id = "xyz.cssxsh.mirai.plugin.mirai-administrator",
2222
name = "mirai-administrator",
23-
version = "1.3.0",
23+
version = "1.3.1",
2424
) {
2525
author("cssxsh")
2626
}

src/main/kotlin/xyz/cssxsh/mirai/admin/MiraiAdministrator.kt

+6-3
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ public object MiraiAdministrator : SimpleListenerHost() {
191191
/**
192192
* 启动一个群定时服务
193193
*/
194+
@PublishedApi
194195
internal fun GroupTimerService<*>.start(target: Group, reset: Boolean = false) {
195196
if (!reset && target.id in records) return
196197
records.remove(target.id)?.cancel()
@@ -277,6 +278,7 @@ public object MiraiAdministrator : SimpleListenerHost() {
277278
/**
278279
* 启动一个定时消息服务
279280
*/
281+
@PublishedApi
280282
internal fun BotTimingMessage.start(from: Bot, reset: Boolean = false) {
281283
if (!reset && from.id in records) return
282284
records.remove(from.id)?.cancel()
@@ -304,6 +306,7 @@ public object MiraiAdministrator : SimpleListenerHost() {
304306
/**
305307
* 启动一个初始化服务
306308
*/
309+
@PublishedApi
307310
internal fun BotOnlineAction.start(from: Bot) {
308311
launch(from.coroutineContext) {
309312
run(bot = from)
@@ -396,9 +399,9 @@ public object MiraiAdministrator : SimpleListenerHost() {
396399
when {
397400
sender.id == AdminSetting.owner -> return
398401
this is UserMessageEvent && AdminCommentConfig.user &&
399-
message.findIsInstance<PlainText>()?.content?.getOrNull(0) != '/' -> {}
400-
message.findIsInstance<QuoteReply>()?.source?.fromId == bot.id && AdminCommentConfig.quote -> {}
401-
message.findIsInstance<At>()?.target == bot.id && AdminCommentConfig.at -> {}
402+
message.findIsInstance<PlainText>()?.content?.getOrNull(0) != '/' -> Unit
403+
message.findIsInstance<QuoteReply>()?.source?.fromId == bot.id && AdminCommentConfig.quote -> Unit
404+
message.findIsInstance<At>()?.target == bot.id && AdminCommentConfig.at -> Unit
402405
else -> return
403406
}
404407

src/main/kotlin/xyz/cssxsh/mirai/admin/MiraiMessageTimer.kt

+1-3
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@ internal object MiraiMessageTimer : BotTimingMessage {
5151
val uuid = "${group.id}/${cron.asString().toByteArray().toUHexString("")}.json"
5252
val file = folder.resolve(uuid)
5353
if (file.exists().not()) continue
54-
val message = with(MessageChain) {
55-
deserializeFromJsonString(file.readText())
56-
}
54+
val message = MessageChain.deserializeFromJsonString(file.readText())
5755
mutex.withLock {
5856
if (cache.add(uuid).not()) return@withLock
5957
try {

src/main/kotlin/xyz/cssxsh/mirai/admin/command/AdminSendCommand.kt

+2-4
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,8 @@ public object AdminSendCommand : CompositeCommand(
8989
}
9090

9191
/**
92-
* 发送消息给所有群
93-
* @param bot 操作的机器人
94-
* @param at 是否At全体
95-
* @param second 发送的间隔
92+
* 戳一戳指定用户
93+
* @param user 要戳的用户
9694
*/
9795
@SubCommand
9896
@Description("戳一戳指定联系人")

src/main/kotlin/xyz/cssxsh/mirai/admin/command/AdminTimerCommand.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public object AdminTimerCommand : CompositeCommand(
135135
/**
136136
* 定时发送机器人状态到所有者
137137
* @param cron 启用的时间点
138-
* @param bot 目标机器人
138+
* @param from 目标机器人
139139
*/
140140
@SubCommand
141141
@Description("定时发送机器人状态")

src/main/kotlin/xyz/cssxsh/mirai/admin/data/AdminCommentConfig.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import xyz.cssxsh.mirai.admin.*
99
@PublishedApi
1010
internal object AdminCommentConfig : ReadOnlyPluginConfig("AdminCommentConfig") {
1111

12-
public var permission: Permission = Permission.getRootPermission()
12+
var permission: Permission = Permission.getRootPermission()
1313
private set
1414

1515
@OptIn(ConsoleExperimentalApi::class)

src/main/kotlin/xyz/cssxsh/mirai/admin/data/AdminOnlineMessageConfig.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import xyz.cssxsh.mirai.admin.*
99
@PublishedApi
1010
internal object AdminOnlineMessageConfig : ReadOnlyPluginConfig("AdminOnlineMessageConfig"), MiraiOnlineMessageConfig {
1111

12-
public override var permission: Permission = Permission.getRootPermission()
12+
override var permission: Permission = Permission.getRootPermission()
1313
private set
1414

1515
@OptIn(ConsoleExperimentalApi::class)

0 commit comments

Comments
 (0)