feat: add get avatar command
This commit is contained in:
3 files changed
+37
-4
No files matched your search
@@ -26,12 +26,14 @@ import java.net.URI
|
||||
class JueCommand : BaseCommand() {
|
||||
override val commandNames = listOf("撅")
|
||||
|
||||
private val avatarUrl = "https://q1.qlogo.cn/g?b=qq&nk=#{}&s=640"
|
||||
companion object {
|
||||
const val AVATAR_REPLACE_URL = "https://q1.qlogo.cn/g?b=qq&nk=#{}&s=640"
|
||||
}
|
||||
|
||||
private fun createJueGIF(source: String, target: String): String {
|
||||
val baseGIF = Resources.loadFromResources("misc/jue.gif")
|
||||
val sourceAvatar = URI(avatarUrl.replace("#{}", source)).toURL().readBytes().toBufferedImage()
|
||||
val targetAvatar = URI(avatarUrl.replace("#{}", target)).toURL().readBytes().toBufferedImage()
|
||||
val sourceAvatar = URI(AVATAR_REPLACE_URL.replace("#{}", source)).toURL().readBytes().toBufferedImage()
|
||||
val targetAvatar = URI(AVATAR_REPLACE_URL.replace("#{}", target)).toURL().readBytes().toBufferedImage()
|
||||
val decoder = GifDecoder()
|
||||
decoder.read(baseGIF)
|
||||
val frames = mutableListOf<BufferedImage>()
|
||||
|
||||
@@ -12,6 +12,7 @@ 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.fancybot.util.str.encodeToBase64
|
||||
import cn.rtast.rob.entity.GetMessage
|
||||
import cn.rtast.rob.entity.GroupMessage
|
||||
import cn.rtast.rob.util.ob.MessageChain
|
||||
@@ -27,7 +28,10 @@ object SpeedUpGIFCommand {
|
||||
val gifBase64 = decoder.makeGif(frames, multiply)
|
||||
val imgBedUrl = ImageBed.upload(gifBase64)
|
||||
val shortLink = imgBedUrl.makeShortLink()
|
||||
val msg = MessageChain.Builder().addImage(imgBedUrl).addText(shortLink).build()
|
||||
val msg = MessageChain.Builder()
|
||||
.addImage(gifBase64.encodeToBase64(), true)
|
||||
.addText(shortLink)
|
||||
.build()
|
||||
message.reply(msg)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user