aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/cc/woverflow/chatting/chat/ChatShortcuts.kt
diff options
context:
space:
mode:
authorWyvest <wyvestbusiness@gmail.com>2023-11-22 08:18:19 +0900
committerWyvest <wyvestbusiness@gmail.com>2023-11-22 08:18:19 +0900
commit8b373f577d9c6dde26357ef3fc86691f1efef9b4 (patch)
treea5328e995d8f4df21a9fe94ac8e384be08833c70 /src/main/kotlin/cc/woverflow/chatting/chat/ChatShortcuts.kt
parent64230799777473246b5f98efbc596206c5bbf42d (diff)
downloadChatting-8b373f577d9c6dde26357ef3fc86691f1efef9b4.tar.gz
Chatting-8b373f577d9c6dde26357ef3fc86691f1efef9b4.tar.bz2
Chatting-8b373f577d9c6dde26357ef3fc86691f1efef9b4.zip
update PGT and relocate to org.polyfrost
Diffstat (limited to 'src/main/kotlin/cc/woverflow/chatting/chat/ChatShortcuts.kt')
-rw-r--r--src/main/kotlin/cc/woverflow/chatting/chat/ChatShortcuts.kt79
1 files changed, 0 insertions, 79 deletions
diff --git a/src/main/kotlin/cc/woverflow/chatting/chat/ChatShortcuts.kt b/src/main/kotlin/cc/woverflow/chatting/chat/ChatShortcuts.kt
deleted file mode 100644
index ef1881d..0000000
--- a/src/main/kotlin/cc/woverflow/chatting/chat/ChatShortcuts.kt
+++ /dev/null
@@ -1,79 +0,0 @@
-package cc.woverflow.chatting.chat
-
-import cc.polyfrost.oneconfig.config.core.ConfigUtils
-import cc.woverflow.chatting.Chatting
-import com.google.gson.JsonObject
-import com.google.gson.JsonParser
-import java.io.File
-
-object ChatShortcuts {
- private val oldShortcutsFile = File(Chatting.oldModDir, "chatshortcuts.json")
- private val shortcutsFile = ConfigUtils.getProfileFile("chatshortcuts.json")
- private val PARSER = JsonParser()
-
- private var initialized = false
-
- val shortcuts = object : ArrayList<Pair<String, String>>() {
- private val comparator = Comparator<Pair<String, String>> { o1, o2 ->
- return@Comparator o2.first.length.compareTo(o1.first.length)
- }
-
- override fun add(element: Pair<String, String>): Boolean {
- val value = super.add(element)
- sortWith(comparator)
- return value
- }
- }
-
- fun initialize() {
- if (initialized) {
- return
- } else {
- initialized = true
- }
- if (shortcutsFile.exists()) {
- try {
- val jsonObj = PARSER.parse(shortcutsFile.readText()).asJsonObject
- for (shortcut in jsonObj.entrySet()) {
- shortcuts.add(shortcut.key to shortcut.value.asString)
- }
- return
- } catch (_: Throwable) {
- shortcutsFile.renameTo(File(shortcutsFile.parentFile, "chatshortcuts.json.bak"))
- }
- }
- shortcutsFile.createNewFile()
- if (oldShortcutsFile.exists()) {
- shortcutsFile.writeText(
- oldShortcutsFile.readText()
- )
- } else {
- shortcutsFile.writeText(JsonObject().toString())
- }
- }
-
- fun removeShortcut(key: String) {
- shortcuts.removeIf { it.first == key }
- val jsonObj = PARSER.parse(shortcutsFile.readText()).asJsonObject
- jsonObj.remove(key)
- shortcutsFile.writeText(jsonObj.toString())
- }
-
- fun writeShortcut(key: String, value: String) {
- shortcuts.add(key to value)
- val jsonObj = PARSER.parse(shortcutsFile.readText()).asJsonObject
- jsonObj.addProperty(key, value)
- shortcutsFile.writeText(jsonObj.toString())
- }
-
- fun handleSentCommand(command: String): String {
- shortcuts.forEach {
- if (command == it.first || (command.startsWith(it.first) && command.substringAfter(it.first)
- .startsWith(" "))
- ) {
- return command.replaceFirst(it.first, it.second)
- }
- }
- return command
- }
-} \ No newline at end of file