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: