Skip to content

Commit 1d5b836

Browse files
修复非管理员删除别人记录不显示提示的bug & 优化代码
1 parent 7e3fec4 commit 1d5b836

File tree

13 files changed

+37
-35
lines changed

13 files changed

+37
-35
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,26 +39,26 @@
3939
- @机器人<br>
4040
获取可用指令列表
4141

42-
- 增加管理员 <@某人|对方QQ号><br>
42+
- 增加管理员 <@某人|QQ号><br>
4343

44-
- 删除管理员 <@某人|对方QQ号><br>
44+
- 删除管理员 <@某人|QQ号><br>
4545

4646
- 查看管理员<br>
4747

4848
- 随机操作<br>
4949
获得一串由[↑, ↓, ←, →]组成的随机方向,玩家需要在直播+实录的同时,在关底boss对话过程中通过方向键输入进游戏里<br>
5050
在设置里可以设置验证码的长度,默认为10位验证码
5151

52-
- 删除记录 <@某人|对方QQ号><br>
52+
- 删除记录 <@某人|QQ号><br>
5353
删除该用户申请的随机操作记录,参数为空则是删除自己的,只有管理员才能删除别人的操作记录<br>
5454
支持同时删除多位用户的记录,用空格隔开
5555

56-
- 查询记录 <@某人|对方QQ号><br>
56+
- 查询记录 <@某人|QQ号><br>
5757
查询该用户申请的随机操作记录,参数为空则是查询自己的<br>
5858
为了防止刷屏,可以设置查询时显示验证码个数的限制,默认显示最后10条验证码<br>
5959
支持同时查询多位用户的记录,用空格隔开
6060

61-
- 查询全部记录 <@某人|对方QQ号><br>
61+
- 查询全部记录 <@某人|QQ号><br>
6262
查询该用户申请的全部随机操作记录,参数为空则是查询自己的,只有管理员才能进行此操作<br>
6363
支持同时查询多位用户的记录,用空格隔开
6464

src/main/kotlin/CommandHandler.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,7 @@ interface CommandHandler {
7272
if (isAt) (message.getOrNull(2) as? PlainText)?.content?.trim()
7373
else (message.getOrNull(1) as? PlainText)?.content?.trim()
7474
val msgContent = if (!msg.isNullOrEmpty()) msg else if (isAt) ShowTips.name else return
75-
if (msgContent.contains("\n") || msgContent.contains("\r"))
76-
return
75+
if (msgContent.contains("\n") || msgContent.contains("\r")) return
7776
val msgSlices = msgContent.split(" ", limit = 2)
7877
val cmd = msgSlices[0]
7978
val content = msgSlices.getOrElse(1) { "" }
@@ -85,4 +84,4 @@ interface CommandHandler {
8584
}
8685
}
8786
}
88-
}
87+
}

src/main/kotlin/PluginMain.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ internal object PluginMain : KotlinPlugin(
1717
JvmPluginDescription(
1818
id = "org.stg.verification.bot",
1919
name = "Touhou Replay Verification Code Generator Bot",
20-
version = "1.0.0"
20+
version = "1.1.0"
2121
)
2222
) {
2323
override fun onEnable() {

src/main/kotlin/command/AddAdmin.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import org.stg.verification.bot.storage.TRVGConfig
1010
object AddAdmin : CommandHandler {
1111
override val name = "增加管理员"
1212

13-
override fun showTips(groupCode: Long, senderId: Long) = "$name 对方QQ号"
13+
override fun showTips(groupCode: Long, senderId: Long) = "$name <@某人|QQ号>"
1414

1515
override fun checkAuth(groupCode: Long, senderId: Long) = TRVGConfig.isSuperAdmin(senderId)
1616

@@ -22,4 +22,4 @@ object AddAdmin : CommandHandler {
2222
else failed.joinToString(postfix = "已经是管理员了")
2323
return PlainText(result)
2424
}
25-
}
25+
}

src/main/kotlin/command/DeleteRecord.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import org.stg.verification.bot.storage.RandOperationHistory
1010
object DeleteRecord : CommandHandler {
1111
override val name = "删除记录"
1212

13-
override fun showTips(groupCode: Long, senderId: Long) = "$name 对方QQ号"
13+
override fun showTips(groupCode: Long, senderId: Long) = "$name <@某人|QQ号>"
1414

1515
override fun checkAuth(groupCode: Long, senderId: Long) = true
1616

@@ -24,8 +24,12 @@ object DeleteRecord : CommandHandler {
2424
}
2525
} else {
2626
val (succeed, failed) = target
27-
.filter { it == event.sender.id || PermData.isAdmin(event.sender.id) }
28-
.partition { RandOperationHistory.deleteRecord(it) }
27+
.partition {
28+
if (it == event.sender.id || PermData.isAdmin(event.sender.id))
29+
RandOperationHistory.deleteRecord(it)
30+
else
31+
false
32+
}
2933
val result =
3034
if (succeed.isNotEmpty()) {
3135
succeed.joinToString(separator = "\n", prefix = "已清除记录:\n")
@@ -35,4 +39,4 @@ object DeleteRecord : CommandHandler {
3539
PlainText(result)
3640
}
3741
}
38-
}
42+
}

