Files
FancyBot/src/main/kotlin/cn/rtast/fancybot/items/SetuItem.kt
T

40 lines
1.3 KiB
Kotlin
Raw Normal View History

2024-09-03 14:37:00 +08:00
/*
* Copyright © 2024 RTAkland
* Author: RTAkland
* Date: 2024/9/3
*/
package cn.rtast.fancybot.items
import cn.rtast.fancybot.entity.Setu
2024-09-24 14:55:09 +08:00
import cn.rtast.fancybot.niuziManager
2024-09-03 14:37:00 +08:00
import cn.rtast.fancybot.util.Http
import cn.rtast.fancybot.util.item.Item
2024-09-24 14:55:09 +08:00
import cn.rtast.fancybot.util.str.encodeToBase64
2024-09-24 10:42:59 +08:00
import cn.rtast.fancybot.util.str.fromArrayJson
2024-09-03 14:37:00 +08:00
import cn.rtast.rob.entity.GroupMessage
import cn.rtast.rob.util.ob.MessageChain
import cn.rtast.rob.util.ob.OneBotListener
2024-09-24 14:55:09 +08:00
import java.net.URI
2024-09-03 14:37:00 +08:00
2024-09-03 16:41:06 +08:00
class SetuItem : Item() {
2024-09-03 14:37:00 +08:00
override val itemNames = listOf("setu", "色图", "st")
2024-09-24 14:46:06 +08:00
override val itemPrice = 10.0
2024-09-03 14:37:00 +08:00
2024-09-24 14:46:06 +08:00
override suspend fun redeemInGroup(listener: OneBotListener, message: GroupMessage, after: Double) {
2024-09-24 14:55:09 +08:00
val response = Http.get("https://api.rtast.cn/api/setu")
.fromArrayJson<List<Setu>>().first()
if (response.r18) {
niuziManager.updateLength(message.sender.userId, itemPrice)
message.reply("不好意思这张图片是R18所以不能发~, 牛子长度已经退还~")
return
}
val imageBase64 = URI(response.urls.large).toURL().readBytes().encodeToBase64()
2024-09-03 14:37:00 +08:00
val msg = MessageChain.Builder()
.addAt(message.sender.userId)
2024-09-24 14:55:09 +08:00
.addImage(imageBase64, true)
2024-09-03 14:37:00 +08:00
.build()
listener.sendGroupMessage(message.groupId, msg)
}
}