diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/misc/TenSetuCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/misc/TenSetuCommand.kt index f9d3fa5..e429c00 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/misc/TenSetuCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/misc/TenSetuCommand.kt @@ -10,6 +10,7 @@ package cn.rtast.fancybot.commands.misc import cn.rtast.fancybot.entity.Setu import cn.rtast.fancybot.util.Http import cn.rtast.fancybot.util.str.encodeToBase64 +import cn.rtast.fancybot.util.str.fromArrayJson import cn.rtast.rob.entity.GroupMessage import cn.rtast.rob.segment.Node import cn.rtast.rob.util.BaseCommand @@ -23,15 +24,13 @@ class TenSetuCommand : BaseCommand() { override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List) { val nodeMsg = NodeMessageChain.Builder() - repeat(10) { - val response = Http.get("https://api.rtast.cn/api/setu") - if (!response.r18) { + val response = Http.get("https://api.rtast.cn/api/setu?size=10").fromArrayJson>() + response.forEach { + if (it.r18) { try { - val imageBase64 = URI(response.urls.large).toURL().readBytes().encodeToBase64() + val imageBase64 = URI(it.urls.large).toURL().readBytes().encodeToBase64() val tempMsg = MessageChain.Builder().addImage(imageBase64, true).build() - val tempNode = Node( - Node.Data("", message.userId.toString(), tempMsg.finalArrayMsgList) - ) + val tempNode = Node(Node.Data("", message.userId.toString(), tempMsg.finalArrayMsgList)) nodeMsg.addNode(tempNode) } catch (_: Exception) { } diff --git a/src/main/kotlin/cn/rtast/fancybot/items/SetuItem.kt b/src/main/kotlin/cn/rtast/fancybot/items/SetuItem.kt index 4ce0302..124b481 100644 --- a/src/main/kotlin/cn/rtast/fancybot/items/SetuItem.kt +++ b/src/main/kotlin/cn/rtast/fancybot/items/SetuItem.kt @@ -10,6 +10,7 @@ package cn.rtast.fancybot.items import cn.rtast.fancybot.entity.Setu import cn.rtast.fancybot.util.Http import cn.rtast.fancybot.util.item.Item +import cn.rtast.fancybot.util.str.fromArrayJson import cn.rtast.rob.entity.GroupMessage import cn.rtast.rob.util.ob.MessageChain import cn.rtast.rob.util.ob.OneBotListener @@ -19,7 +20,8 @@ class SetuItem : Item() { override val itemPrice = 80 override suspend fun redeemInGroup(listener: OneBotListener, message: GroupMessage, after: Long) { - val url = Http.get("https://api.rtast.cn/api/setu").urls.large + val url = Http.get("https://api.rtast.cn/api/setu") + .fromArrayJson>().first().urls.large val msg = MessageChain.Builder() .addAt(message.sender.userId) .addImage(url)