feat: add failback
This commit is contained in:
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)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user