Skip to content

Commit

Permalink
fix: reject close #21
Browse files Browse the repository at this point in the history
  • Loading branch information
cssxsh committed Feb 25, 2023
1 parent 2ded8b9 commit fbe2125
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 5 deletions.
15 changes: 12 additions & 3 deletions src/main/kotlin/xyz/cssxsh/mirai/admin/MiraiAdministrator.kt
Expand Up @@ -174,10 +174,19 @@ public object MiraiAdministrator : SimpleListenerHost() {
if (message.anyIsInstance<PlainText>().not()) return
val original = (quote(event = this) ?: return).originalMessage.contentToString()
val id = ("""(?<=with <)\d+""".toRegex().find(original)?.value ?: return).toLong()
val accept = MiraiAutoApprover.replyAccept.toRegex() matches message.contentToString()
val black = MiraiAutoApprover.replyBlack.toRegex() matches message.contentToString()

val content = message.contentToString()
val accept = MiraiAutoApprover.replyAccept.toRegex() in content
val reject = MiraiAutoApprover.replyReject.toRegex() in content
val black = MiraiAutoApprover.replyBlack.toRegex() in content
val reply = content.substringAfter('\n')

AdminContactCommand.runCatching {
toCommandSender().handle(id = id, accept = accept, black = black, message = original)
when {
accept -> toCommandSender().handle(id = id, accept = true, black = false, message = "")
reject -> toCommandSender().handle(id = id, accept = false, black = false, message = reply)
black -> toCommandSender().handle(id = id, accept = false, black = true, message = reply)
}
}.onFailure { cause ->
logger.error({ "handle contact request failure." }, cause)
}
Expand Down
Expand Up @@ -11,5 +11,7 @@ internal interface MiraiAutoApproverConfig {

val replyAccept: String

val replyReject: String

val replyBlack: String
}
Expand Up @@ -20,9 +20,13 @@ internal object AdminAutoApproverConfig : ReadOnlyPluginConfig("AdminAutoApprove

@ValueName("reply_accept")
@ValueDescription("回复触发同意请求")
override val replyAccept: String by value("同意|OK|没问题")
override val replyAccept: String by value("^(?:同意|OK|没问题)")

@ValueName("reply_reject")
@ValueDescription("回复触发拒绝请求")
override val replyReject: String by value("^(?:拒绝|不同意)")

@ValueName("reply_black")
@ValueDescription("回复触发拉黑请求")
override val replyBlack: String by value("拉黑|黑名单")
override val replyBlack: String by value("^(?:拉黑|黑名单)")
}

0 comments on commit fbe2125

Please sign in to comment.