feat: add gif speed up and speed down command
This commit is contained in:
3 files changed
+56
-13
No files matched your search
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Copyright © 2024 RTAkland
|
||||
* Author: RTAkland
|
||||
* Date: 2024/10/27
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.fancybot.commands.reply
|
||||
|
||||
import cn.rtast.fancybot.commands.misc.ShortLinkCommand.Companion.makeShortLink
|
||||
import cn.rtast.fancybot.commands.parse.AsciiArtCommand
|
||||
import cn.rtast.fancybot.util.misc.ImageBed
|
||||
import cn.rtast.fancybot.util.misc.makeGif
|
||||
import cn.rtast.fancybot.util.misc.toURL
|
||||
import cn.rtast.rob.entity.GetMessage
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
import com.madgag.gif.fmsware.GifDecoder
|
||||
|
||||
object SpeedUpGIFCommand {
|
||||
suspend fun speedUp(message: GroupMessage, getMsg: GetMessage.Message, multiply: Float) {
|
||||
val gifUrl = AsciiArtCommand.getImageUrl(getMsg)
|
||||
val gifStream = gifUrl.toURL().openStream()
|
||||
val decoder = GifDecoder()
|
||||
decoder.read(gifStream)
|
||||
val frames = (0 until decoder.frameCount).map { decoder.getFrame(it) }.reversed()
|
||||
val gifBase64 = decoder.makeGif(frames, multiply)
|
||||
val imgBedUrl = ImageBed.upload(gifBase64)
|
||||
val shortLink = imgBedUrl.makeShortLink()
|
||||
val msg = MessageChain.Builder().addImage(imgBedUrl).addText(shortLink).build()
|
||||
message.reply(msg)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user