feat: add annotation to add command description

This commit is contained in:
2024-09-26 05:20:10 +08:00
parent 0a28d05bfe
commit 8dc311fb90
41 files changed
+135 -33

No files matched your search

@@ -7,6 +7,7 @@
package cn.rtast.fancybot.commands.niuzi
import cn.rtast.fancybot.annotations.CommandDescription
import cn.rtast.fancybot.niuziManager
import cn.rtast.rob.entity.GroupMessage
import cn.rtast.rob.util.BaseCommand
@@ -14,6 +15,7 @@ import cn.rtast.rob.util.ob.MessageChain
import cn.rtast.rob.util.ob.OneBotListener
@CommandDescription("查询自己牛子的长度")
class MyNiuziCommand : BaseCommand() {
override val commandNames = listOf("我的牛子", "/mp", "mp")
@@ -7,6 +7,7 @@
package cn.rtast.fancybot.commands.niuzi
import cn.rtast.fancybot.annotations.CommandDescription
import cn.rtast.fancybot.niuziBankManager
import cn.rtast.fancybot.niuziManager
import cn.rtast.rob.entity.GroupMessage
@@ -21,6 +22,7 @@ private suspend fun noAccount(message: GroupMessage) {
private const val INTEREST_RATE = 0.54
@CommandDescription("牛子银行根命令")
class NiuziBankCommand : BaseCommand() {
override val commandNames = listOf("牛子银行", "/银行")
@@ -34,6 +36,7 @@ class NiuziBankCommand : BaseCommand() {
}
}
@CommandDescription("查询牛子银行的余额")
class BankBalanceCommand : BaseCommand() {
override val commandNames = listOf("余额查询")
@@ -47,6 +50,7 @@ class BankBalanceCommand : BaseCommand() {
}
}
@CommandDescription("创建一个空的牛子银行账户")
class CreateBankAccountCommand : BaseCommand() {
override val commandNames = listOf("创建账户")
@@ -60,6 +64,7 @@ class CreateBankAccountCommand : BaseCommand() {
}
}
@CommandDescription("用于牛子银行之间转账")
class BankTransferCommand : BaseCommand() {
override val commandNames = listOf("银行转账")
@@ -84,6 +89,7 @@ class BankTransferCommand : BaseCommand() {
}
}
@CommandDescription("牛子银行提现")
class WithdrawCommand : BaseCommand() {
override val commandNames = listOf("取牛子")
@@ -113,6 +119,7 @@ class WithdrawCommand : BaseCommand() {
}
}
@CommandDescription("牛子银行存入")
class DepositCommand : BaseCommand() {
override val commandNames = listOf("存牛子")
@@ -7,6 +7,7 @@
package cn.rtast.fancybot.commands.niuzi
import cn.rtast.fancybot.annotations.CommandDescription
import cn.rtast.fancybot.niuziManager
import cn.rtast.rob.entity.GroupMessage
import cn.rtast.rob.enums.ArrayMessageType
@@ -14,6 +15,7 @@ import cn.rtast.rob.util.BaseCommand
import cn.rtast.rob.util.ob.MessageChain
import cn.rtast.rob.util.ob.OneBotListener
@CommandDescription("来一起激情击剑吧!")
class NiuziJiJianCommand : BaseCommand() {
override val commandNames = listOf("击剑", "jj")
@@ -7,12 +7,14 @@
package cn.rtast.fancybot.commands.niuzi
import cn.rtast.fancybot.annotations.CommandDescription
import cn.rtast.fancybot.niuziManager
import cn.rtast.rob.entity.GroupMessage
import cn.rtast.rob.enums.ArrayMessageType
import cn.rtast.rob.util.BaseCommand
import cn.rtast.rob.util.ob.OneBotListener
@CommandDescription("查询别人的牛子长度")
class NiuziQueryCommand : BaseCommand() {
override val commandNames = listOf("牛子查询", "nq")
@@ -0,0 +1,88 @@
/*
* Copyright © 2024 RTAkland
* Author: RTAkland
* Date: 2024/9/3
*/
package cn.rtast.fancybot.commands.niuzi
import cn.rtast.fancybot.annotations.CommandDescription
import cn.rtast.fancybot.itemManager
import cn.rtast.fancybot.niuziManager
import cn.rtast.rob.entity.GroupMessage
import cn.rtast.rob.util.BaseCommand
import cn.rtast.rob.util.ob.MessageChain
import cn.rtast.rob.util.ob.OneBotListener
@CommandDescription("使用牛子长度兑换物品")
class NiuziRedeemCommand : BaseCommand() {
override val commandNames = listOf("/redeem", "/兑换", "/rdm")
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
if (args.isEmpty()) {
val msg = MessageChain.Builder()
.addAt(message.sender.userId)
.addText("发送 /rdm <物品名称> 即可兑换哦!")
.addNewLine()
.addText("发送 /rdm list 即可查看所有可兑换的物品~")
.addNewLine()
.addText("发送 `我的牛子` 可以查看自己的牛子长度~")
.build()
listener.sendGroupMessage(message.groupId, msg)
return
}
val status = niuziManager.getUser(message.sender.userId)
if (status == null) {
val msg = MessageChain.Builder()
.addAt(message.sender.userId)
.addText("你还没有签到过呢要签到一次才能兑换哦~")
.build()
listener.sendGroupMessage(message.groupId, msg)
return
}
val item = args.first()
if (item == "list" || item == "列表") {
val priceTable =
itemManager.items.joinToString("\n") { "[${it.itemNames.joinToString("|")}]:${it.itemPrice}积分" }
val msg = MessageChain.Builder()
.addAt(message.sender.userId)
.addNewLine()
.addText(priceTable)
.build()
listener.sendGroupMessage(message.groupId, msg)
return
}
val selectedItem = itemManager.items.find { it.itemNames.any { any -> any == item } }
if (selectedItem == null) {
val msg = MessageChain.Builder()
.addAt(message.sender.userId)
.addText("没有找到你想兑换的东西呢")
.addNewLine()
.addText("你可以发送 /rdm list来查看所有可兑换的物品")
.build()
listener.sendGroupMessage(message.groupId, msg)
return
}
val selectedItemPrice = selectedItem.itemPrice
if (selectedItemPrice > status.length) {
val msg = MessageChain.Builder()
.addAt(message.sender.userId)
.addText("你的牛子长度不够兑换这个物品呢~")
.addNewLine()
.addText("你有: ${status.length}cm, 兑换需要: $selectedItemPrice cm~\"")
.build()
listener.sendGroupMessage(message.groupId, msg)
return
}
val afterStatus = niuziManager.redeemItem(message.sender.userId, selectedItemPrice)?.length!!
val msg = MessageChain.Builder()
.addAt(message.sender.userId)
.addText("兑换成功正在发送奖品中~")
.addNewLine()
.addText("你花费了${selectedItemPrice}cm来兑换奖品, 还剩${afterStatus}cm")
.build()
listener.sendGroupMessage(message.groupId, msg)
selectedItem.redeemGroup(listener, message, afterStatus)
}
}
@@ -7,12 +7,14 @@
package cn.rtast.fancybot.commands.niuzi
import cn.rtast.fancybot.annotations.CommandDescription
import cn.rtast.fancybot.niuziManager
import cn.rtast.rob.entity.GroupMessage
import cn.rtast.rob.util.BaseCommand
import cn.rtast.rob.util.ob.MessageChain
import cn.rtast.rob.util.ob.OneBotListener
@CommandDescription("牛子签到~")
class NiuziSignCommand : BaseCommand() {
override val commandNames = listOf("牛子签到", "签到")
@@ -7,12 +7,14 @@
package cn.rtast.fancybot.commands.niuzi
import cn.rtast.fancybot.annotations.CommandDescription
import cn.rtast.fancybot.niuziManager
import cn.rtast.rob.entity.GroupMessage
import cn.rtast.rob.enums.ArrayMessageType
import cn.rtast.rob.util.BaseCommand
import cn.rtast.rob.util.ob.OneBotListener
@CommandDescription("将自己的牛子长度转账给别人")
class NiuziTransferCommand : BaseCommand() {
override val commandNames = listOf("牛子转账", "转账", "/zz")