From 52c791d3ed0bea5db97fc1b7d66bffa51d43745b Mon Sep 17 00:00:00 2001 From: RTAkland Date: Wed, 9 Oct 2024 23:28:57 +0800 Subject: [PATCH] feat: add gaokao days remain command --- src/main/kotlin/cn/rtast/fancybot/Const.kt | 50 +++++++------------ .../commands/misc/GaoKaoDaysRemainCommand.kt | 30 +++++++++++ 2 files changed, 47 insertions(+), 33 deletions(-) create mode 100644 src/main/kotlin/cn/rtast/fancybot/commands/misc/GaoKaoDaysRemainCommand.kt diff --git a/src/main/kotlin/cn/rtast/fancybot/Const.kt b/src/main/kotlin/cn/rtast/fancybot/Const.kt index 8e5c74d..8c21d57 100644 --- a/src/main/kotlin/cn/rtast/fancybot/Const.kt +++ b/src/main/kotlin/cn/rtast/fancybot/Const.kt @@ -102,37 +102,21 @@ val tasks = mapOf( ) val commands = listOf( - EchoCommand(), JrrpCommand(), - NiuziRedeemCommand(), HitokotoCommand(), - KFCCommand(), GenerateQRCodeCommand(), - AntiRevokeCommand(), MCPingCommand(), - WeatherCommand(), CigaretteCommand(), - RemakeCommand(), PixivCommand(), - RUACommand(), NslookupCommand(), - CompilerCommand(), AICommand(), - GithubUserCommand(), AboutCommand(), - MusicPlayUrlCommand(), DomainPriceCommand(), - SendMailCommand(), ZiBiCommand(), - UnsetZiBiCommand(), WikipediaCommand(), - AsciiArtCommand(), StatusCommand(), - JueCommand(), ShortLinkCommand(), - ShotOtherCommand(), ReverseGIFCommand(), - HelpCommand(), MusicCommand(), - SendLikeCommand(), NiuziTransferCommand(), - NiuziSignCommand(), NiuziJiJianCommand(), - NiuziQueryCommand(), MyNiuziCommand(), - NiuziBankCommand(), WithdrawCommand(), - BankTransferCommand(), CreateBankAccountCommand(), - BankBalanceCommand(), DepositCommand(), - AnimeSearchCommand(), LlamaCommand(), - QQMusicCommand(), BullShitGenerateCommand(), - NiuziRankCommand(), NiuziBankRankCommand(), - ShotSelfCommand(), TenSetuCommand(), - ReactionCommand(), MCSkinCommand(), - GithubLatestCommitCommand(), RandomMusicCommand(), - ZDJDCommand(), ScanQRCodeCommand(), - TTSCommand(), SlimeChunkHelperCommand(), - SupportMeCommand(), TheCatCommand(), - TheHistoryOfTodayCommand(), MCVersionCommand(), - MinecraftWikiCommand() + EchoCommand(), JrrpCommand(), NiuziRedeemCommand(), HitokotoCommand(), + KFCCommand(), GenerateQRCodeCommand(), AntiRevokeCommand(), MCPingCommand(), + WeatherCommand(), CigaretteCommand(), RemakeCommand(), PixivCommand(), + RUACommand(), NslookupCommand(), CompilerCommand(), AICommand(), + GithubUserCommand(), AboutCommand(), MusicPlayUrlCommand(), DomainPriceCommand(), + SendMailCommand(), ZiBiCommand(), UnsetZiBiCommand(), WikipediaCommand(), + AsciiArtCommand(), StatusCommand(), JueCommand(), ShortLinkCommand(), + ShotOtherCommand(), ReverseGIFCommand(), HelpCommand(), MusicCommand(), + SendLikeCommand(), NiuziTransferCommand(), NiuziSignCommand(), NiuziJiJianCommand(), + NiuziQueryCommand(), MyNiuziCommand(), NiuziBankCommand(), WithdrawCommand(), + BankTransferCommand(), CreateBankAccountCommand(), BankBalanceCommand(), DepositCommand(), + AnimeSearchCommand(), LlamaCommand(), QQMusicCommand(), BullShitGenerateCommand(), + NiuziRankCommand(), NiuziBankRankCommand(), ShotSelfCommand(), TenSetuCommand(), + ReactionCommand(), MCSkinCommand(), GithubLatestCommitCommand(), RandomMusicCommand(), + ZDJDCommand(), ScanQRCodeCommand(), TTSCommand(), SlimeChunkHelperCommand(), + SupportMeCommand(), TheCatCommand(), TheHistoryOfTodayCommand(), MCVersionCommand(), + MinecraftWikiCommand(), GaoKaoDaysRemainCommand() ) \ No newline at end of file diff --git a/src/main/kotlin/cn/rtast/fancybot/commands/misc/GaoKaoDaysRemainCommand.kt b/src/main/kotlin/cn/rtast/fancybot/commands/misc/GaoKaoDaysRemainCommand.kt new file mode 100644 index 0000000..d637f0a --- /dev/null +++ b/src/main/kotlin/cn/rtast/fancybot/commands/misc/GaoKaoDaysRemainCommand.kt @@ -0,0 +1,30 @@ +/* + * Copyright © 2024 RTAkland + * Author: RTAkland + * Date: 2024/10/9 + */ + + +package cn.rtast.fancybot.commands.misc + +import cn.rtast.fancybot.annotations.CommandDescription +import cn.rtast.rob.entity.GroupMessage +import cn.rtast.rob.util.BaseCommand +import cn.rtast.rob.util.ob.OneBotListener +import java.time.LocalDate +import java.time.temporal.ChronoUnit + +@CommandDescription("高考倒计时") +class GaoKaoDaysRemainCommand : BaseCommand() { + override val commandNames = listOf("高考倒计时") + + override suspend fun executeGroup(listener: OneBotListener, message: GroupMessage, args: List) { + val gaoKaoDate = LocalDate.of(LocalDate.now().year, 6, 7) + val currentDate = LocalDate.now() + val adjustedGaoKaoDate = if (currentDate.isAfter(gaoKaoDate)) { + gaoKaoDate.plusYears(1) + } else gaoKaoDate + val daysBetween = ChronoUnit.DAYS.between(currentDate, adjustedGaoKaoDate) + message.reply("高考倒计时: ${daysBetween}天") + } +} \ No newline at end of file