Skip to content
This repository has been archived by the owner on Nov 24, 2024. It is now read-only.

Commit

Permalink
reset branch to #62a36ed7
Browse files Browse the repository at this point in the history
  • Loading branch information
guimc233 committed Jan 13, 2024
1 parent 62a36ed commit 34c5927
Showing 1 changed file with 22 additions and 15 deletions.
37 changes: 22 additions & 15 deletions src/main/kotlin/ltd/guimc/lgzbot/PluginMain.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,32 @@
package ltd.guimc.lgzbot


import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
import kotlinx.coroutines.runInterruptible
import ltd.guimc.lgzbot.command.*
import ltd.guimc.lgzbot.files.Config
import ltd.guimc.lgzbot.files.GithubSubConfig
import ltd.guimc.lgzbot.files.GithubWebhookSubData
import ltd.guimc.lgzbot.files.ModuleStateConfig
import ltd.guimc.lgzbot.listener.message.FunListener
import ltd.guimc.lgzbot.listener.message.GithubUrlListener
import ltd.guimc.lgzbot.listener.message.MessageFilter
import ltd.guimc.lgzbot.listener.multi.BakaListener
import ltd.guimc.lgzbot.listener.mute.AutoQuit
import ltd.guimc.lgzbot.listener.nudge.AntiNudgeSpam
import ltd.guimc.lgzbot.listener.nudge.NudgeMute
import ltd.guimc.lgzbot.utils.FbUtils.getFbValue
import ltd.guimc.lgzbot.utils.RegexUtils.getDefaultPinyinRegex
import ltd.guimc.lgzbot.utils.RegexUtils.getDefaultRegex
import ltd.guimc.lgzbot.utils.RequestUtils
import ltd.guimc.lgzbot.webhook.GithubWebHookReciver
import ltd.guimc.lgzbot.webhook.WebHookService
import net.mamoe.mirai.console.command.CommandManager
import net.mamoe.mirai.console.permission.Permission
import net.mamoe.mirai.console.permission.PermissionId
import net.mamoe.mirai.console.permission.PermissionService
import net.mamoe.mirai.console.plugin.author
import net.mamoe.mirai.console.plugin.jvm.JvmPluginDescription
import net.mamoe.mirai.console.plugin.jvm.KotlinPlugin
import net.mamoe.mirai.console.plugin.name
Expand All @@ -38,16 +46,11 @@ import net.mamoe.mirai.event.events.GroupMessageEvent
import net.mamoe.mirai.event.events.NewFriendRequestEvent
import net.mamoe.mirai.event.events.NudgeEvent
import net.mamoe.mirai.event.globalEventChannel
import kotlin.concurrent.thread
import java.io.IOException
import java.nio.file.*
import kotlin.io.path.*
import kotlinx.coroutines.*
import ltd.guimc.lgzbot.files.GithubWebhookSubData
import ltd.guimc.lgzbot.files.ModuleStateConfig
import ltd.guimc.lgzbot.listener.nudge.NudgeMute
import ltd.guimc.lgzbot.webhook.GithubWebHookReciver
import ltd.guimc.lgzbot.webhook.WebHookService
import java.nio.file.Path
import java.nio.file.StandardWatchEventKinds
import kotlin.concurrent.thread
import kotlin.io.path.name

object PluginMain : KotlinPlugin(
JvmPluginDescription(
Expand All @@ -69,10 +72,12 @@ object PluginMain : KotlinPlugin(
lateinit var adPinyinRegex: Array<Regex>
lateinit var fbValue: Array<String>
lateinit var webHookService: WebHookService
lateinit var configReloadThread: Thread
lateinit var configReloadJob: Job
var isRunning = false

override fun onEnable() {
logger.info("$name v$version by $author Loading")
logger.info("$name v$version 正在加载喵")
Config.reload()
GithubSubConfig.reload()
ModuleStateConfig.reload()
Expand All @@ -87,7 +92,7 @@ object PluginMain : KotlinPlugin(
registerCommands()
registerEvents()
isRunning = true
launch {
configReloadJob = launch {
val watchedPath = configFolderPath
val watcher = try {
runInterruptible(Dispatchers.IO) {
Expand All @@ -105,7 +110,7 @@ object PluginMain : KotlinPlugin(
var lastModify = 0L
var changedFlag = false

thread {
configReloadThread = thread {
while (isRunning) {
if (changedFlag && System.currentTimeMillis() - lastModify >= 3000) {
Config.reload()
Expand Down Expand Up @@ -138,14 +143,16 @@ object PluginMain : KotlinPlugin(
logger.warning("文件监听器已退出")
}
webHookService.start()
logger.info("$name v$version by $author Loaded")
logger.info("$name v$version 加载好了喵")
}

override fun onDisable() {
logger.info("$name v$version 正在卸载喵")
GithubWebhookSubData.save()
webHookService.stop()
logger.info("$name v$version by $author Disabling")
isRunning = false
configReloadThread.join()
logger.info("$name v$version 卸载好了喵")
}

private fun registerPerms() = PermissionService.INSTANCE.run {
Expand Down

0 comments on commit 34c5927

Please sign in to comment.