From 2115f3d63a931c6d8ac1b7b97cc4a0d0f2f78921 Mon Sep 17 00:00:00 2001 From: RTAkland Date: Fri, 25 Oct 2024 14:25:43 +0800 Subject: [PATCH] fix: fix music command not work and bump ronebot version --- gradle/libs.versions.toml | 2 +- src/main/kotlin/cn/rtast/fancybot/Const.kt | 9 +---- src/main/kotlin/cn/rtast/fancybot/FancyBot.kt | 39 ++++++++++--------- .../fancybot/commands/lookup/AICommand.kt | 5 +-- .../commands/lookup/AnimeSearchCommand.kt | 3 +- .../fancybot/commands/lookup/MusicCommand.kt | 4 +- .../fancybot/commands/lookup/ShotCommand.kt | 7 ++-- .../commands/misc/AntiRevokeCommand.kt | 5 +-- .../fancybot/commands/misc/SendLikeCommand.kt | 3 +- .../fancybot/commands/misc/ZiBiCommand.kt | 3 +- .../commands/niuzi/NiuziBankCommand.kt | 9 ++--- .../commands/niuzi/NiuziManagerCommand.kt | 4 +- .../commands/niuzi/NiuziSignCommand.kt | 2 +- .../commands/parse/AsciiArtCommand.kt | 5 ++- .../commands/parse/ImageURLCommand.kt | 4 +- .../commands/parse/ReverseGIFCommand.kt | 2 +- .../commands/reply/ImageBedCommand.kt | 2 +- .../cn/rtast/fancybot/enums/ImageBedType.kt | 2 +- .../cn/rtast/fancybot/util/misc/ImageBed.kt | 6 +-- .../cn/rtast/fancybot/util/misc/Misc.kt | 11 ++++-- 20 files changed, 60 insertions(+), 67 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1b14dce..631c5c6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] kotlinVersion = "2.0.20" -ronebotVersion = "2.0.5" +ronebotVersion = "2.1.2" shadowVersion = "8.3.0" okhttpVersion = "5.0.0-alpha.14" exposedVersion = "0.53.0" diff --git a/src/main/kotlin/cn/rtast/fancybot/Const.kt b/src/main/kotlin/cn/rtast/fancybot/Const.kt index fa80adb..402bb5e 100644 --- a/src/main/kotlin/cn/rtast/fancybot/Const.kt +++ b/src/main/kotlin/cn/rtast/fancybot/Const.kt @@ -34,6 +34,7 @@ import cn.rtast.fancybot.util.file.NiuziBankManager import cn.rtast.fancybot.util.file.NiuziManager import cn.rtast.fancybot.util.file.RCONManager import cn.rtast.fancybot.util.item.ItemManager +import cn.rtast.rob.util.ob.OneBotAction import com.google.gson.Gson import com.google.gson.GsonBuilder import java.time.Instant @@ -111,14 +112,6 @@ val items = listOf( TenSetuItem(), TenSetuR18Item() ) -val tasks = mapOf( - 10000000L to suspend { - configManager.admins.forEach { - instance.action.sendLike(it, 1) - } - } -) - val commands = listOf( EchoCommand(), JrrpCommand(), NiuziRedeemCommand(), HitokotoCommand(), KFCCommand(), GenerateQRCodeCommand(), AntiRevokeCommand(), MCPingCommand(), diff --git a/src/main/kotlin/cn/rtast/fancybot/FancyBot.kt b/src/main/kotlin/cn/rtast/fancybot/FancyBot.kt index 334e64d..5a7c78e 100644 --- a/src/main/kotlin/cn/rtast/fancybot/FancyBot.kt +++ b/src/main/kotlin/cn/rtast/fancybot/FancyBot.kt @@ -30,6 +30,7 @@ import cn.rtast.rob.entity.lagrange.PokeEvent import cn.rtast.rob.enums.ArrayMessageType import cn.rtast.rob.enums.QQFace import cn.rtast.rob.util.ob.MessageChain +import cn.rtast.rob.util.ob.OneBotAction import cn.rtast.rob.util.ob.OneBotListener import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -43,8 +44,8 @@ class FancyBot : OneBotListener { private val logger = Logger.getLogger() private val coroutineScope = CoroutineScope(Dispatchers.IO) - override suspend fun onWebsocketOpenEvent() { - instance.action.sendPrivateMessage(configManager.noticeUser, "FancyBot启动完成~") + override suspend fun onWebsocketOpenEvent(action: OneBotAction) { + action.sendPrivateMessage(configManager.noticeUser, "FancyBot启动完成~") } override suspend fun onGroupMessage(message: GroupMessage, json: String) { @@ -142,10 +143,10 @@ class FancyBot : OneBotListener { .addNewLine() .addText("使用/revoke ${message.messageId} 来获取被撤回的消息") .build() - instance.action.sendGroupMessage(message.groupId, msg) + message.action.sendGroupMessage(message.groupId, msg) } - override suspend fun onWebsocketErrorEvent(ex: Exception) { + override suspend fun onWebsocketErrorEvent(action: OneBotAction, ex: Exception) { ex.printStackTrace() } @@ -174,33 +175,33 @@ class FancyBot : OneBotListener { .addAt(event.userId) .addText("你${event.action.first()}牛魔呢") .build() - instance.action.sendGroupMessage(event.groupId!!, msg) + event.onebotAction.sendGroupMessage(event.groupId!!, msg) } } override suspend fun onBeKicked(event: BeKickEvent) { blackListManager.insertGroup(event.groupId, event.operator, event.time) - instance.action.sendPrivateMessage( + event.action.sendPrivateMessage( configManager.noticeUser, "被: ${event.groupId}踢出! 操作人: ${event.operator} 时间: ${event.time.convertToDate()} 已将其拉入黑名单!" ) } } -val fancyBot = FancyBot() -val workType = configManager.wsType -val accessToken = configManager.accessToken -val instance = if (workType == WSType.Client) { - val address = configManager.wsAddress - ROneBotFactory.createClient(address, accessToken, fancyBot) - .also { it.addListeningGroups(*configManager.listeningGroups.toLongArray()) } -} else { - val port = configManager.wsPort - ROneBotFactory.createServer(port, accessToken, fancyBot) - .also { it.addListeningGroups(*configManager.listeningGroups.toLongArray()) } -} - suspend fun main() { + val fancyBot = FancyBot() + val workType = configManager.wsType + val accessToken = configManager.accessToken + val instance = if (workType == WSType.Client) { + val address = configManager.wsAddress + ROneBotFactory.createClient(address, accessToken, fancyBot) + .also { it.addListeningGroups(*configManager.listeningGroups.toLongArray()) } + } else { + val port = configManager.wsPort + ROneBotFactory.createServer(port, accessToken, fancyBot) + .also { it.addListeningGroups(*configManager.listeningGroups.toLongArray()) } + } + initDatabase() initFilesDir() initCommand() diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/lookup/AICommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/lookup/AICommand.kt index b8c0383..dbe0ca8 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/lookup/AICommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/lookup/AICommand.kt @@ -14,7 +14,6 @@ import cn.rtast.fancybot.entity.gpt.ChatCompletionsResponse import cn.rtast.fancybot.entity.gpt.LlamaResponse import cn.rtast.fancybot.entity.gpt.ModelList import cn.rtast.fancybot.enums.CommandAction -import cn.rtast.fancybot.instance import cn.rtast.fancybot.util.Http import cn.rtast.fancybot.util.file.insertActionRecord import cn.rtast.fancybot.util.str.toJson @@ -70,7 +69,7 @@ class AICommand : BaseCommand() { .addText(response.choices.first().message.content) .build() nodeMsg.addMessageChain(msg, configManager.selfId) - instance.action.sendGroupForwardMsg(message.groupId, nodeMsg.build()) + message.action.sendGroupForwardMsg(message.groupId, nodeMsg.build()) insertActionRecord(CommandAction.AI, message.sender.userId, "$content-$model-GPT") } } @@ -97,7 +96,7 @@ class LlamaCommand : BaseCommand() { .addText(response.message.content) .build() nodeMsg.addMessageChain(msg, configManager.selfId) - instance.action.sendGroupForwardMsg(message.groupId, nodeMsg.build()) + message.action.sendGroupForwardMsg(message.groupId, nodeMsg.build()) insertActionRecord(CommandAction.AI, message.sender.userId, "$prompt-LLAMA") } } \ No newline at end of file diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/lookup/AnimeSearchCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/lookup/AnimeSearchCommand.kt index e65940d..d5bc523 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/lookup/AnimeSearchCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/lookup/AnimeSearchCommand.kt @@ -10,7 +10,6 @@ package cn.rtast.fancybot.commands.lookup import cn.rtast.fancybot.annotations.CommandDescription import cn.rtast.fancybot.configManager import cn.rtast.fancybot.entity.bgm.BGMSearch -import cn.rtast.fancybot.instance import cn.rtast.fancybot.util.Http import cn.rtast.fancybot.util.str.encodeToBase64 import cn.rtast.rob.entity.GroupMessage @@ -59,7 +58,7 @@ class AnimeSearchCommand : BaseCommand() { } val footerNode = MessageChain.Builder().addText("数据来源: Bangumi").build() nodeMsg.addMessageChain(footerNode, configManager.selfId) - instance.action.sendGroupForwardMsg(message.groupId, nodeMsg.build()) + message.action.sendGroupForwardMsg(message.groupId, nodeMsg.build()) } catch (_: Exception) { message.reply("没有搜索到结果呢~") } diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/lookup/MusicCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/lookup/MusicCommand.kt index 38ed459..d6fdb40 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/lookup/MusicCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/lookup/MusicCommand.kt @@ -114,7 +114,7 @@ class MusicCommand : BaseCommand() { val msg = MessageChain.Builder() .addMusicShare(MusicShareType.Netease, result.toString()) .build() - message.reply(msg) + message.action.sendGroupMessage(message.groupId, msg) } } @@ -162,6 +162,6 @@ class QQMusicCommand : BaseCommand() { mapOf("key" to keyword) ).response.data.song.list.first().songId val msg = MessageChain.Builder().addMusicShare(MusicShareType.QQ, response.toString()).build() - message.reply(msg) + message.action.sendGroupMessage(message.groupId, msg) } } diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/lookup/ShotCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/lookup/ShotCommand.kt index 870dec4..ec5d532 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/lookup/ShotCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/lookup/ShotCommand.kt @@ -8,7 +8,6 @@ package cn.rtast.fancybot.commands.lookup import cn.rtast.fancybot.annotations.CommandDescription -import cn.rtast.fancybot.instance import cn.rtast.rob.entity.GroupMessage import cn.rtast.rob.enums.ArrayMessageType import cn.rtast.rob.util.BaseCommand @@ -31,7 +30,7 @@ class ShotSelfCommand : BaseCommand() { override val commandNames = listOf("骂我") override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List) { - instance.action.sendGroupForwardMsg(message.groupId, generateNodeMessage(message.sender.userId.toString())) + message.action.sendGroupForwardMsg(message.groupId, generateNodeMessage(message.sender.userId.toString())) } } @@ -41,7 +40,7 @@ class ShotOtherCommand : BaseCommand() { override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List) { if (args.isEmpty()) { - instance.action.sendGroupForwardMsg( + message.action.sendGroupForwardMsg( message.groupId, generateNodeMessage(message.sender.userId.toString(), 20) ) return @@ -49,6 +48,6 @@ class ShotOtherCommand : BaseCommand() { var times = if (args.size == 1) 10 else if (args.last() == "") 10 else args.last().toInt() if (times >= 200) times = 10 val target = message.message.find { it.type == ArrayMessageType.at }?.data!! - instance.action.sendGroupForwardMsg(message.groupId, generateNodeMessage(target.qq!!, times)) + message.action.sendGroupForwardMsg(message.groupId, generateNodeMessage(target.qq!!, times)) } } \ No newline at end of file diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/misc/AntiRevokeCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/misc/AntiRevokeCommand.kt index 071dbf6..fc6ad1b 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/misc/AntiRevokeCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/misc/AntiRevokeCommand.kt @@ -9,7 +9,6 @@ package cn.rtast.fancybot.commands.misc import cn.rtast.fancybot.annotations.CommandDescription import cn.rtast.fancybot.enums.CommandAction -import cn.rtast.fancybot.instance import cn.rtast.fancybot.util.file.insertActionRecord import cn.rtast.rob.entity.ArrayMessage import cn.rtast.rob.entity.GroupMessage @@ -24,12 +23,12 @@ class AntiRevokeCommand : BaseCommand() { override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List) { if (message.sender.isAdmin || message.sender.isOwner) { val messageId = args.first().toLong() - val getMsg = instance.action.getMessage(messageId) + val getMsg = message.action.getMessage(messageId) val msgList = mutableListOf() msgList.add(ArrayMessage(ArrayMessageType.at, ArrayMessage.Data(qq = message.sender.userId.toString()))) msgList.add(ArrayMessage(ArrayMessageType.text, ArrayMessage.Data(text = "\n被撤回的消息如下: \n"))) msgList.addAll(getMsg.message) - instance.action.sendGroupMessage(message.groupId, msgList) + message.action.sendGroupMessage(message.groupId, msgList) insertActionRecord(CommandAction.AntiRevoke, message.sender.userId, getMsg.messageId.toString()) } else { message.reply("你不许用防撤回") diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/misc/SendLikeCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/misc/SendLikeCommand.kt index 6f4440e..a59dd70 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/misc/SendLikeCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/misc/SendLikeCommand.kt @@ -8,7 +8,6 @@ package cn.rtast.fancybot.commands.misc import cn.rtast.fancybot.annotations.CommandDescription -import cn.rtast.fancybot.instance import cn.rtast.rob.entity.GroupMessage import cn.rtast.rob.util.BaseCommand import cn.rtast.rob.util.ob.MessageChain @@ -19,7 +18,7 @@ class SendLikeCommand : BaseCommand() { override val commandNames = listOf("赞我") override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List) { - instance.action.sendLike(message.sender.userId, 10) + message.action.sendLike(message.sender.userId, 10) val msg = MessageChain.Builder() .addReply(message.messageId) .addText("👍了你十下~~😁") diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/misc/ZiBiCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/misc/ZiBiCommand.kt index 8dd709d..e630570 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/misc/ZiBiCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/misc/ZiBiCommand.kt @@ -8,7 +8,6 @@ package cn.rtast.fancybot.commands.misc import cn.rtast.fancybot.annotations.CommandDescription -import cn.rtast.fancybot.instance import cn.rtast.rob.entity.GroupMessage import cn.rtast.rob.entity.PrivateMessage import cn.rtast.rob.util.BaseCommand @@ -56,7 +55,7 @@ class UnsetZiBiCommand : BaseCommand() { message.reply(msg) return } - instance.action.setGroupBan(users.getValue(message.sender.userId), message.sender.userId, 0) + message.action.setGroupBan(users.getValue(message.sender.userId), message.sender.userId, 0) val msg = MessageChain.Builder() .addText("祝你天天开心不要自闭~~") .build() diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/niuzi/NiuziBankCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/niuzi/NiuziBankCommand.kt index 54c94bd..e58f980 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/niuzi/NiuziBankCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/niuzi/NiuziBankCommand.kt @@ -9,7 +9,6 @@ package cn.rtast.fancybot.commands.niuzi import cn.rtast.fancybot.annotations.CommandDescription import cn.rtast.fancybot.commands -import cn.rtast.fancybot.instance import cn.rtast.fancybot.niuziBankManager import cn.rtast.fancybot.niuziManager import cn.rtast.fancybot.util.misc.getUserName @@ -69,7 +68,7 @@ class CreateBankAccountCommand : BaseCommand() { message.reply("你已经有账户了!") return } - val userInfo = instance.action.getGroupMemberInfo(message.groupId, message.sender.userId) + val userInfo = message.action.getGroupMemberInfo(message.groupId, message.sender.userId) niuziBankManager.createBlankAccount(message.sender.userId, userInfo.card ?: userInfo.nickname) message.reply("成功创建了一个账户!") } @@ -95,7 +94,7 @@ class BankTransferCommand : BaseCommand() { message.reply("你的牛子长度不够转账!") return } - val username = listener.getUserName(message.groupId, message.sender.userId) + val username = listener.getUserName(message.action, message.groupId, message.sender.userId) val result = niuziBankManager.transfer(message.sender.userId, target, amount, username) message.reply("转账成功! 你在银行内剩余的牛子长度为: ${result?.balance}") } @@ -125,7 +124,7 @@ class WithdrawCommand : BaseCommand() { message.reply("取出的长度必须大于0!") return } - val username = listener.getUserName(message.groupId, message.sender.userId) + val username = listener.getUserName(message.action, message.groupId, message.sender.userId) val result = niuziBankManager.withdraw(message.sender.userId, amount, username) niuziManager.updateLength(message.sender.userId, amount + amount * INTEREST_RATE) message.reply("取牛子成功, 你现在还剩${result.balance}cm的牛子在银行内") @@ -156,7 +155,7 @@ class DepositCommand : BaseCommand() { message.reply("你身上的牛子不够用啦, 没办法存进银行! >>> ${niuzi.length}") return } - val username = listener.getUserName(message.groupId, message.sender.userId) + val username = listener.getUserName(message.action, message.groupId, message.sender.userId) val self = niuziManager.updateLength(message.sender.userId, -amount) val result = niuziBankManager.deposit(message.sender.userId, amount, username) message.reply("存入成功你身上的牛子还有${self?.length}cm 银行账户内还有: ${result.balance}cm") diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/niuzi/NiuziManagerCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/niuzi/NiuziManagerCommand.kt index 23f7ea4..f84cb06 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/niuzi/NiuziManagerCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/niuzi/NiuziManagerCommand.kt @@ -36,7 +36,9 @@ class NiuziManagerCommand : BaseCommand() { when (type) { "yh", "银行" -> { val before = niuziBankManager.getUser(target) - niuziBankManager.deposit(target, amount, listener.getUserName(message.groupId, target)) + niuziBankManager.deposit( + target, amount, listener.getUserName(message.action, message.groupId, target) + ) val after = niuziBankManager.getUser(target) val msg = MessageChain.Builder() .addText("设置成功! 金额: $amount") diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/niuzi/NiuziSignCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/niuzi/NiuziSignCommand.kt index f271200..15dfc6d 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/niuzi/NiuziSignCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/niuzi/NiuziSignCommand.kt @@ -24,7 +24,7 @@ class NiuziSignCommand : BaseCommand() { message.reply("你今天已经对你的牛子使用了签到啦,明天再来吧~") return } - val username = listener.getUserName(message.groupId, message.sender.userId) + val username = listener.getUserName(message.action, message.groupId, message.sender.userId) val afterStatus = niuziManager.sign(message.sender.userId, username) val msg = MessageChain.Builder() .addReply(message.messageId) diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/parse/AsciiArtCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/parse/AsciiArtCommand.kt index 74a2490..3b9a30c 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/parse/AsciiArtCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/parse/AsciiArtCommand.kt @@ -41,6 +41,7 @@ class AsciiArtCommand : BaseCommand() { private val font = Font("Monospaced", Font.PLAIN, FONT_SIZE) private val logger = Logger.getLogger() val waitingList = mutableListOf() + private lateinit var imageBed: ImageBed private fun BufferedImage.convertToAscii(): String { val width = this.width @@ -157,7 +158,7 @@ class AsciiArtCommand : BaseCommand() { return getImageUrlFromUnified(toUnifiedMessage(groupMessage)) } - fun getImageUrl(getMessageData: GetMessage.Data): String { + fun getImageUrl(getMessageData: GetMessage.Message): String { return getImageUrlFromUnified(toUnifiedMessage(getMessageData)) } @@ -171,7 +172,7 @@ class AsciiArtCommand : BaseCommand() { return groupMessage.message.map { UnifiedMessage(it.type, it.data.file, it.data.url) } } - private fun toUnifiedMessage(getMessageData: GetMessage.Data): List { + private fun toUnifiedMessage(getMessageData: GetMessage.Message): List { return getMessageData.message.map { UnifiedMessage(it.type, it.data.file, it.data.url) } } diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/parse/ImageURLCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/parse/ImageURLCommand.kt index 0bf8899..0c9e839 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/parse/ImageURLCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/parse/ImageURLCommand.kt @@ -17,7 +17,7 @@ import cn.rtast.rob.util.ob.asNode object ImageURLCommand { - fun getImageUrl(message: GetMessage.Data): List { + fun getImageUrl(message: GetMessage.Message): List { try { val images = mutableListOf() message.message.forEach { @@ -30,7 +30,7 @@ object ImageURLCommand { } } - suspend fun callback(groupMessage: GroupMessage, message: GetMessage.Data) { + suspend fun callback(groupMessage: GroupMessage, message: GetMessage.Message) { val images = getImageUrl(message) if (images.isEmpty()) { groupMessage.reply("这个消息里没有图片呢!") diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/parse/ReverseGIFCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/parse/ReverseGIFCommand.kt index fc5330f..726212f 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/parse/ReverseGIFCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/parse/ReverseGIFCommand.kt @@ -35,7 +35,7 @@ class ReverseGIFCommand : BaseCommand() { return gifBytes.encodeToBase64() } - suspend fun reverse(message: GroupMessage, getMsg: GetMessage.Data) { + suspend fun reverse(message: GroupMessage, getMsg: GetMessage.Message) { val imageObject = getMsg.message.find { it.type == ArrayMessageType.image } if (imageObject == null) { message.reply("这个消息中没有图片呢") diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/reply/ImageBedCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/reply/ImageBedCommand.kt index a3f19b5..42dd2e6 100644 --- a/src/main/kotlin/cn/rtast/fancybot/commands/reply/ImageBedCommand.kt +++ b/src/main/kotlin/cn/rtast/fancybot/commands/reply/ImageBedCommand.kt @@ -20,7 +20,7 @@ import cn.rtast.rob.util.ob.asNode import okio.IOException object ImageBedCommand { - suspend fun execute(getMsg: GetMessage.Data, message: GroupMessage) { + suspend fun execute(getMsg: GetMessage.Message, message: GroupMessage) { val imagesUrl = ImageURLCommand.getImageUrl(getMsg) if (imagesUrl.isEmpty()) { message.reply("这个消息里没有图片呢!") diff --git a/src/main/kotlin/cn/rtast/fancybot/enums/ImageBedType.kt b/src/main/kotlin/cn/rtast/fancybot/enums/ImageBedType.kt index 34f1935..c793c64 100644 --- a/src/main/kotlin/cn/rtast/fancybot/enums/ImageBedType.kt +++ b/src/main/kotlin/cn/rtast/fancybot/enums/ImageBedType.kt @@ -8,5 +8,5 @@ package cn.rtast.fancybot.enums enum class ImageBedType { - Github, CloudflareR2, QQ + Github, CloudflareR2 } \ No newline at end of file diff --git a/src/main/kotlin/cn/rtast/fancybot/util/misc/ImageBed.kt b/src/main/kotlin/cn/rtast/fancybot/util/misc/ImageBed.kt index 4d9fb2d..37ece51 100644 --- a/src/main/kotlin/cn/rtast/fancybot/util/misc/ImageBed.kt +++ b/src/main/kotlin/cn/rtast/fancybot/util/misc/ImageBed.kt @@ -11,11 +11,11 @@ import cn.rtast.fancybot.configManager import cn.rtast.fancybot.entity.github.UploadContentPayload import cn.rtast.fancybot.entity.github.UploadContentResponse import cn.rtast.fancybot.enums.ImageBedType -import cn.rtast.fancybot.instance import cn.rtast.fancybot.util.Http import cn.rtast.fancybot.util.str.encodeToBase64 import cn.rtast.fancybot.util.str.proxy import cn.rtast.fancybot.util.str.toJson +import cn.rtast.rob.util.ob.OneBotAction import software.amazon.awssdk.auth.credentials.AwsBasicCredentials import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider import software.amazon.awssdk.core.sync.RequestBody @@ -44,7 +44,7 @@ object ImageBed { .build() } - suspend fun upload(file: ByteArray, fileType: String = ""): String { + fun upload(file: ByteArray, fileType: String = ""): String { val randomUUID = UUID.randomUUID().toString() return when (configManager.imageBedType) { ImageBedType.Github -> { @@ -67,8 +67,6 @@ object ImageBed { s3Client.putObject(putObjectRequest, RequestBody.fromBytes(file)) return "${configManager.cloudflareR2PublicUrl}/$key".proxy } - - ImageBedType.QQ -> instance.action.uploadImage(file.encodeToBase64(), true) } } } \ No newline at end of file diff --git a/src/main/kotlin/cn/rtast/fancybot/util/misc/Misc.kt b/src/main/kotlin/cn/rtast/fancybot/util/misc/Misc.kt index 99d5258..e12538f 100644 --- a/src/main/kotlin/cn/rtast/fancybot/util/misc/Misc.kt +++ b/src/main/kotlin/cn/rtast/fancybot/util/misc/Misc.kt @@ -11,6 +11,7 @@ import cn.rtast.fancybot.* import cn.rtast.fancybot.util.Http import cn.rtast.rob.BotInstance import cn.rtast.rob.ROneBotFactory +import cn.rtast.rob.util.ob.OneBotAction import cn.rtast.rob.util.ob.OneBotListener import java.io.File import kotlin.random.Random @@ -20,8 +21,8 @@ fun randomBooleanWithProbability(probability: Double): Boolean { return randomValue <= (probability * 100) } -suspend fun OneBotListener.getUserName(groupId: Long, userId: Long): String { - val info = instance.action.getGroupMemberInfo(groupId, userId) +suspend fun OneBotListener.getUserName(action: OneBotAction, groupId: Long, userId: Long): String { + val info = action.getGroupMemberInfo(groupId, userId) return info.card ?: info.nickname } @@ -48,5 +49,9 @@ fun initItems() { } fun initBackgroundTasks(instance: BotInstance) { - tasks.forEach { instance.scheduler.scheduleTask(it.value, 1000L, it.key) } + instance.scheduler.scheduleTask({ instance -> + configManager.admins.forEach { + instance.action.sendLike(it, 1) + } + }, 1000L, 10000000L) } \ No newline at end of file