diff --git a/src/main/kotlin/cn/rtast/fancybot/Const.kt b/src/main/kotlin/cn/rtast/fancybot/Const.kt index 202a7b2..ac5f388 100644 --- a/src/main/kotlin/cn/rtast/fancybot/Const.kt +++ b/src/main/kotlin/cn/rtast/fancybot/Const.kt @@ -112,5 +112,5 @@ val commands = listOf( TodayEatCommand(), TodayDrinkCommand(), MCLoginCommand(), RCONCommand(), GravatarCommand(), PastebinCommand(), ShuffleEchoCommand(), TodayDontEatCommand(), TodayDontDrinkCommand(), MCBotCommand(), HTTPCatCommand(), HTTPDogCommand(), - AITTSCommand(), NWWNCommand(), TJBGXLCommand(), XNMCommand() + AITTSCommand(), NWWNCommand(), TJBGXLCommand(), XNMCommand(), SJCommand() ) \ No newline at end of file diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/misc/NWWNCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/misc/NWWNCommand.kt index d811eae..68c4850 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/misc/NWWNCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/misc/NWWNCommand.kt @@ -17,6 +17,7 @@ import cn.rtast.rob.segment.Image import cn.rtast.rob.util.BaseCommand import java.awt.Color import java.awt.Font +import java.awt.RenderingHints import javax.imageio.ImageIO @CommandDescription("那我问你") @@ -30,6 +31,7 @@ class NWWNCommand : BaseCommand() { val keyword = args.joinToString(" ") val img = ImageIO.read(originNWWNImage!!.inputStream()) val g2d = img.createGraphics() + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON) g2d.color = Color.BLACK g2d.font = font g2d.drawString(keyword, 290, 70) @@ -55,6 +57,7 @@ class TJBGXLCommand: BaseCommand() { val keyword = args.joinToString(" ") val img = ImageIO.read(originImage!!.inputStream()) val g2d = img.createGraphics() + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON) g2d.color = Color.BLACK g2d.font = font g2d.drawCenteredText(keyword, 380, 620) @@ -81,6 +84,7 @@ class XNMCommand: BaseCommand() { val keyword2 = args.last() val img = ImageIO.read(originImage!!.inputStream()) val g2d = img.createGraphics() + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON) g2d.color = Color.BLACK g2d.font = font g2d.drawCenteredText(keyword, 510, 55) @@ -93,4 +97,29 @@ class XNMCommand: BaseCommand() { message.reply("生成失败: ${e.message}") } } +} + +class SJCommand: BaseCommand() { + override val commandNames = listOf("sj") + + private val font = Font("SimSun", Font.BOLD, 20) + private val originImage = Resources.loadFromResourcesAsBytes("misc/sj.png") + + override suspend fun executeGroup(message: GroupMessage, args: List) { + try { + val keyword = args.joinToString(" ") + val img = ImageIO.read(originImage!!.inputStream()) + val g2d = img.createGraphics() + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON) + g2d.color = Color.BLACK + g2d.font = font + g2d.drawCenteredText(keyword, 126, 230) + g2d.dispose() + val imgBase64 = img.toByteArray().encodeToBase64() + val msg = Image(imgBase64, true) + message.reply(msg) + } catch (e: Exception) { + message.reply("生成失败: ${e.message}") + } + } } \ No newline at end of file diff --git a/src/main/kotlin/cn/rtast/fancybot/util/misc/Resources.kt b/src/main/kotlin/cn/rtast/fancybot/util/misc/Resources.kt index ee6aa36..8d714ab 100644 --- a/src/main/kotlin/cn/rtast/fancybot/util/misc/Resources.kt +++ b/src/main/kotlin/cn/rtast/fancybot/util/misc/Resources.kt @@ -8,6 +8,7 @@ package cn.rtast.fancybot.util.misc import java.io.InputStream +import kotlin.jvm.javaClass object Resources { fun loadFromResources(filename: String): InputStream? { diff --git a/src/main/resources/misc/sj.png b/src/main/resources/misc/sj.png new file mode 100644 index 0000000..8e42686 Binary files /dev/null and b/src/main/resources/misc/sj.png differ