Skip to content

Commit 96d9b92

Browse files
committed
add:group black
1 parent c2ef21e commit 96d9b92

File tree

5 files changed

+50
-23
lines changed

5 files changed

+50
-23
lines changed

build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ plugins {
88

99
id("org.jetbrains.kotlin.plugin.noarg") version kotlinVersion
1010
id("org.jetbrains.kotlin.plugin.allopen") version kotlinVersion
11-
id("net.mamoe.mirai-console") version "2.12.0-RC"
11+
id("net.mamoe.mirai-console") version "2.12.0"
1212
id("me.him188.maven-central-publish") version "1.0.0-dev-3"
1313
}
1414

src/main/kotlin/com/hcyacg/Helper.kt

+22
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.hcyacg
22

3+
import com.hcyacg.Pixiv.reload
34
import com.hcyacg.Pixiv.save
45
import com.hcyacg.initial.Command
56
import com.hcyacg.initial.Config
@@ -301,4 +302,25 @@ object Helper {
301302
Config.save()
302303
event.subject.sendMessage("撤回时间已修改,当前为${Config.recall}ms")
303304
}
305+
306+
suspend fun black(event: GroupMessageEvent){
307+
if (!Setting.admins.contains(event.sender.id.toString())) {
308+
event.subject.sendMessage(At(event.sender).plus("\n").plus("您没有权限设置"))
309+
return
310+
}
311+
312+
var message = event.message.contentToString()
313+
314+
when (message){
315+
"ban" -> {
316+
Setting.black.add(event.group.id.toString())
317+
}
318+
"unban" -> {
319+
Setting.black.remove(event.group.id.toString())
320+
}
321+
}
322+
Setting.save();
323+
Setting.reload();
324+
event.subject.sendMessage("该群已${message}")
325+
}
304326
}

src/main/kotlin/com/hcyacg/Pixiv.kt

