Skip to content

Commit fcac466

Browse files
committed
add lowPoly image
1 parent 8b99aae commit fcac466

File tree

3 files changed

+39
-3
lines changed

3 files changed

+39
-3
lines changed

build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ plugins {
1313
}
1414

1515
group = "com.hcyacg"
16-
version = "1.7.3"
16+
version = "1.7.4-future"
1717

1818
repositories {
1919
// mavenLocal()

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

+34-2
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,35 @@ import com.hcyacg.initial.Command
66
import com.hcyacg.initial.Config
77
import com.hcyacg.initial.Github
88
import com.hcyacg.initial.Setting
9+
import com.hcyacg.lowpoly.LowPoly
910
import com.hcyacg.rank.Rank
1011
import com.hcyacg.rank.Tag
1112
import com.hcyacg.search.SearchPicCenter
1213
import com.hcyacg.search.Trace
1314
import com.hcyacg.sexy.LoliconCenter
1415
import com.hcyacg.sexy.SexyCenter
16+
import com.hcyacg.utils.CacheUtil
17+
import com.hcyacg.utils.DataUtil
18+
import com.hcyacg.utils.ImageUtil
19+
import kotlinx.coroutines.Dispatchers
20+
import kotlinx.coroutines.withContext
1521
import net.mamoe.mirai.console.plugin.jvm.JvmPluginDescription
1622
import net.mamoe.mirai.console.plugin.jvm.KotlinPlugin
23+
import net.mamoe.mirai.contact.Contact.Companion.sendImage
1724
import net.mamoe.mirai.event.events.BotLeaveEvent
1825
import net.mamoe.mirai.event.globalEventChannel
1926
import net.mamoe.mirai.event.subscribeGroupMessages
27+
import net.mamoe.mirai.message.data.Image
28+
import net.mamoe.mirai.utils.ExternalResource.Companion.toExternalResource
29+
import net.mamoe.mirai.utils.ExternalResource.Companion.uploadAsImage
30+
import java.io.ByteArrayInputStream
2031
import java.util.regex.Pattern
2132

2233
object Pixiv : KotlinPlugin(
2334
JvmPluginDescription(
2435
id = "com.hcyacg.pixiv",
2536
name = "pixiv插画",
26-
version = "1.7.2-fix",
37+
version = "1.7.4-future",
2738
) {
2839
author("Nekoer")
2940
info("""pixiv插画""")
@@ -126,7 +137,28 @@ object Pixiv : KotlinPlugin(
126137
val enableSearch = Pattern.compile("(?i)^(关闭|开启)(ascii2d|google|saucenao|yandex|iqdb)\$")
127138
content { enableSearch.matcher(message.contentToString()).find() } quoteReply { Helper.enableSearch(this) }
128139

129-
140+
val lowPoly = Pattern.compile("(?i)^(${Command.lowPoly}).+\$")
141+
content { lowPoly.matcher(message.contentToString()).find() } quoteReply {
142+
val picUri = DataUtil.getSubString(this.message.toString().replace(" ", ""), "[mirai:image:{", "}.")!!
143+
.replace("-", "")
144+
val url = "https://gchat.qpic.cn/gchatpic_new/0/0-0-${picUri}/0?"
145+
val byte = ImageUtil.getImage(url, CacheUtil.Type.NONSUPPORT).toByteArray()
146+
val toExternalResource = LowPoly.generate(
147+
ByteArrayInputStream(byte),
148+
200,
149+
1F,
150+
true,
151+
"png",
152+
false,
153+
200
154+
).toByteArray().toExternalResource()
155+
156+
157+
withContext(Dispatchers.IO){
158+
subject.sendImage(toExternalResource)
159+
}
160+
toExternalResource.close()
161+
}
130162
// content { "test".contentEquals(message.contentToString()) } quoteReply {PicDetails.getUgoira()}
131163

132164
// val coloring: Pattern = Pattern.compile("(?i)^(上色)$")

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

+4
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,8 @@ object Command: AutoSavePluginConfig("Command") {
4444
@ValueName("help")
4545
@ValueDescription("帮助")
4646
var help: String by value("帮助")
47+
48+
@ValueName("晶格化")
49+
@ValueDescription("晶格化命令")
50+
var lowPoly: String by value("帮助")
4751
}

0 commit comments

Comments
 (0)