src/main/kotlin/command/GetAllRecords.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import org.stg.verification.bot.storage.RandOperationHistory
1010
object GetAllRecords : CommandHandler {
1111
override val name = "查询全部记录"
1212

13-
override fun showTips(groupCode: Long, senderId: Long) = "$name 对方QQ号"
13+
override fun showTips(groupCode: Long, senderId: Long) = "$name <@某人|QQ号>"
1414

1515
override fun checkAuth(groupCode: Long, senderId: Long) = PermData.isAdmin(senderId)
1616

@@ -23,9 +23,9 @@ object GetAllRecords : CommandHandler {
2323
} else {
2424
PlainText(result.joinToString(separator = "\n", prefix = "随机操作记录:\n"))
2525
}
26-
2726
} else {
28-
val result = target.mapNotNull { qqNumber ->
27+
val result = target.mapNotNull {
28+
qqNumber ->
2929
RandOperationHistory.getAllRecords(qqNumber)?.let { listOf("$qqNumber:", *it.toTypedArray()) }
3030
}.flatten()
3131
if (result.isEmpty()) {
@@ -35,4 +35,4 @@ object GetAllRecords : CommandHandler {
3535
}
3636
}
3737
}
38-
}
38+
}

src/main/kotlin/command/GetRecord.kt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import org.stg.verification.bot.storage.RandOperationHistory
99
object GetRecord : CommandHandler {
1010
override val name = "查询记录"
1111

12-
override fun showTips(groupCode: Long, senderId: Long) = "$name 对方QQ号"
12+
override fun showTips(groupCode: Long, senderId: Long) = "$name <@某人|QQ号>"
1313

1414
override fun checkAuth(groupCode: Long, senderId: Long) = true
1515

@@ -19,20 +19,19 @@ object GetRecord : CommandHandler {
1919
val result = RandOperationHistory.getRecord(event.sender.id)
2020
if (result.isNullOrEmpty()) {
2121
PlainText("未查询到记录")
22-
}
23-
else {
22+
} else {
2423
PlainText(result.joinToString(separator = "\n", prefix = "随机操作记录:\n"))
2524
}
2625
} else {
27-
val result = target.mapNotNull { qqNumber ->
26+
val result = target.mapNotNull {
27+
qqNumber ->
2828
RandOperationHistory.getRecord(qqNumber)?.let { listOf("$qqNumber:", *it.toTypedArray()) }
2929
}.flatten()
3030
if (result.isEmpty()) {
3131
PlainText("未查询到记录")
32-
}
33-
else {
32+
} else {
3433
PlainText(result.joinToString(separator = "\n", prefix = "随机操作记录:\n"))
3534
}
3635
}
3736
}
38-
}
37+
}

src/main/kotlin/command/ListAllAdmin.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ import org.stg.verification.bot.storage.PermData
99
object ListAllAdmin : CommandHandler {
1010
override val name = "查看管理员"
1111

12-
override fun showTips(groupCode: Long, senderId: Long) = "$name"
12+
override fun showTips(groupCode: Long, senderId: Long) = name
1313

1414
override fun checkAuth(groupCode: Long, senderId: Long) = true
1515

1616
override suspend fun execute(event: GroupMessageEvent, content: String): Message {
1717
val result = PermData.listAdmin().joinToString(separator = "\n", prefix = "管理员列表:\n")
1818
return PlainText(result)
1919
}
20-
}
20+
}

src/main/kotlin/command/RandOperation.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import kotlin.random.Random
1313
object RandOperation : CommandHandler {
1414
override val name = "随机操作"
1515

16-
override fun showTips(groupCode: Long, senderId: Long) = "$name"
16+
override fun showTips(groupCode: Long, senderId: Long) = name
1717

1818
override fun checkAuth(groupCode: Long, senderId: Long) = true
1919

src/main/kotlin/command/RemoveAdmin.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import org.stg.verification.bot.storage.TRVGConfig
1010
object RemoveAdmin : CommandHandler {
1111
override val name = "删除管理员"
1212

13-
override fun showTips(groupCode: Long, senderId: Long) = "$name 对方QQ号"
13+
override fun showTips(groupCode: Long, senderId: Long) = "$name <@某人|QQ号>"
1414

1515
override fun checkAuth(groupCode: Long, senderId: Long) = TRVGConfig.isSuperAdmin(senderId)
1616

@@ -26,4 +26,4 @@ object RemoveAdmin : CommandHandler {
2626
else failed.joinToString(postfix = "并不是管理员")
2727
return PlainText(result)
2828
}
29-
}
29+
}

0 commit comments

Comments
 (0)