+23-21
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,11 @@ object Pixiv : KotlinPlugin(
5757

5858

5959
globalEventChannel().subscribeGroupMessages {
60+
6061
//测试成功
6162
val getDetailOfId: Pattern =
6263
Pattern.compile("(?i)^(${Command.getDetailOfId})([0-9]*[1-9][0-9]*)|-([0-9]*[1-9][0-9]*)\$")
63-
content { getDetailOfId.matcher(message.contentToString()).find() } quoteReply {
64+
content { getDetailOfId.matcher(message.contentToString()).find() && !Setting.black.contains(group.id.toString()) } quoteReply {
6465
PicDetails.load(
6566
this
6667
)
@@ -69,74 +70,75 @@ object Pixiv : KotlinPlugin(
6970
//测试成功
7071
val rank: Pattern =
7172
Pattern.compile("(?i)^(${Command.showRank})(daily|weekly|monthly|rookie|original|male|female|daily_r18|weekly_r18|male_r18|female_r18|r18g)-([0-9]*[1-9][0-9]*)\$")
72-
content { rank.matcher(message.contentToString()).find() } quoteReply { Rank.showRank(this) }
73+
content { rank.matcher(message.contentToString()).find() && !Setting.black.contains(group.id.toString()) } quoteReply { Rank.showRank(this) }
7374

7475
//测试成功
7576
val findUserWorksById: Pattern =
7677
Pattern.compile("(?i)^(${Command.findUserWorksById})([0-9]*[1-9][0-9]*)|-([0-9]*[1-9][0-9]*)\$")
7778
content {
78-
findUserWorksById.matcher(message.contentToString()).find()
79+
findUserWorksById.matcher(message.contentToString()).find() && !Setting.black.contains(group.id.toString())
7980
} quoteReply { UserDetails.findUserWorksById(this) }
8081
//测试成功
8182
val searchInfoByPic: Pattern = Pattern.compile("(?i)^(${Command.searchInfoByPic}).+$")
82-
content { searchInfoByPic.matcher(message.contentToString()).find() } quoteReply {
83+
content { searchInfoByPic.matcher(message.contentToString()).find() && !Setting.black.contains(group.id.toString()) } quoteReply {
8384
Trace.searchInfoByPic(
8485
this
8586
)
8687
}
8788

88-
content { message.contentToString().contains("检测") } reply { Nsfw.load(this) }
89+
content { message.contentToString().contains("检测") && !Setting.black.contains(group.id.toString()) } reply { Nsfw.load(this) }
8990

9091
val setu: Pattern = Pattern.compile("(?i)^(${Command.setu})\$")
91-
content { setu.matcher(message.contentToString()).find() } reply { SexyCenter.init(this) }
92+
content { setu.matcher(message.contentToString()).find() && !Setting.black.contains(group.id.toString()) } reply { SexyCenter.init(this) }
9293

9394
val setuTag: Pattern = Pattern.compile("(?i)^(${Command.setu})[ ]{1}[\\S]*[ ]?(r18)?\$")
94-
content { setuTag.matcher(message.contentToString()).find()} reply { SexyCenter.yandeTagSearch(this) }
95+
content { setuTag.matcher(message.contentToString()).find() && !Setting.black.contains(group.id.toString())} reply { SexyCenter.yandeTagSearch(this) }
9596

9697
//测试成功
9798
val tag: Pattern = Pattern.compile("(?i)^(${Command.tag})([\\s\\S]*)-([0-9]*[1-9][0-9]*)\$")
98-
content { tag.matcher(message.contentToString()).find() } quoteReply { Tag.init(this) }
99+
content { tag.matcher(message.contentToString()).find() && !Setting.black.contains(group.id.toString()) } quoteReply { Tag.init(this) }
99100
//测试成功
100101
val picToSearch: Pattern = Pattern.compile("(?i)^(${Command.picToSearch})(\\n){0,1}.+$")
101102
content {
102-
picToSearch.matcher(message.contentToString()).find()
103+
picToSearch.matcher(message.contentToString()).find() && !Setting.black.contains(group.id.toString())
103104
} quoteReply { SearchPicCenter.forward(this) }
104105

105106
val lolicon: Pattern = Pattern.compile("(?i)^(${Command.lolicon})( ([^ ]*)( (r18))?)?\$")
106-
content { lolicon.matcher(message.contentToString()).find() } quoteReply { LoliconCenter.load(this) }
107+
content { lolicon.matcher(message.contentToString()).find() && !Setting.black.contains(group.id.toString()) } quoteReply { LoliconCenter.load(this) }
107108

108-
content { Command.help.contentEquals(message.contentToString()) } quoteReply { Helper.load(this) }
109+
content { Command.help.contentEquals(message.contentToString()) && !Setting.black.contains(group.id.toString()) } quoteReply { Helper.load(this) }
109110

110-
content { "切换涩图开关".contentEquals(message.contentToString()) } quoteReply { Helper.setuEnable(this) }
111-
content { "切换缓存开关".contentEquals(message.contentToString()) } quoteReply { Helper.enableLocal(this) }
112-
content { "切换转发开关".contentEquals(message.contentToString()) } quoteReply { Helper.enableForward(this) }
113-
content { "切换图片转发开关".contentEquals(message.contentToString()) } quoteReply {
111+
content { "切换涩图开关".contentEquals(message.contentToString()) && !Setting.black.contains(group.id.toString()) } quoteReply { Helper.setuEnable(this) }
112+
content { "切换缓存开关".contentEquals(message.contentToString()) && !Setting.black.contains(group.id.toString()) } quoteReply { Helper.enableLocal(this) }
113+
content { "切换转发开关".contentEquals(message.contentToString()) && !Setting.black.contains(group.id.toString()) } quoteReply { Helper.enableForward(this) }
114+
content { "ban".contentEquals(message.contentToString()) or "unban".contentEquals(message.contentToString())} quoteReply { Helper.black(this) }
115+
content { "切换图片转发开关".contentEquals(message.contentToString()) && !Setting.black.contains(group.id.toString()) } quoteReply {
114116
Helper.enableImageToForward(
115117
this
116118
)
117119
}
118-
content { "切换晶格化开关".contentEquals(message.contentToString()) } quoteReply {
120+
content { "切换晶格化开关".contentEquals(message.contentToString()) && !Setting.black.contains(group.id.toString()) } quoteReply {
119121
Helper.enableLowPoly(
120122
this
121123
)
122124
}
123-
content { message.contentToString().contains("设置撤回") } quoteReply {
125+
content { message.contentToString().contains("设置撤回") && !Setting.black.contains(group.id.toString()) } quoteReply {
124126
Helper.changeRecall(
125127
this
126128
)
127129
}
128130

129131
val vip = Pattern.compile("(?i)^(购买)(月费|季度|半年|年费)会员\$")
130-
content { vip.matcher(message.contentToString()).find() } quoteReply {Vip.buy(this)}
132+
content { vip.matcher(message.contentToString()).find() && !Setting.black.contains(group.id.toString()) } quoteReply {Vip.buy(this)}
131133

132134
val enableSetu = Pattern.compile("(?i)^(关闭|开启)(pixiv|yande|lolicon|local|konachan)\$")
133-
content { enableSetu.matcher(message.contentToString()).find() } quoteReply { Helper.enableSetu(this) }
135+
content { enableSetu.matcher(message.contentToString()).find() && !Setting.black.contains(group.id.toString())} quoteReply { Helper.enableSetu(this) }
134136

135137
val enableSearch = Pattern.compile("(?i)^(关闭|开启)(ascii2d|google|saucenao|yandex|iqdb)\$")
136-
content { enableSearch.matcher(message.contentToString()).find() } quoteReply { Helper.enableSearch(this) }
138+
content { enableSearch.matcher(message.contentToString()).find() && !Setting.black.contains(group.id.toString())} quoteReply { Helper.enableSearch(this) }
137139

138140
val lowPoly = Pattern.compile("(?i)^(${Command.lowPoly}).+\$")
139-
content { lowPoly.matcher(message.contentToString()).find() } quoteReply {
141+
content { lowPoly.matcher(message.contentToString()).find() && !Setting.black.contains(group.id.toString())} quoteReply {
140142
val picUri = DataUtil.getSubString(this.message.toString().replace(" ", ""), "[mirai:image:{", "}.")!!
141143
.replace("-", "")
142144
val url = "https://gchat.qpic.cn/gchatpic_new/0/0-0-${picUri}/0?"

src/main/kotlin/com/hcyacg/initial/Setting.kt

+4
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,8 @@ object Setting : AutoSavePluginConfig("Setting") {
1616
@ValueDescription("可以使用涩图的QQ群")
1717
var groups: MutableList<String> by value()
1818

19+
@ValueName("black")
20+
@ValueDescription("黑名单群")
21+
var black: MutableList<String> by value()
22+
1923
}

src/main/kotlin/com/hcyacg/search/Trace.kt

-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ object Trace {
106106
//开始时间
107107
val formatter = SimpleDateFormat("HH:mm:ss")
108108
formatter.timeZone = TimeZone.getTimeZone("GMT+00:00")
109-
println(from.toString())
110109
val startTime = formatter.format(from.toString().split(".")[0].toLong() * 1000)
111110
val endTime = formatter.format(to.toString().split(".")[0].toLong() * 1000)
112111

0 commit comments

Comments
 (0)