diff --git a/KFCFactory.json b/KFCFactory.json new file mode 100644 index 0000000..b23a6f5 --- /dev/null +++ b/KFCFactory.json @@ -0,0 +1,12 @@ +{ + "9.0.56": { + "base_url": "https://qsign.trpgbot.com", + "type": "fuqiuluo/unidbg-fetch-qsign", + "key": "114514" + }, + "9.0.95": { + "base_url": "https://qsign.trpgbot.com", + "type": "fuqiuluo/unidbg-fetch-qsign", + "key": "114514" + } +} diff --git a/android_pad.json b/android_pad.json new file mode 100644 index 0000000..13bfc10 --- /dev/null +++ b/android_pad.json @@ -0,0 +1,17 @@ +{ + "apk_id": "com.tencent.mobileqq", + "app_id": 537220362, + "sub_app_id": 537220362, + "app_key": "0S200MNJT807V3GE", + "sort_version_name": "9.0.56.16830", + "build_time": 1713424357, + "apk_sign": "a6b745bf24a2c277527716f6f36eb68d", + "sdk_version": "6.0.0.2560", + "sso_version": 21, + "misc_bitmap": 150470524, + "main_sig_map": 34869472, + "sub_sig_map": 66560, + "dump_time": 1713424357, + "qua": "V1_AND_SQ_9.0.56_6372_YYB_D", + "protocol_type": 6 +} diff --git a/lib/fix-protocol-version-1.13.0.mirai2.jar b/lib/fix-protocol-version-1.13.0.mirai2.jar new file mode 100644 index 0000000..f66ab25 Binary files /dev/null and b/lib/fix-protocol-version-1.13.0.mirai2.jar differ diff --git a/pom.xml b/pom.xml index 6baa0d8..85d21fe 100644 --- a/pom.xml +++ b/pom.xml @@ -116,6 +116,19 @@ org.projectlombok lombok + + + org.asynchttpclient + async-http-client + 3.0.0 + + + xyz.cssxsh.mirai + fix-protocol + 3.3.1 + system + ${project.basedir}/lib/fix-protocol-version-1.13.0.mirai2.jar + @@ -125,6 +138,9 @@ org.springframework.boot spring-boot-maven-plugin + + true + org.jetbrains.kotlin diff --git a/src/main/kotlin/info/alinadace/miraibot/MiraiBotApplication.kt b/src/main/kotlin/info/alinadace/miraibot/MiraiBotApplication.kt index 9843f38..33a84d8 100644 --- a/src/main/kotlin/info/alinadace/miraibot/MiraiBotApplication.kt +++ b/src/main/kotlin/info/alinadace/miraibot/MiraiBotApplication.kt @@ -1,13 +1,19 @@ package info.alinadace.miraibot +import net.mamoe.mirai.utils.BotConfiguration +import org.mybatis.spring.annotation.MapperScan import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.runApplication import org.springframework.scheduling.annotation.EnableScheduling +import xyz.cssxsh.mirai.tool.FixProtocolVersion @SpringBootApplication @EnableScheduling +@MapperScan("info.alinadace.miraibot.service") class MiraiBotApplication fun main(args: Array) { +// FixProtocolVersion.fetch(BotConfiguration.MiraiProtocol.ANDROID_PHONE, "8.9.96") + FixProtocolVersion.load(BotConfiguration.MiraiProtocol.ANDROID_PAD) runApplication(*args) } diff --git a/src/main/kotlin/info/alinadace/miraibot/bean/BotConfiguration.kt b/src/main/kotlin/info/alinadace/miraibot/bean/BotConfiguration.kt index 787d437..261bfeb 100644 --- a/src/main/kotlin/info/alinadace/miraibot/bean/BotConfiguration.kt +++ b/src/main/kotlin/info/alinadace/miraibot/bean/BotConfiguration.kt @@ -60,7 +60,7 @@ class BotConfiguration { private fun BotConfiguration.extracted() { fileBasedDeviceInfo() - protocol = BotConfiguration.MiraiProtocol.MACOS + protocol = BotConfiguration.MiraiProtocol.ANDROID_PAD enableContactCache() } } diff --git a/src/main/kotlin/info/alinadace/miraibot/service/drink_water/DisableService.kt b/src/main/kotlin/info/alinadace/miraibot/service/drink_water/DisableService.kt index 13343c5..4cc717a 100644 --- a/src/main/kotlin/info/alinadace/miraibot/service/drink_water/DisableService.kt +++ b/src/main/kotlin/info/alinadace/miraibot/service/drink_water/DisableService.kt @@ -1,6 +1,6 @@ package info.alinadace.miraibot.service.drink_water -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper +import com.baomidou.mybatisplus.extension.kotlin.KtQueryWrapper import info.alinadace.miraibot.annotation.BotFunction import info.alinadace.miraibot.service.Service import info.alinadace.miraibot.service.drink_water.domain.DrinkWaterUser @@ -48,7 +48,7 @@ class DisableService : Service { override suspend fun active(event: FriendMessageEvent) { log.info("服务关闭请求 - DrinkWater - target:{}", event.sender.id) val one = drinkWaterMapper.selectOne( - LambdaQueryWrapper() + KtQueryWrapper(DrinkWaterUser()) .eq(DrinkWaterUser::botId, event.sender.id) ) if (one == null) { diff --git a/src/main/kotlin/info/alinadace/miraibot/service/drink_water/EnableService.kt b/src/main/kotlin/info/alinadace/miraibot/service/drink_water/EnableService.kt index 0773d1a..77e8c92 100644 --- a/src/main/kotlin/info/alinadace/miraibot/service/drink_water/EnableService.kt +++ b/src/main/kotlin/info/alinadace/miraibot/service/drink_water/EnableService.kt @@ -1,6 +1,6 @@ package info.alinadace.miraibot.service.drink_water -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper +import com.baomidou.mybatisplus.extension.kotlin.KtQueryWrapper import info.alinadace.miraibot.annotation.BotFunction import info.alinadace.miraibot.service.Service import info.alinadace.miraibot.service.drink_water.domain.DrinkWaterUser @@ -47,7 +47,7 @@ class EnableService : Service { override suspend fun active(event: FriendMessageEvent) { log.info("服务开启请求 - DrinkWater - target:{}", event.sender.id) val one = drinkWaterMapper.selectOne( - LambdaQueryWrapper() + KtQueryWrapper(DrinkWaterUser()) .eq(DrinkWaterUser::botId, event.sender.id) ) if (one == null) { diff --git a/src/main/kotlin/info/alinadace/miraibot/service/drink_water/domain/DrinkWaterUser.kt b/src/main/kotlin/info/alinadace/miraibot/service/drink_water/domain/DrinkWaterUser.kt index 2f2b788..8b093e2 100644 --- a/src/main/kotlin/info/alinadace/miraibot/service/drink_water/domain/DrinkWaterUser.kt +++ b/src/main/kotlin/info/alinadace/miraibot/service/drink_water/domain/DrinkWaterUser.kt @@ -1,11 +1,14 @@ package info.alinadace.miraibot.service.drink_water.domain +import com.baomidou.mybatisplus.annotation.TableId + /** * 喝水提醒用户 */ class DrinkWaterUser { - var id: Long = 0 - var botId: Long = 0 + @TableId + var id: Long? = null + var botId: Long? = null var enable: Byte? = null companion object { diff --git a/src/main/kotlin/info/alinadace/miraibot/service/drink_water/task/ReminderService.kt b/src/main/kotlin/info/alinadace/miraibot/service/drink_water/task/ReminderService.kt index 3fd2605..452aba8 100644 --- a/src/main/kotlin/info/alinadace/miraibot/service/drink_water/task/ReminderService.kt +++ b/src/main/kotlin/info/alinadace/miraibot/service/drink_water/task/ReminderService.kt @@ -1,8 +1,9 @@ package info.alinadace.miraibot.service.drink_water.task -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper +import com.baomidou.mybatisplus.extension.kotlin.KtQueryWrapper import info.alinadace.miraibot.service.drink_water.domain.DrinkWaterUser import info.alinadace.miraibot.service.drink_water.mapper.DrinkWaterMapper +import jakarta.annotation.Resource import net.mamoe.mirai.Bot import org.slf4j.Logger import org.slf4j.LoggerFactory @@ -21,22 +22,25 @@ class ReminderService { val log: Logger = LoggerFactory.getLogger(this::class.java) } + @Resource lateinit var bot: Bot + @Resource lateinit var drinkWaterMapper: DrinkWaterMapper @Scheduled(cron = "0 0 0,8-23/2 * * *") suspend fun reminder() { log.info("定时喝水提醒服务 - 开始") val list = drinkWaterMapper.selectList( - LambdaQueryWrapper() + KtQueryWrapper(DrinkWaterUser()) .eq(DrinkWaterUser::enable, DrinkWaterUser.ENABLE) ) + log.info("定时喝水提醒服务 - 查询结果 - {}", list) list.forEach { - if (it.botId == 0L) { + if (it.botId == null || it.botId == 0L) { return@forEach } - bot.getFriend(it.botId)?.sendMessage("请喝水") + bot.getFriend(it.botId!!)?.sendMessage("请喝水") log.info("定时喝水提醒服务 - 发送消息 - {}", it.botId) } log.info("定时喝水提醒服务 - 结束") diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 5ae4f87..10236c8 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -1,5 +1,7 @@ bot: id: 3437522130 + type: password + password: nobuts001 spring: data: redis: @@ -10,3 +12,6 @@ spring: url: jdbc:mysql://localhost:3306/mirai?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true username: root password: nobuts001 +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index ca10654..9617fb9 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -1,5 +1,7 @@ bot: id: 3437522130 + type: password + password: nobuts001 spring: data: redis: