diff --git a/mirai-demos/mirai-demo-gentleman/src/main/kotlin/demo/gentleman/GentleImage.kt b/mirai-demos/mirai-demo-gentleman/src/main/kotlin/demo/gentleman/GentleImage.kt deleted file mode 100644 index f152ebb88..000000000 --- a/mirai-demos/mirai-demo-gentleman/src/main/kotlin/demo/gentleman/GentleImage.kt +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2020 Mamoe Technologies and contributors. - * - * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证. - * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link. - * - * https://github.com/mamoe/mirai/blob/master/LICENSE - */ - -@file:Suppress("EXPERIMENTAL_API_USAGE") - -package demo.gentleman - -import kotlinx.coroutines.* -import kotlinx.serialization.Serializable -import kotlinx.serialization.json.Json -import net.mamoe.mirai.contact.Contact -import net.mamoe.mirai.message.data.Image -import net.mamoe.mirai.message.uploadAsImage -import org.jsoup.Jsoup - -class GentleImage(val contact: Contact, val keyword: String) { - - val image: Deferred by lazy { getImage(0) } - - val seImage: Deferred by lazy { getImage(1) } - - fun getImage(r18: Int): Deferred { - return GlobalScope.async { - withTimeoutOrNull(20 * 1000) { - withContext(Dispatchers.IO) { - - @Serializable - data class Setu( - val url: String, - val pid: String - ) - - @Serializable - data class Result( - val data: List - ) - - val result = - Json.nonstrict.parse( - Result.serializer(), - Jsoup.connect("https://api.lolicon.app/setu/?r18=$r18" + if (keyword.isNotBlank()) "&keyword=$keyword&num=10" else "") - .ignoreContentType(true) - .userAgent(UserAgent.randomUserAgent) - // .proxy("127.0.0.1", 1088) - .timeout(10_0000) - .get().body().text() - ) - - val setu = result.data.random() - Jsoup - .connect(setu.url) - .followRedirects(true) - .timeout(180_000) - .ignoreContentType(true) - .userAgent("Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; ja-jp) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27") - .referrer("https://www.pixiv.net/member_illust.php?mode=medium&illust_id=${setu.pid}") - // .proxy("127.0.0.1", 1088) - .ignoreHttpErrors(true) - .maxBodySize(10000000) - .execute().also { check(it.statusCode() == 200) { "Failed to download image" } } - } - }?.bodyStream()?.uploadAsImage(contact) ?: error("Unable to download image") - } - } -} -