feat: add failback

This commit is contained in:
2024-09-24 14:55:09 +08:00
parent 8fc6dd6443
commit 57b454e7d0
1 file changed
+12 -3
@@ -8,23 +8,32 @@
package cn.rtast.fancybot.items package cn.rtast.fancybot.items
import cn.rtast.fancybot.entity.Setu import cn.rtast.fancybot.entity.Setu
import cn.rtast.fancybot.niuziManager
import cn.rtast.fancybot.util.Http import cn.rtast.fancybot.util.Http
import cn.rtast.fancybot.util.item.Item import cn.rtast.fancybot.util.item.Item
import cn.rtast.fancybot.util.str.encodeToBase64
import cn.rtast.fancybot.util.str.fromArrayJson import cn.rtast.fancybot.util.str.fromArrayJson
import cn.rtast.rob.entity.GroupMessage import cn.rtast.rob.entity.GroupMessage
import cn.rtast.rob.util.ob.MessageChain import cn.rtast.rob.util.ob.MessageChain
import cn.rtast.rob.util.ob.OneBotListener import cn.rtast.rob.util.ob.OneBotListener
import java.net.URI
class SetuItem : Item() { class SetuItem : Item() {
override val itemNames = listOf("setu", "色图", "st") override val itemNames = listOf("setu", "色图", "st")
override val itemPrice = 10.0 override val itemPrice = 10.0
override suspend fun redeemInGroup(listener: OneBotListener, message: GroupMessage, after: Double) { override suspend fun redeemInGroup(listener: OneBotListener, message: GroupMessage, after: Double) {
val url = Http.get("https://api.rtast.cn/api/setu") val response = Http.get("https://api.rtast.cn/api/setu")
.fromArrayJson<List<Setu>>().first().urls.large .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()
val msg = MessageChain.Builder() val msg = MessageChain.Builder()
.addAt(message.sender.userId) .addAt(message.sender.userId)
.addImage(url) .addImage(imageBase64, true)
.build() .build()
listener.sendGroupMessage(message.groupId, msg) listener.sendGroupMessage(message.groupId, msg)
} }