chore: move ten setu to redeem list

This commit is contained in:
2024-09-28 20:53:49 +08:00
parent 042cef3340
commit e2b6ffff38
5 files changed
+25 -23

No files matched your search

@@ -16,7 +16,7 @@ import cn.rtast.rob.util.ob.OneBotListener
class BaisiItem : Item() {
override val itemNames = listOf("baisi", "白丝", "bs")
override val itemPrice = 5.0
override val itemPrice = 3.0
override suspend fun redeemInGroup(
listener: OneBotListener,
@@ -16,7 +16,7 @@ import cn.rtast.rob.util.ob.OneBotListener
class HeisiItem : Item() {
override val itemNames = listOf("heisi", "黑丝", "hs")
override val itemPrice = 5.0
override val itemPrice = 3.0
override suspend fun redeemInGroup(
listener: OneBotListener,
@@ -20,7 +20,7 @@ import java.net.URI
class SetuItem : Item() {
override val itemNames = listOf("setu", "色图", "st")
override val itemPrice = 10.0
override val itemPrice = 4.0
override suspend fun redeemInGroup(
listener: OneBotListener,
@@ -0,0 +1,50 @@
/*
* Copyright © 2024 RTAkland
* Author: RTAkland
* Date: 2024/9/28
*/
package cn.rtast.fancybot.items
import cn.rtast.fancybot.configManager
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.encodeToBase64
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
import cn.rtast.rob.util.ob.asNode
import java.net.URI
class TenSetuItem : Item() {
override val itemNames = listOf("十张色图")
override val itemPrice = 20.0
override suspend fun redeemInGroup(
listener: OneBotListener,
message: GroupMessage,
after: Double
): MessageChain.Builder {
val imageMessages = mutableListOf<MessageChain>()
val response = Http.get("https://api.rtast.cn/api/setu?size=10").fromArrayJson<List<Setu>>()
response.filter { !it.r18 }.map { it.urls.large }.forEach {
try {
val imageBase64 = URI(it).toURL().readBytes().encodeToBase64()
val tempMsg = MessageChain.Builder().addImage(imageBase64, true).build()
imageMessages.add(tempMsg)
} catch (_: Exception) {
}
}
val footerMsg = MessageChain.Builder()
.addText("图片数量可能不足10张~")
.addNewLine()
.addText("因为过滤了R18的图片~")
.build()
imageMessages.add(footerMsg)
message.reply(imageMessages.asNode(configManager.selfId))
return MessageChain.Builder()
}
}