Skip to content

Commit 01abe74

Browse files
committed
add ban thumb pipeline
1 parent 0933977 commit 01abe74

File tree

2 files changed

+74
-0
lines changed

2 files changed

+74
-0
lines changed

CHANGELOG.MD

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
1.0.0-SNAPSHOT
2+
- 新版本上线
3+
4+
1.0.1-SNAPSHOT (UNDERDEVELOPMENT)
5+
- 增加大拇指检测功能
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package me.lightless.izumi.plugin.pipeline.impl
2+
3+
import me.lightless.izumi.plugin.pipeline.IPipeline
4+
import net.mamoe.mirai.contact.PermissionDeniedException
5+
import net.mamoe.mirai.event.events.GroupEvent
6+
import net.mamoe.mirai.event.events.GroupMessageEvent
7+
import net.mamoe.mirai.message.data.At
8+
import net.mamoe.mirai.message.data.Face
9+
import net.mamoe.mirai.message.data.PlainText
10+
import net.mamoe.mirai.message.data.buildMessageChain
11+
import org.slf4j.Logger
12+
import org.slf4j.LoggerFactory
13+
14+
@Suppress("unused")
15+
class Thumb : IPipeline {
16+
override val logger: Logger
17+
get() = LoggerFactory.getLogger(javaClass)
18+
override val name: String
19+
get() = "thumb"
20+
21+
/*
22+
self.blacklist = [
23+
"[强]",
24+
"[CQ:face,id=76]",
25+
b"\xf0\x9f\x91\x8d".decode("UTF-8"),
26+
"[CQ:emoji,id=128077]",
27+
"4",
28+
]
29+
*/
30+
override suspend fun process(event: GroupMessageEvent) {
31+
var thumbCnt = 0
32+
33+
// 检查大拇指的数量
34+
event.message.spliterator().forEachRemaining {
35+
logger.debug("message part: $it -> ${it.javaClass}")
36+
when (it) {
37+
is Face -> {
38+
if (it.id == 76) {
39+
thumbCnt += 1
40+
}
41+
}
42+
is PlainText -> {
43+
var index = it.contentToString().indexOf("\uD83D\uDC4D")
44+
while (index != -1) {
45+
thumbCnt += 1
46+
index = it.contentToString().indexOf("\uD83D\uDC4D", index + 2)
47+
}
48+
}
49+
}
50+
}
51+
52+
// 开始禁言,一个大拇指2分钟
53+
logger.debug("thumb count: $thumbCnt")
54+
if (thumbCnt != 0) {
55+
// 禁言
56+
try {
57+
event.sender.mute(thumbCnt * 2 * 60)
58+
event.group.sendMessage(buildMessageChain {
59+
add(At(event.sender))
60+
add("\n嘤嘤嘤,发现大拇指了呢,呐,大拇指什么的是不可以的呢!")
61+
})
62+
} catch (e: PermissionDeniedException) {
63+
event.group.sendMessage(buildMessageChain {
64+
add("嘤嘤嘤,没有权限夹人呢!")
65+
})
66+
}
67+
}
68+
}
69+
}

0 commit comments

Comments
 (0)