chore: improve rdm command
This commit is contained in:
19 files changed
+82
-82
No files matched your search
@@ -1,6 +1,6 @@
|
|||||||
[versions]
|
[versions]
|
||||||
kotlinVersion = "2.0.10"
|
kotlinVersion = "2.0.10"
|
||||||
ronebotVersion = "1.11.4"
|
ronebotVersion = "1.11.5"
|
||||||
shadowVersion = "8.3.0"
|
shadowVersion = "8.3.0"
|
||||||
okhttpVersion = "5.0.0-alpha.14"
|
okhttpVersion = "5.0.0-alpha.14"
|
||||||
exposedVersion = "0.53.0"
|
exposedVersion = "0.53.0"
|
||||||
|
|||||||
@@ -76,8 +76,8 @@ val niuziBankManager = NiuziBankManager()
|
|||||||
val START_UP_TIME = Instant.now().epochSecond
|
val START_UP_TIME = Instant.now().epochSecond
|
||||||
|
|
||||||
val items = listOf(
|
val items = listOf(
|
||||||
HeisiItem(), BaisiItem(), SetuItem(),
|
HeisiItem(), BaisiItem(),
|
||||||
NiuziItem()
|
SetuItem(), NiuziItem()
|
||||||
)
|
)
|
||||||
|
|
||||||
val commands = listOf(
|
val commands = listOf(
|
||||||
|
|||||||
@@ -39,13 +39,17 @@ class FancyBot : OneBotListener {
|
|||||||
val messageId = message.messageId
|
val messageId = message.messageId
|
||||||
println("$sender($senderId: $groupId >>> $messageId): $msg")
|
println("$sender($senderId: $groupId >>> $messageId): $msg")
|
||||||
|
|
||||||
ReverseGIFCommand.callback(message)
|
if (message.message.any { it.type == ArrayMessageType.face && it.data.id.toString() == "419" }) {
|
||||||
AsciiArtCommand.callback(message)
|
message.reply("你发牛魔的火车呢, 我直接就是打断")
|
||||||
|
}
|
||||||
|
|
||||||
if (message.rawMessage.contains("原神")) {
|
if (message.rawMessage.contains("原神")) {
|
||||||
message.reply("你原神牛魔呢")
|
message.reply("你原神牛魔呢")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ReverseGIFCommand.callback(message)
|
||||||
|
AsciiArtCommand.callback(message)
|
||||||
|
|
||||||
if (message.rawMessage.toList().any { it in arrayListOf('*', '-', '/', '+', '=') }) {
|
if (message.rawMessage.toList().any { it in arrayListOf('*', '-', '/', '+', '=') }) {
|
||||||
val calculateResult = CalculateCommand.parse(message.rawMessage)
|
val calculateResult = CalculateCommand.parse(message.rawMessage)
|
||||||
calculateResult?.let { message.reply(calculateResult) }
|
calculateResult?.let { message.reply(calculateResult) }
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ package cn.rtast.fancybot.commands
|
|||||||
|
|
||||||
import cn.rtast.fancybot.annotations.CommandDescription
|
import cn.rtast.fancybot.annotations.CommandDescription
|
||||||
import cn.rtast.fancybot.commands
|
import cn.rtast.fancybot.commands
|
||||||
|
import cn.rtast.fancybot.configManager
|
||||||
import cn.rtast.rob.entity.GroupMessage
|
import cn.rtast.rob.entity.GroupMessage
|
||||||
import cn.rtast.rob.util.BaseCommand
|
import cn.rtast.rob.util.BaseCommand
|
||||||
import cn.rtast.rob.util.ob.MessageChain
|
import cn.rtast.rob.util.ob.MessageChain
|
||||||
@@ -34,7 +35,7 @@ class HelpCommand : BaseCommand() {
|
|||||||
.addNewLine()
|
.addNewLine()
|
||||||
}
|
}
|
||||||
msg.addText("共计${commands.size}条命令")
|
msg.addText("共计${commands.size}条命令")
|
||||||
node.addMessageChain(msg.build(), message.sender.userId)
|
node.addMessageChain(msg.build(), configManager.selfId)
|
||||||
message.reply(node.build())
|
message.reply(node.build())
|
||||||
} else {
|
} else {
|
||||||
val commandName = args.first().replace("/", "")
|
val commandName = args.first().replace("/", "")
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ class AICommand : BaseCommand() {
|
|||||||
val msg = MessageChain.Builder()
|
val msg = MessageChain.Builder()
|
||||||
.addText(response.choices.first().message.content)
|
.addText(response.choices.first().message.content)
|
||||||
.build()
|
.build()
|
||||||
nodeMsg.addMessageChain(msg, message.sender.userId)
|
nodeMsg.addMessageChain(msg, configManager.selfId)
|
||||||
listener.sendGroupForwardMsg(message.groupId, nodeMsg.build())
|
listener.sendGroupForwardMsg(message.groupId, nodeMsg.build())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -92,7 +92,7 @@ class LlamaCommand : BaseCommand() {
|
|||||||
.addNewLine()
|
.addNewLine()
|
||||||
.addText(response.message.content)
|
.addText(response.message.content)
|
||||||
.build()
|
.build()
|
||||||
nodeMsg.addMessageChain(msg, message.sender.userId)
|
nodeMsg.addMessageChain(msg, configManager.selfId)
|
||||||
listener.sendGroupForwardMsg(message.groupId, nodeMsg.build())
|
listener.sendGroupForwardMsg(message.groupId, nodeMsg.build())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,6 +8,7 @@
|
|||||||
package cn.rtast.fancybot.commands.lookup
|
package cn.rtast.fancybot.commands.lookup
|
||||||
|
|
||||||
import cn.rtast.fancybot.annotations.CommandDescription
|
import cn.rtast.fancybot.annotations.CommandDescription
|
||||||
|
import cn.rtast.fancybot.configManager
|
||||||
import cn.rtast.fancybot.entity.cigarette.Cigarette
|
import cn.rtast.fancybot.entity.cigarette.Cigarette
|
||||||
import cn.rtast.fancybot.util.Http
|
import cn.rtast.fancybot.util.Http
|
||||||
import cn.rtast.fancybot.util.str.encodeToBase64
|
import cn.rtast.fancybot.util.str.encodeToBase64
|
||||||
@@ -53,12 +54,12 @@ class CigaretteCommand : BaseCommand() {
|
|||||||
.addText("参考价: 单盒: ${it.packPrice}元 | 整条: ${it.barPrice}元")
|
.addText("参考价: 单盒: ${it.packPrice}元 | 整条: ${it.barPrice}元")
|
||||||
.addNewLine()
|
.addNewLine()
|
||||||
.build()
|
.build()
|
||||||
nodeMsg.addMessageChain(tempMsg, message.sender.userId)
|
nodeMsg.addMessageChain(tempMsg, configManager.selfId)
|
||||||
}
|
}
|
||||||
val footerMsg = MessageChain.Builder()
|
val footerMsg = MessageChain.Builder()
|
||||||
.addText("吸烟有害健康, 尽早戒烟有益健康。")
|
.addText("吸烟有害健康, 尽早戒烟有益健康。")
|
||||||
.build()
|
.build()
|
||||||
nodeMsg.addMessageChain(footerMsg, message.sender.userId)
|
nodeMsg.addMessageChain(footerMsg, configManager.selfId)
|
||||||
message.reply(nodeMsg.build())
|
message.reply(nodeMsg.build())
|
||||||
message.sender.groupPoke()
|
message.sender.groupPoke()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
package cn.rtast.fancybot.commands.lookup
|
package cn.rtast.fancybot.commands.lookup
|
||||||
|
|
||||||
import cn.rtast.fancybot.annotations.CommandDescription
|
import cn.rtast.fancybot.annotations.CommandDescription
|
||||||
|
import cn.rtast.fancybot.configManager
|
||||||
import cn.rtast.fancybot.entity.bgm.BGMSearch
|
import cn.rtast.fancybot.entity.bgm.BGMSearch
|
||||||
import cn.rtast.fancybot.util.Http
|
import cn.rtast.fancybot.util.Http
|
||||||
import cn.rtast.fancybot.util.str.encodeToBase64
|
import cn.rtast.fancybot.util.str.encodeToBase64
|
||||||
@@ -53,10 +54,10 @@ class DMSearchCommand : BaseCommand() {
|
|||||||
.addNewLine()
|
.addNewLine()
|
||||||
.addText(it.url)
|
.addText(it.url)
|
||||||
.build()
|
.build()
|
||||||
nodeMsg.addMessageChain(tempMsg, message.sender.userId)
|
nodeMsg.addMessageChain(tempMsg, configManager.selfId)
|
||||||
}
|
}
|
||||||
val footerNode = MessageChain.Builder().addText("数据来源: Bangumi").build()
|
val footerNode = MessageChain.Builder().addText("数据来源: Bangumi").build()
|
||||||
nodeMsg.addMessageChain(footerNode, message.sender.userId)
|
nodeMsg.addMessageChain(footerNode, configManager.selfId)
|
||||||
listener.sendGroupForwardMsg(message.groupId, nodeMsg.build())
|
listener.sendGroupForwardMsg(message.groupId, nodeMsg.build())
|
||||||
} catch (_: Exception) {
|
} catch (_: Exception) {
|
||||||
message.reply("没有搜索到结果呢~")
|
message.reply("没有搜索到结果呢~")
|
||||||
|
|||||||
@@ -45,11 +45,7 @@ class MusicCommand : BaseCommand() {
|
|||||||
|
|
||||||
private suspend fun legacyMusicCommand(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
private suspend fun legacyMusicCommand(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||||
if (args.isEmpty()) {
|
if (args.isEmpty()) {
|
||||||
val msg = MessageChain.Builder()
|
message.reply("发送`/点歌` <关键词> 来搜索音乐~")
|
||||||
.addAt(message.sender.userId)
|
|
||||||
.addText("发送`/点歌`或者`/music` <关键词> 来搜索音乐~")
|
|
||||||
.build()
|
|
||||||
listener.sendGroupMessage(message.groupId, msg)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
searchedResult.forEach { (key, results) ->
|
searchedResult.forEach { (key, results) ->
|
||||||
@@ -72,13 +68,9 @@ class MusicCommand : BaseCommand() {
|
|||||||
val msg = MessageChain.Builder()
|
val msg = MessageChain.Builder()
|
||||||
.addMusicShare(MusicShareType.Netease, finalResult.id.toString())
|
.addMusicShare(MusicShareType.Netease, finalResult.id.toString())
|
||||||
.build()
|
.build()
|
||||||
listener.sendGroupMessage(message.groupId, msg)
|
message.reply(msg)
|
||||||
} catch (_: Exception) {
|
} catch (_: Exception) {
|
||||||
val msg = MessageChain.Builder()
|
message.reply("输入有误请重新搜索本次搜索结果已清除")
|
||||||
.addAt(message.sender.userId)
|
|
||||||
.addText("输入有误请重新搜索本次搜索结果已清除")
|
|
||||||
.build()
|
|
||||||
listener.sendGroupMessage(message.groupId, msg)
|
|
||||||
}
|
}
|
||||||
searchedResult.remove(message.sender.userId)
|
searchedResult.remove(message.sender.userId)
|
||||||
}
|
}
|
||||||
@@ -86,11 +78,7 @@ class MusicCommand : BaseCommand() {
|
|||||||
else -> {
|
else -> {
|
||||||
if (searchedResult.containsKey(message.sender.userId)) {
|
if (searchedResult.containsKey(message.sender.userId)) {
|
||||||
searchedResult.remove(message.sender.userId)
|
searchedResult.remove(message.sender.userId)
|
||||||
val msg = MessageChain.Builder()
|
message.reply("你上次的搜索结果还没用呢, 已经帮你把上次的搜索结果清除掉啦~")
|
||||||
.addAt(message.sender.userId)
|
|
||||||
.addText("你上次的搜索结果还没用呢, 已经帮你把上次的搜索结果清除掉啦~")
|
|
||||||
.build()
|
|
||||||
listener.sendGroupMessage(message.groupId, msg)
|
|
||||||
}
|
}
|
||||||
val keyword = args.joinToString(" ")
|
val keyword = args.joinToString(" ")
|
||||||
val result = searchSong(keyword)
|
val result = searchSong(keyword)
|
||||||
@@ -105,11 +93,7 @@ class MusicCommand : BaseCommand() {
|
|||||||
stringResult.append("| $index | 《${searchedResult.name}》-- ${searchedResult.artists}\n")
|
stringResult.append("| $index | 《${searchedResult.name}》-- ${searchedResult.artists}\n")
|
||||||
}
|
}
|
||||||
stringResult.append("输入/music p <序号> 播放\n你有30秒的时间进行操作")
|
stringResult.append("输入/music p <序号> 播放\n你有30秒的时间进行操作")
|
||||||
val msg = MessageChain.Builder()
|
message.reply(stringResult.toString())
|
||||||
.addAt(message.sender.userId)
|
|
||||||
.addText(stringResult.toString())
|
|
||||||
.build()
|
|
||||||
listener.sendGroupMessage(message.groupId, msg)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -121,7 +105,7 @@ class MusicCommand : BaseCommand() {
|
|||||||
}
|
}
|
||||||
if (args.isEmpty()) {
|
if (args.isEmpty()) {
|
||||||
val msg = MessageChain.Builder()
|
val msg = MessageChain.Builder()
|
||||||
.addAt(message.sender.userId)
|
.addReply(message.messageId)
|
||||||
.addText("发送`点歌 <歌名>`即可点第一首搜索到的歌曲~")
|
.addText("发送`点歌 <歌名>`即可点第一首搜索到的歌曲~")
|
||||||
.addNewLine()
|
.addNewLine()
|
||||||
.addText("发送`点歌 <歌名> [l|legacy]`即可使用旧版点歌系统")
|
.addText("发送`点歌 <歌名> [l|legacy]`即可使用旧版点歌系统")
|
||||||
@@ -243,7 +227,7 @@ class QQMusicCommand : BaseCommand() {
|
|||||||
.addNewLine()
|
.addNewLine()
|
||||||
.addText("时长: ${it.interval.formatToMinutes()}")
|
.addText("时长: ${it.interval.formatToMinutes()}")
|
||||||
.build()
|
.build()
|
||||||
nodeMsg.addMessageChain(msg, message.sender.userId)
|
nodeMsg.addMessageChain(msg, configManager.selfId)
|
||||||
} catch (_: FileNotFoundException) {
|
} catch (_: FileNotFoundException) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
package cn.rtast.fancybot.commands.lookup
|
package cn.rtast.fancybot.commands.lookup
|
||||||
|
|
||||||
import cn.rtast.fancybot.annotations.CommandDescription
|
import cn.rtast.fancybot.annotations.CommandDescription
|
||||||
|
import cn.rtast.fancybot.configManager
|
||||||
import cn.rtast.fancybot.entity.pixiv.Ranking
|
import cn.rtast.fancybot.entity.pixiv.Ranking
|
||||||
import cn.rtast.fancybot.util.Http
|
import cn.rtast.fancybot.util.Http
|
||||||
import cn.rtast.fancybot.util.str.encodeToBase64
|
import cn.rtast.fancybot.util.str.encodeToBase64
|
||||||
@@ -51,11 +52,13 @@ class PixivCommand : BaseCommand() {
|
|||||||
.addText("用户: ${it.userName}(${it.userId}) | 作品ID: ${it.illustId}")
|
.addText("用户: ${it.userName}(${it.userId}) | 作品ID: ${it.illustId}")
|
||||||
.addNewLine()
|
.addNewLine()
|
||||||
.addText("日期: ${it.date}")
|
.addText("日期: ${it.date}")
|
||||||
node.addMessageChain(msg.build(), message.sender.userId)
|
node.addMessageChain(msg.build(), configManager.selfId)
|
||||||
} catch (_: Exception) {
|
} catch (_: Exception) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
node.addMessageChain(MessageChain.Builder().addText("图片来源: Pixiv").build(), message.sender.userId)
|
node.addMessageChain(MessageChain.Builder()
|
||||||
|
.addText("图片来源: Pixiv")
|
||||||
|
.build(), configManager.selfId)
|
||||||
message.reply(node.build())
|
message.reply(node.build())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class ShotOtherCommand : BaseCommand() {
|
|||||||
|
|
||||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||||
if (args.isEmpty()) {
|
if (args.isEmpty()) {
|
||||||
message.reply("发送`骂 @某人`可以骂他~")
|
listener.sendGroupForwardMsg(message.groupId, generateNodeMessage(message.sender.userId.toString(), 20))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
var times = if (args.size == 1) 10 else if (args.last() == "") 10 else args.last().toInt()
|
var times = if (args.size == 1) 10 else if (args.last() == "") 10 else args.last().toInt()
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
package cn.rtast.fancybot.commands.misc
|
package cn.rtast.fancybot.commands.misc
|
||||||
|
|
||||||
|
import cn.rtast.fancybot.configManager
|
||||||
import cn.rtast.fancybot.entity.bullshit.BullShit
|
import cn.rtast.fancybot.entity.bullshit.BullShit
|
||||||
import cn.rtast.fancybot.util.Resources
|
import cn.rtast.fancybot.util.Resources
|
||||||
import cn.rtast.fancybot.util.str.fromJson
|
import cn.rtast.fancybot.util.str.fromJson
|
||||||
@@ -61,7 +62,7 @@ class BullShitGenerateCommand : BaseCommand() {
|
|||||||
}
|
}
|
||||||
val finalText = output.toString().replace("x", topic)
|
val finalText = output.toString().replace("x", topic)
|
||||||
val node = NodeMessageChain.Builder()
|
val node = NodeMessageChain.Builder()
|
||||||
.addMessageChain(MessageChain.Builder().addText(finalText).build(), message.sender.userId)
|
.addMessageChain(MessageChain.Builder().addText(finalText).build(), configManager.selfId)
|
||||||
.build()
|
.build()
|
||||||
message.reply(node)
|
message.reply(node)
|
||||||
message.sender.groupPoke()
|
message.sender.groupPoke()
|
||||||
|
|||||||
@@ -44,11 +44,7 @@ class SendMailCommand : BaseCommand() {
|
|||||||
|
|
||||||
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||||
if (args.isEmpty()) {
|
if (args.isEmpty()) {
|
||||||
val msg = MessageChain.Builder()
|
message.reply("发送`/mail <收件人地址>`即可发送测试邮件~")
|
||||||
.addAt(message.sender.userId)
|
|
||||||
.addText("发送`/mail <收件人地址>`即可发送测试邮件~")
|
|
||||||
.build()
|
|
||||||
listener.sendGroupMessage(message.groupId, msg)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (message.sender.userId !in configManager.admins) {
|
if (message.sender.userId !in configManager.admins) {
|
||||||
@@ -61,10 +57,6 @@ class SendMailCommand : BaseCommand() {
|
|||||||
}
|
}
|
||||||
val target = args.first()
|
val target = args.first()
|
||||||
this.sendMail(target)
|
this.sendMail(target)
|
||||||
val msg = MessageChain.Builder()
|
message.reply("正在发送邮件, 请查收~(可能会出现在垃圾桶中~)")
|
||||||
.addAt(message.sender.userId)
|
|
||||||
.addText("正在发送邮件, 请查收~(可能会出现在垃圾桶中~)")
|
|
||||||
.build()
|
|
||||||
listener.sendGroupMessage(message.groupId, msg)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,6 +8,7 @@
|
|||||||
package cn.rtast.fancybot.commands.misc
|
package cn.rtast.fancybot.commands.misc
|
||||||
|
|
||||||
import cn.rtast.fancybot.annotations.CommandDescription
|
import cn.rtast.fancybot.annotations.CommandDescription
|
||||||
|
import cn.rtast.fancybot.configManager
|
||||||
import cn.rtast.fancybot.entity.Setu
|
import cn.rtast.fancybot.entity.Setu
|
||||||
import cn.rtast.fancybot.util.Http
|
import cn.rtast.fancybot.util.Http
|
||||||
import cn.rtast.fancybot.util.str.encodeToBase64
|
import cn.rtast.fancybot.util.str.encodeToBase64
|
||||||
@@ -30,7 +31,7 @@ class TenSetuCommand : BaseCommand() {
|
|||||||
try {
|
try {
|
||||||
val imageBase64 = URI(it).toURL().readBytes().encodeToBase64()
|
val imageBase64 = URI(it).toURL().readBytes().encodeToBase64()
|
||||||
val tempMsg = MessageChain.Builder().addImage(imageBase64, true).build()
|
val tempMsg = MessageChain.Builder().addImage(imageBase64, true).build()
|
||||||
nodeMsg.addMessageChain(tempMsg, message.sender.userId)
|
nodeMsg.addMessageChain(tempMsg, configManager.selfId)
|
||||||
} catch (_: Exception) {
|
} catch (_: Exception) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -39,7 +40,7 @@ class TenSetuCommand : BaseCommand() {
|
|||||||
.addNewLine()
|
.addNewLine()
|
||||||
.addText("因为过滤了R18的图片~")
|
.addText("因为过滤了R18的图片~")
|
||||||
.build()
|
.build()
|
||||||
nodeMsg.addMessageChain(footerMsg, message.sender.userId)
|
nodeMsg.addMessageChain(footerMsg, configManager.selfId)
|
||||||
listener.sendGroupForwardMsg(message.groupId, nodeMsg.build())
|
listener.sendGroupForwardMsg(message.groupId, nodeMsg.build())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -34,18 +34,13 @@ class NiuziRedeemCommand : BaseCommand() {
|
|||||||
}
|
}
|
||||||
val status = niuziManager.getUser(message.sender.userId)
|
val status = niuziManager.getUser(message.sender.userId)
|
||||||
if (status == null) {
|
if (status == null) {
|
||||||
val msg = MessageChain.Builder()
|
message.reply("你还没有签到过呢要签到一次才能兑换哦~")
|
||||||
.addReply(message.messageId)
|
|
||||||
.addText("你还没有签到过呢要签到一次才能兑换哦~")
|
|
||||||
.build()
|
|
||||||
listener.sendGroupMessage(message.groupId, msg)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
val item = args.first()
|
val item = args.first()
|
||||||
if (item == "list" || item == "列表") {
|
if (item == "list" || item == "列表") {
|
||||||
val priceTable =
|
val priceTable = itemManager.items.joinToString("\n")
|
||||||
itemManager.items.joinToString("\n")
|
{ "[${it.itemNames.joinToString("|")}]:${it.itemPrice}cm" }
|
||||||
{ "[${it.itemNames.joinToString("|")}]:${it.itemPrice}cm" }
|
|
||||||
message.reply(priceTable)
|
message.reply(priceTable)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -72,13 +67,15 @@ class NiuziRedeemCommand : BaseCommand() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
val afterStatus = niuziManager.redeemItem(message.sender.userId, selectedItemPrice)?.length!!
|
val afterStatus = niuziManager.redeemItem(message.sender.userId, selectedItemPrice)?.length!!
|
||||||
|
val action = selectedItem.redeemInGroup(listener, message, afterStatus)
|
||||||
val msg = MessageChain.Builder()
|
val msg = MessageChain.Builder()
|
||||||
.addReply(message.messageId)
|
.addReply(message.messageId)
|
||||||
.addText("兑换成功正在发送奖品中~")
|
.addText("兑换成功! 你花费了${selectedItemPrice}cm来兑换奖品, 还剩${afterStatus}cm")
|
||||||
.addNewLine()
|
.addNewLine()
|
||||||
.addText("你花费了${selectedItemPrice}cm来兑换奖品, 还剩${afterStatus}cm")
|
.addText("-------------------")
|
||||||
|
.addNewLine()
|
||||||
|
.addMessageChain(action)
|
||||||
.build()
|
.build()
|
||||||
listener.sendGroupMessage(message.groupId, msg)
|
message.reply(msg)
|
||||||
selectedItem.redeemGroup(listener, message, afterStatus)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -18,9 +18,13 @@ class BaisiItem : Item() {
|
|||||||
override val itemNames = listOf("baisi", "白丝", "bs")
|
override val itemNames = listOf("baisi", "白丝", "bs")
|
||||||
override val itemPrice = 5.0
|
override val itemPrice = 5.0
|
||||||
|
|
||||||
override suspend fun redeemInGroup(listener: OneBotListener, message: GroupMessage, after: Double) {
|
override suspend fun redeemInGroup(
|
||||||
|
listener: OneBotListener,
|
||||||
|
message: GroupMessage,
|
||||||
|
after: Double
|
||||||
|
): MessageChain.Builder {
|
||||||
val url = Http.get<Baisi>("https://v2.api-m.com/api/baisi").data
|
val url = Http.get<Baisi>("https://v2.api-m.com/api/baisi").data
|
||||||
val msg = MessageChain.Builder().addImage(url).build()
|
val msg = MessageChain.Builder().addImage(url)
|
||||||
message.reply(msg)
|
return msg
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -18,9 +18,13 @@ class HeisiItem : Item() {
|
|||||||
override val itemNames = listOf("heisi", "黑丝", "hs")
|
override val itemNames = listOf("heisi", "黑丝", "hs")
|
||||||
override val itemPrice = 5.0
|
override val itemPrice = 5.0
|
||||||
|
|
||||||
override suspend fun redeemInGroup(listener: OneBotListener, message: GroupMessage, after: Double) {
|
override suspend fun redeemInGroup(
|
||||||
|
listener: OneBotListener,
|
||||||
|
message: GroupMessage,
|
||||||
|
after: Double
|
||||||
|
): MessageChain.Builder {
|
||||||
val url = Http.get<Baisi>("https://v2.api-m.com/api/heisi").data
|
val url = Http.get<Baisi>("https://v2.api-m.com/api/heisi").data
|
||||||
val msg = MessageChain.Builder().addImage(url).build()
|
val msg = MessageChain.Builder().addImage(url)
|
||||||
message.reply(msg)
|
return msg
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -17,14 +17,17 @@ class NiuziItem : Item() {
|
|||||||
override val itemNames = listOf("牛子", "nz", "niuzi")
|
override val itemNames = listOf("牛子", "nz", "niuzi")
|
||||||
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
|
||||||
|
): MessageChain.Builder {
|
||||||
val before = niuziManager.getUser(message.sender.userId)!!
|
val before = niuziManager.getUser(message.sender.userId)!!
|
||||||
val afterNiuzi = niuziManager.updateLength(message.sender.userId, -2.0)!!
|
val afterNiuzi = niuziManager.updateLength(message.sender.userId, -2.0)!!
|
||||||
val msg = MessageChain.Builder()
|
val msg = MessageChain.Builder()
|
||||||
.addText("你的牛子到账啦, 你的牛子现在有${afterNiuzi.length}cm长呢!")
|
.addText("你的牛子到账啦, 你的牛子现在有${afterNiuzi.length}cm长呢!")
|
||||||
.addNewLine()
|
.addNewLine()
|
||||||
.addText("(之前的长度是${before.length}cm!)")
|
.addText("(之前的长度是${before.length}cm!)")
|
||||||
.build()
|
return msg
|
||||||
message.reply(msg)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -22,16 +22,19 @@ 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
|
||||||
|
): MessageChain.Builder {
|
||||||
val response = Http.get("https://api.rtast.cn/api/setu")
|
val response = Http.get("https://api.rtast.cn/api/setu")
|
||||||
.fromArrayJson<List<Setu>>().first()
|
.fromArrayJson<List<Setu>>().first()
|
||||||
if (response.r18) {
|
if (response.r18) {
|
||||||
niuziManager.updateLength(message.sender.userId, itemPrice)
|
niuziManager.updateLength(message.sender.userId, itemPrice)
|
||||||
message.reply("不好意思这张图片是R18所以不能发~, 牛子长度已经退还~")
|
return MessageChain.Builder().addText("不好意思这张图片是R18所以不能发~, 牛子长度已经退还~")
|
||||||
return
|
|
||||||
}
|
}
|
||||||
val imageBase64 = URI(response.urls.large).toURL().readBytes().encodeToBase64()
|
val imageBase64 = URI(response.urls.large).toURL().readBytes().encodeToBase64()
|
||||||
val msg = MessageChain.Builder().addImage(imageBase64, true).build()
|
val msg = MessageChain.Builder().addImage(imageBase64, true)
|
||||||
message.reply(msg)
|
return msg
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,15 +8,16 @@
|
|||||||
package cn.rtast.fancybot.util.item
|
package cn.rtast.fancybot.util.item
|
||||||
|
|
||||||
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.OneBotListener
|
import cn.rtast.rob.util.ob.OneBotListener
|
||||||
|
|
||||||
abstract class Item {
|
abstract class Item {
|
||||||
abstract val itemNames: List<String>
|
abstract val itemNames: List<String>
|
||||||
abstract val itemPrice: Double
|
abstract val itemPrice: Double
|
||||||
|
|
||||||
protected open suspend fun redeemInGroup(listener: OneBotListener, message: GroupMessage, after: Double) {}
|
abstract suspend fun redeemInGroup(
|
||||||
|
listener: OneBotListener,
|
||||||
suspend fun redeemGroup(listener: OneBotListener, message: GroupMessage, after: Double) {
|
message: GroupMessage,
|
||||||
this.redeemInGroup(listener, message, after)
|
after: Double
|
||||||
}
|
): MessageChain.Builder
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user