feat: add niuzi manager to manage user's niuzi length and bank balance
This commit is contained in:
2 files changed
+69
-1
No files matched your search
@@ -120,5 +120,5 @@ val commands = listOf(
|
|||||||
ReactionCommand(), MCSkinCommand(), GithubLatestCommitCommand(), RandomMusicCommand(),
|
ReactionCommand(), MCSkinCommand(), GithubLatestCommitCommand(), RandomMusicCommand(),
|
||||||
ZDJDCommand(), ScanQRCodeCommand(), TTSCommand(), SlimeChunkHelperCommand(),
|
ZDJDCommand(), ScanQRCodeCommand(), TTSCommand(), SlimeChunkHelperCommand(),
|
||||||
SupportMeCommand(), TheCatCommand(), TheHistoryOfTodayCommand(), MCVersionCommand(),
|
SupportMeCommand(), TheCatCommand(), TheHistoryOfTodayCommand(), MCVersionCommand(),
|
||||||
MinecraftWikiCommand(), GaoKaoDaysRemainCommand(), IdiomExplainCommand()
|
MinecraftWikiCommand(), GaoKaoDaysRemainCommand(), IdiomExplainCommand(), NiuziManagerCommand()
|
||||||
)
|
)
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
/*
|
||||||
|
* Copyright © 2024 RTAkland
|
||||||
|
* Author: RTAkland
|
||||||
|
* Date: 2024/10/11
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
package cn.rtast.fancybot.commands.niuzi
|
||||||
|
|
||||||
|
import cn.rtast.fancybot.annotations.CommandDescription
|
||||||
|
import cn.rtast.fancybot.configManager
|
||||||
|
import cn.rtast.fancybot.niuziBankManager
|
||||||
|
import cn.rtast.fancybot.niuziManager
|
||||||
|
import cn.rtast.fancybot.util.misc.getUserName
|
||||||
|
import cn.rtast.rob.entity.GroupMessage
|
||||||
|
import cn.rtast.rob.enums.ArrayMessageType
|
||||||
|
import cn.rtast.rob.util.BaseCommand
|
||||||
|
import cn.rtast.rob.util.ob.MessageChain
|
||||||
|
import cn.rtast.rob.util.ob.OneBotListener
|
||||||
|
|
||||||
|
@CommandDescription("在群内设置某个成员的牛子银行余额或者现金牛子长度")
|
||||||
|
class NiuziManagerCommand : BaseCommand() {
|
||||||
|
override val commandNames = listOf("管理牛子")
|
||||||
|
|
||||||
|
override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List<String>) {
|
||||||
|
if (args.isEmpty()) {
|
||||||
|
message.reply("此命令可以管理成员的牛子或者银行账户")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (message.sender() !in configManager.admins) {
|
||||||
|
message.reply("你没权限呢!")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
val target = message.message.find { it.type == ArrayMessageType.at }!!.data.qq!!.toLong()
|
||||||
|
val method = args[1]
|
||||||
|
val amount = args.last().toDouble()
|
||||||
|
when (method) {
|
||||||
|
"set", "s", "设置" -> {
|
||||||
|
val type = args[2]
|
||||||
|
when (type) {
|
||||||
|
"yh", "银行" -> {
|
||||||
|
val before = niuziBankManager.getUser(target)
|
||||||
|
niuziBankManager.deposit(target, amount, listener.getUserName(message.groupId, target))
|
||||||
|
val after = niuziBankManager.getUser(target)
|
||||||
|
val msg = MessageChain.Builder()
|
||||||
|
.addText("设置成功! 金额: $amount")
|
||||||
|
.addNewLine()
|
||||||
|
.addText("设置前余额: ${before?.balance?.toFloat()} | 设置后余额: ${after?.balance?.toFloat()}")
|
||||||
|
.build()
|
||||||
|
message.reply(msg)
|
||||||
|
}
|
||||||
|
|
||||||
|
else -> {
|
||||||
|
val before = niuziManager.getUser(target)
|
||||||
|
niuziManager.updateLength(target, amount)
|
||||||
|
val after = niuziManager.getUser(target)
|
||||||
|
val msg = MessageChain.Builder()
|
||||||
|
.addText("设置成功! 金额: $amount")
|
||||||
|
.addNewLine()
|
||||||
|
.addText("设置前长度: ${before?.length?.toFloat()} | 设置后长度: ${after?.length?.toFloat()}")
|
||||||
|
.build()
|
||||||
|
message.reply(msg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user