From feb641057d0ccbb048f4ff6b80acb20cf4f20847 Mon Sep 17 00:00:00 2001 From: Him188 Date: Mon, 17 Feb 2020 16:23:02 +0800 Subject: [PATCH 01/27] Update main.yml --- .github/workflows/main.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e365cd46c..cad8de6b2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,9 +9,15 @@ jobs: steps: - uses: actions/checkout@v1 + - name: Setup Java JDK + uses: actions/setup-java@v1.3.0 + with: + # The Java version to make available on the path. Takes a whole or semver Java version, or 1.x syntax (e.g. 1.8 => Java 8.x) + java-version: 1.8 + # The package type (jre, jdk, jdk+fx) + java-package: jdk+fx - name: setup-android uses: msfjarvis/setup-android@0.2 with: # Gradle tasks to run - If you want to run ./gradlew assemble, specify assemble here. gradleTasks: build -x mirai-core:jvmTest - From 649d8f6ac29a37512574476045a3b9223e31f677 Mon Sep 17 00:00:00 2001 From: Him188 Date: Mon, 17 Feb 2020 16:28:10 +0800 Subject: [PATCH 02/27] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cad8de6b2..40d86aa04 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,7 +13,7 @@ jobs: uses: actions/setup-java@v1.3.0 with: # The Java version to make available on the path. Takes a whole or semver Java version, or 1.x syntax (e.g. 1.8 => Java 8.x) - java-version: 1.8 + java-version: 11 # The package type (jre, jdk, jdk+fx) java-package: jdk+fx - name: setup-android From 75ad1e17e511705518ec46a4fde3902b80e340fa Mon Sep 17 00:00:00 2001 From: Him188 Date: Mon, 17 Feb 2020 16:31:00 +0800 Subject: [PATCH 03/27] Update main.yml --- .github/workflows/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 40d86aa04..70e881e1f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,8 +16,8 @@ jobs: java-version: 11 # The package type (jre, jdk, jdk+fx) java-package: jdk+fx - - name: setup-android - uses: msfjarvis/setup-android@0.2 + - name: Gradle Command + uses: eskatos/gradle-command-action@v1 with: - # Gradle tasks to run - If you want to run ./gradlew assemble, specify assemble here. - gradleTasks: build -x mirai-core:jvmTest + # Gradle command line arguments, see gradle --help + arguments: build -x mirai-core:jvmTest From 3eeb640f77cef07e366298236d609c348242afad Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 16:48:18 +0800 Subject: [PATCH 04/27] Pure mode supported --- README.md | 1 + .../console/MiraiConsoleTerminalLoader.kt | 19 +++++-- mirai-console/build.gradle.kts | 5 ++ .../mamoe/mirai/console/MiraiConsoleUIPure.kt | 50 +++++++++++++++++++ 4 files changed, 70 insertions(+), 5 deletions(-) create mode 100644 mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleUIPure.kt diff --git a/README.md b/README.md index 5de5177bf..62d24d219 100644 --- a/README.md +++ b/README.md @@ -187,3 +187,4 @@ bot.subscribeAlways { ## Acknowledgement 特别感谢 [JetBrains](https://www.jetbrains.com/?from=mirai) 为开源项目提供免费的 [IntelliJ IDEA](https://www.jetbrains.com/idea/?from=mirai) 等 IDE 的授权 [](https://www.jetbrains.com/?from=mirai) + \ No newline at end of file diff --git a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalLoader.kt b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalLoader.kt index 33ca3c002..d302d7db7 100644 --- a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalLoader.kt +++ b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalLoader.kt @@ -6,11 +6,20 @@ class MiraiConsoleTerminalLoader { companion object { @JvmStatic fun main(args: Array) { - MiraiConsoleTerminalUI.start() - thread { - MiraiConsole.start( - MiraiConsoleTerminalUI - ) + if (args.contains("pure") || args.contains("-pure") || System.getProperty( + "os.name", + "" + ).toLowerCase().contains("windows") + ) { + println("[MiraiConsoleTerminalLoader]: 将以Pure[兼容模式]启动Console") + MiraiConsole.start(MiraiConsoleUIPure) + } else { + MiraiConsoleTerminalUI.start() + thread { + MiraiConsole.start( + MiraiConsoleTerminalUI + ) + } } Runtime.getRuntime().addShutdownHook(thread(start = false) { MiraiConsole.stop() diff --git a/mirai-console/build.gradle.kts b/mirai-console/build.gradle.kts index 540eeb6ff..ea4cb0589 100644 --- a/mirai-console/build.gradle.kts +++ b/mirai-console/build.gradle.kts @@ -23,6 +23,11 @@ fun kotlinx(id: String, version: String) = "org.jetbrains.kotlinx:kotlinx-$id:$v fun ktor(id: String, version: String) = "io.ktor:ktor-$id:$version" +tasks.withType() { + manifest { + attributes["Main-Class"] = "net.mamoe.mirai.console.MiraiConsoleUIPureLoader" + } +} dependencies { diff --git a/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleUIPure.kt b/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleUIPure.kt new file mode 100644 index 000000000..de07c0c10 --- /dev/null +++ b/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleUIPure.kt @@ -0,0 +1,50 @@ +package net.mamoe.mirai.console + +import net.mamoe.mirai.Bot +import net.mamoe.mirai.utils.DefaultLoginSolver +import net.mamoe.mirai.utils.LoginSolver +import kotlin.concurrent.thread + +object MiraiConsoleUIPure : MiraiConsoleUI { + override fun pushLog(identity: Long, message: String) { + println(message) + } + + override fun prePushBot(identity: Long) { + + } + + override fun pushBot(bot: Bot) { + + } + + override fun pushVersion(consoleVersion: String, consoleBuild: String, coreVersion: String) { + + } + + override suspend fun requestInput(question: String): String { + return readLine() ?: "" + } + + override fun pushBotAdminStatus(identity: Long, admins: List) { + + } + + override fun createLoginSolver(): LoginSolver { + return DefaultLoginSolver() + } + +} + + +class MiraiConsolePureLoader { + companion object { + @JvmStatic + fun main(args: Array) { + MiraiConsole.start(MiraiConsoleUIPure) + Runtime.getRuntime().addShutdownHook(thread(start = false) { + MiraiConsole.stop() + }) + } + } +} \ No newline at end of file From 2a82fe6b8037f90799f3355c48ea98a1b53496f3 Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 16:50:38 +0800 Subject: [PATCH 05/27] Pure mode supported --- .../src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt b/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt index 4b46a63c0..0cd06e2ff 100644 --- a/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt +++ b/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt @@ -80,6 +80,9 @@ object MiraiConsole { fun stop() { PluginManager.disableAllPlugins() + bots.forEach { + it.get()?.close() + } } object HTTPAPIAdaptar { From e284267d4779f3f4663032cfeb76917b5d7b598a Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 16:56:03 +0800 Subject: [PATCH 06/27] mirai console shutdown logic --- .../src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt b/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt index 0cd06e2ff..9f886eccf 100644 --- a/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt +++ b/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt @@ -49,6 +49,8 @@ object MiraiConsole { var coreVersion = "v0.15.1" val build = "Beta" + var allDown = false + lateinit var frontEnd: MiraiConsoleUI fun start( frontEnd: MiraiConsoleUI @@ -80,6 +82,7 @@ object MiraiConsole { fun stop() { PluginManager.disableAllPlugins() + allDown = true bots.forEach { it.get()?.close() } @@ -290,6 +293,9 @@ object MiraiConsole { } tailrec fun processNextCommandLine() { + if (allDown) { + return + } var fullCommand = commandChannel.poll() if (fullCommand != null) { if (!fullCommand.startsWith("/")) { From 9828bbf69417c139472425b87297c74445e2bd1e Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 17:00:20 +0800 Subject: [PATCH 07/27] mirai console shutdown logic --- .../net/mamoe/mirai/console/MiraiConsoleTerminalLoader.kt | 1 + .../net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalLoader.kt b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalLoader.kt index d302d7db7..5e97c668e 100644 --- a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalLoader.kt +++ b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalLoader.kt @@ -23,6 +23,7 @@ class MiraiConsoleTerminalLoader { } Runtime.getRuntime().addShutdownHook(thread(start = false) { MiraiConsole.stop() + MiraiConsoleTerminalUI.exit() }) } } diff --git a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt index 5fe7a4dd4..834326ee2 100644 --- a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt +++ b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt @@ -353,7 +353,7 @@ object MiraiConsoleTerminalUI : MiraiConsoleUI { emptyCommand() } KeyType.Escape -> { - exitProcess(0) + exit() } else -> { if (keyStroke.character != null) { @@ -649,6 +649,12 @@ object MiraiConsoleTerminalUI : MiraiConsoleUI { } redrawLogs(log[screens[currentScreenId]]!!) } + + fun exit() { + terminal.exitPrivateMode() + terminal.close() + exitProcess(0) + } } From 01b05ee93b01d0e677a7037a32a381c1de0e980b Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 17:04:17 +0800 Subject: [PATCH 08/27] mirai console shutdown logic --- .../mamoe/mirai/console/MiraiConsoleTerminalUI.kt | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt index 834326ee2..c9cb76fd0 100644 --- a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt +++ b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt @@ -227,19 +227,6 @@ object MiraiConsoleTerminalUI : MiraiConsoleUI { hasStart = true val defaultTerminalFactory = DefaultTerminalFactory(internalPrinter, System.`in`, Charset.defaultCharset()) - - val fontSize = 12 - defaultTerminalFactory - .setInitialTerminalSize( - TerminalSize( - 101, 60 - ) - ) - .setTerminalEmulatorFontConfiguration( - SwingTerminalFontConfiguration.newInstance( - Font("Monospaced", Font.PLAIN, fontSize) - ) - ) try { terminal = defaultTerminalFactory.createTerminal() terminal.enterPrivateMode() From 7357c65e721b5b453842c839feb07673128aa208 Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 17:15:39 +0800 Subject: [PATCH 09/27] Terminal Console quitable --- .../net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt index c9cb76fd0..d27314170 100644 --- a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt +++ b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt @@ -638,9 +638,13 @@ object MiraiConsoleTerminalUI : MiraiConsoleUI { } fun exit() { - terminal.exitPrivateMode() - terminal.close() - exitProcess(0) + try { + terminal.exitPrivateMode() + terminal.close() + exitProcess(0) + } catch (ignored: Exception) { + exitProcess(0) + } } } From 924fa65f6a7ee00719a4c881ef638fd57170bfe4 Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 17:36:22 +0800 Subject: [PATCH 10/27] terminal console closable --- .../console/MiraiConsoleTerminalLoader.kt | 2 +- .../mirai/console/MiraiConsoleTerminalUI.kt | 2 +- mirai-console/build.gradle.kts | 3 +- .../net/mamoe/mirai/console/MiraiConsole.kt | 8 +++-- .../mamoe/mirai/console/MiraiConsoleUIPure.kt | 30 +++++++++++++++++-- 5 files changed, 36 insertions(+), 9 deletions(-) diff --git a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalLoader.kt b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalLoader.kt index 5e97c668e..25aebf0ed 100644 --- a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalLoader.kt +++ b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalLoader.kt @@ -12,7 +12,7 @@ class MiraiConsoleTerminalLoader { ).toLowerCase().contains("windows") ) { println("[MiraiConsoleTerminalLoader]: 将以Pure[兼容模式]启动Console") - MiraiConsole.start(MiraiConsoleUIPure) + MiraiConsole.start(MiraiConsoleUIPure()) } else { MiraiConsoleTerminalUI.start() thread { diff --git a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt index d27314170..029813bc6 100644 --- a/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt +++ b/mirai-console-terminal/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleTerminalUI.kt @@ -643,7 +643,7 @@ object MiraiConsoleTerminalUI : MiraiConsoleUI { terminal.close() exitProcess(0) } catch (ignored: Exception) { - exitProcess(0) + } } } diff --git a/mirai-console/build.gradle.kts b/mirai-console/build.gradle.kts index ea4cb0589..8ab42c601 100644 --- a/mirai-console/build.gradle.kts +++ b/mirai-console/build.gradle.kts @@ -7,7 +7,6 @@ plugins { apply(plugin = "com.github.johnrengelman.shadow") - val kotlinVersion: String by rootProject.ext val atomicFuVersion: String by rootProject.ext val coroutinesVersion: String by rootProject.ext @@ -25,7 +24,7 @@ fun ktor(id: String, version: String) = "io.ktor:ktor-$id:$version" tasks.withType() { manifest { - attributes["Main-Class"] = "net.mamoe.mirai.console.MiraiConsoleUIPureLoader" + attributes["Main-Class"] = "net.mamoe.mirai.console.MiraiConsolePureLoader" } } diff --git a/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt b/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt index 9f886eccf..f4bbaafdb 100644 --- a/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt +++ b/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsole.kt @@ -83,8 +83,12 @@ object MiraiConsole { fun stop() { PluginManager.disableAllPlugins() allDown = true - bots.forEach { - it.get()?.close() + try { + bots.forEach { + it.get()?.close() + } + } catch (ignored: Exception) { + } } diff --git a/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleUIPure.kt b/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleUIPure.kt index de07c0c10..b361e3ce4 100644 --- a/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleUIPure.kt +++ b/mirai-console/src/main/kotlin/net/mamoe/mirai/console/MiraiConsoleUIPure.kt @@ -1,11 +1,29 @@ package net.mamoe.mirai.console +import kotlinx.coroutines.delay import net.mamoe.mirai.Bot import net.mamoe.mirai.utils.DefaultLoginSolver import net.mamoe.mirai.utils.LoginSolver import kotlin.concurrent.thread -object MiraiConsoleUIPure : MiraiConsoleUI { +class MiraiConsoleUIPure() : MiraiConsoleUI { + var requesting = false + var requestStr = "" + + init { + thread { + while (true) { + val input = readLine() ?: "" + if (requesting) { + requestStr = input + requesting = false + } else { + MiraiConsole.CommandListener.commandChannel.offer(input) + } + } + } + } + override fun pushLog(identity: Long, message: String) { println(message) } @@ -23,7 +41,13 @@ object MiraiConsoleUIPure : MiraiConsoleUI { } override suspend fun requestInput(question: String): String { - return readLine() ?: "" + requesting = true + while (true) { + delay(50) + if (!requesting) { + return requestStr + } + } } override fun pushBotAdminStatus(identity: Long, admins: List) { @@ -41,7 +65,7 @@ class MiraiConsolePureLoader { companion object { @JvmStatic fun main(args: Array) { - MiraiConsole.start(MiraiConsoleUIPure) + MiraiConsole.start(MiraiConsoleUIPure()) Runtime.getRuntime().addShutdownHook(thread(start = false) { MiraiConsole.stop() }) From ed64866d162880ba5d441dec69972d03e8c83ba2 Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 17:38:36 +0800 Subject: [PATCH 11/27] terminal console closable --- mirai-console/build.gradle.kts | 1 - 1 file changed, 1 deletion(-) diff --git a/mirai-console/build.gradle.kts b/mirai-console/build.gradle.kts index 8ab42c601..76632b6b0 100644 --- a/mirai-console/build.gradle.kts +++ b/mirai-console/build.gradle.kts @@ -39,7 +39,6 @@ dependencies { api(group = "com.alibaba", name = "fastjson", version = "1.2.62") api(group = "org.yaml", name = "snakeyaml", version = "1.25") api(group = "com.moandjiezana.toml", name = "toml4j", version = "0.7.2") - api(group = "com.googlecode.lanterna", name = "lanterna", version = "3.0.2") api("org.bouncycastle:bcprov-jdk15on:1.64") implementation("no.tornado:tornadofx:1.7.17") From 261306f6b0dc1945135ee265cfee56dfa4472c12 Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:01:37 +0800 Subject: [PATCH 12/27] terminal console closable --- mirai-console/README.MD | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index 3a6ae7272..7f532e94b 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -1,6 +1,14 @@ # Mirai Console -#### Mirai Console allows you to run Mirai in command lines/terminal. -#### 你可以终端中或命令行环境下运行在Mirai +你可以全平台运行Mirai高效率机器人框架 +### Mirai Console提供了4个版本以满足各种需要 +#### MiraiConsole-Pure +#### 最纯净版的Mirai-Console CLI环境 通过标准输入与标准输出 交互 +#### Mirai-Console-Terminal (UNIX)Terminal环境 提供简介好用的富文本控制台 +#### Mirai-Console-Android 安卓APP (TODO) +#### Mirai-Console-Graphical JavaFX的图形化界面, 有Native版本(.jar/.exe/.dmg) +#### Mirai-Console-WebPanel Web Panel操作(TODO) + +### 如何选择版本
#### More Importantly, Mirai Console support Plugins, tells the bot what to do From 5bb85a2d016054419ff89bc83e122beda5b1b40c Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:01:47 +0800 Subject: [PATCH 13/27] terminal console closable --- mirai-console/README.MD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index 7f532e94b..b024b8c90 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -1,6 +1,6 @@ # Mirai Console 你可以全平台运行Mirai高效率机器人框架 -### Mirai Console提供了4个版本以满足各种需要 +### Mirai Console提供了5个版本以满足各种需要 #### MiraiConsole-Pure #### 最纯净版的Mirai-Console CLI环境 通过标准输入与标准输出 交互 #### Mirai-Console-Terminal (UNIX)Terminal环境 提供简介好用的富文本控制台 From 5ecfe93a68ae37c56d5c09879eed12eb96d03f03 Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:02:25 +0800 Subject: [PATCH 14/27] terminal console closable --- mirai-console/README.MD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index b024b8c90..ca2f16bb9 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -2,7 +2,7 @@ 你可以全平台运行Mirai高效率机器人框架 ### Mirai Console提供了5个版本以满足各种需要 #### MiraiConsole-Pure -#### 最纯净版的Mirai-Console CLI环境 通过标准输入与标准输出 交互 +#### Mirai-Console 最纯净版, CLI环境, 通过标准输入与标准输出 交互 #### Mirai-Console-Terminal (UNIX)Terminal环境 提供简介好用的富文本控制台 #### Mirai-Console-Android 安卓APP (TODO) #### Mirai-Console-Graphical JavaFX的图形化界面, 有Native版本(.jar/.exe/.dmg) From 208ee9aee29298f723d633119db8e7ba0ef066bf Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:04:48 +0800 Subject: [PATCH 15/27] terminal console closable --- mirai-console/README.MD | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index ca2f16bb9..213900722 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -1,12 +1,15 @@ # Mirai Console 你可以全平台运行Mirai高效率机器人框架 ### Mirai Console提供了5个版本以满足各种需要 -#### MiraiConsole-Pure -#### Mirai-Console 最纯净版, CLI环境, 通过标准输入与标准输出 交互 -#### Mirai-Console-Terminal (UNIX)Terminal环境 提供简介好用的富文本控制台 -#### Mirai-Console-Android 安卓APP (TODO) -#### Mirai-Console-Graphical JavaFX的图形化界面, 有Native版本(.jar/.exe/.dmg) -#### Mirai-Console-WebPanel Web Panel操作(TODO) + +| name | type | +| --- | --- | +| MiraiConsole-Pure | 最纯净版, CLI环境, 通过标准输入与标准输出 交互 | +| Mirai-Console-Terminal | (UNIX)Terminal环境 提供简介好用的富文本控制台 | +| Mirai-Console-Android | 安卓APP (TODO) | +| Mirai-Console-Graphical | JavaFX的图形化界面, 有Native版本(.jar/.exe/.dmg) | +| Mirai-Console-WebPanel | Web Panel操作(TODO) | + ### 如何选择版本
From 4d58edeed3ba19402de47e116815297b0df81f7f Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:05:33 +0800 Subject: [PATCH 16/27] terminal console closable --- mirai-console/README.MD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index 213900722..ab6bb0ea9 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -4,7 +4,7 @@ | name | type | | --- | --- | -| MiraiConsole-Pure | 最纯净版, CLI环境, 通过标准输入与标准输出 交互 | +| Mirai-Console-Pure | 最纯净版, CLI环境, 通过标准输入与标准输出 交互 | | Mirai-Console-Terminal | (UNIX)Terminal环境 提供简介好用的富文本控制台 | | Mirai-Console-Android | 安卓APP (TODO) | | Mirai-Console-Graphical | JavaFX的图形化界面, 有Native版本(.jar/.exe/.dmg) | From dbe650a10e5a3e52e4ac04781ef3ba078f1af3d3 Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:05:50 +0800 Subject: [PATCH 17/27] terminal console closable --- mirai-console/README.MD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index ab6bb0ea9..e6c5893f0 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -2,7 +2,7 @@ 你可以全平台运行Mirai高效率机器人框架 ### Mirai Console提供了5个版本以满足各种需要 -| name | type | +| 名字 | 介绍 | | --- | --- | | Mirai-Console-Pure | 最纯净版, CLI环境, 通过标准输入与标准输出 交互 | | Mirai-Console-Terminal | (UNIX)Terminal环境 提供简介好用的富文本控制台 | From c009d493315035664bf471a6a790982c454112ff Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:06:15 +0800 Subject: [PATCH 18/27] terminal console closable --- mirai-console/README.MD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index e6c5893f0..529b0aa84 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -1,5 +1,5 @@ # Mirai Console -你可以全平台运行Mirai高效率机器人框架 +你可以在全平台运行Mirai高效率机器人框架 ### Mirai Console提供了5个版本以满足各种需要 | 名字 | 介绍 | From a16e775efaa02a751006f9b329ca50371f5a3e94 Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:06:36 +0800 Subject: [PATCH 19/27] terminal console closable --- mirai-console/README.MD | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index 529b0aa84..628e63758 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -1,6 +1,7 @@ # Mirai Console 你可以在全平台运行Mirai高效率机器人框架 ### Mirai Console提供了5个版本以满足各种需要 +#### 所有版本的Mirai Console API相同 插件系统相同 | 名字 | 介绍 | | --- | --- | @@ -11,6 +12,7 @@ | Mirai-Console-WebPanel | Web Panel操作(TODO) | + ### 如何选择版本
From 52c2f7a4bbb10c71bb400cf5e2fefc5865299288 Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:15:38 +0800 Subject: [PATCH 20/27] terminal console closable --- mirai-console/README.MD | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index 628e63758..5aca7f84d 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -14,7 +14,28 @@ ### 如何选择版本 -
+1: Mirai-Console-Pure 兼容性最高, 在其他都表现不佳的时候请使用 +2: 以系统区分 +```kotlin + return when(operatingSystem){ + WINDOWS -> listOf("Graphical","WebPanel","Pure") + MAC_OS -> listOf("Graphical","Terminal","WebPanel","Pure") + Linux -> listOf("Terminal","Pure") + ANDROID -> listOf("Android","Pure","WebPanel") + else -> listOf("Pure") + } +``` +3: 以策略区分 +```kotlin + return when(task){ + 体验 -> listOf("Graphical","Terminal","WebPanel","Android","Pure") + 测试插件 -> listOf("Pure") + 调试插件 -> byOperatingSystem() + Linux稳定挂机 -> listOf("Terminal","Pure") + else -> listOf("Pure") + } +``` + #### More Importantly, Mirai Console support Plugins, tells the bot what to do #### Mirai Console 支持插件系统, 你可以自己开发或使用公开的插件来逻辑化机器人, 如群管 From 9f4dfa7e43314878ab56e89785cb183f51574485 Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:16:15 +0800 Subject: [PATCH 21/27] terminal console closable --- mirai-console/README.MD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index 5aca7f84d..ac05b5a28 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -22,17 +22,17 @@ MAC_OS -> listOf("Graphical","Terminal","WebPanel","Pure") Linux -> listOf("Terminal","Pure") ANDROID -> listOf("Android","Pure","WebPanel") - else -> listOf("Pure") + else -> listOf("Pure") } ``` 3: 以策略区分 ```kotlin return when(task){ - 体验 -> listOf("Graphical","Terminal","WebPanel","Android","Pure") - 测试插件 -> listOf("Pure") - 调试插件 -> byOperatingSystem() + 体验 -> listOf("Graphical","Terminal","WebPanel","Android","Pure") + 测试插件 -> listOf("Pure") + 调试插件 -> byOperatingSystem() Linux稳定挂机 -> listOf("Terminal","Pure") - else -> listOf("Pure") + else -> listOf("Pure") } ``` From 07734e2cc3d0ba2872cecd8133ddfdef5369ab4e Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:16:33 +0800 Subject: [PATCH 22/27] terminal console closable --- mirai-console/README.MD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index ac05b5a28..b6522c36d 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -14,7 +14,7 @@ ### 如何选择版本 -1: Mirai-Console-Pure 兼容性最高, 在其他都表现不佳的时候请使用 +1: Mirai-Console-Pure 兼容性最高, 在其他都表现不佳的时候请使用
2: 以系统区分 ```kotlin return when(operatingSystem){ From 425cab9bbc310adc1582fa458490ed326e01428e Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:17:48 +0800 Subject: [PATCH 23/27] terminal console closable --- mirai-console/README.MD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index b6522c36d..0b213420d 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -20,7 +20,7 @@ return when(operatingSystem){ WINDOWS -> listOf("Graphical","WebPanel","Pure") MAC_OS -> listOf("Graphical","Terminal","WebPanel","Pure") - Linux -> listOf("Terminal","Pure") + LINUX -> listOf("Terminal","Pure") ANDROID -> listOf("Android","Pure","WebPanel") else -> listOf("Pure") } @@ -31,7 +31,7 @@ 体验 -> listOf("Graphical","Terminal","WebPanel","Android","Pure") 测试插件 -> listOf("Pure") 调试插件 -> byOperatingSystem() - Linux稳定挂机 -> listOf("Terminal","Pure") + UNIX稳定挂机 -> listOf("Terminal","Pure") else -> listOf("Pure") } ``` From ef8b9ed86138db943de0949151524a38cca2505e Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:18:28 +0800 Subject: [PATCH 24/27] terminal console closable --- mirai-console/README.MD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index 0b213420d..efc310292 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -31,7 +31,7 @@ 体验 -> listOf("Graphical","Terminal","WebPanel","Android","Pure") 测试插件 -> listOf("Pure") 调试插件 -> byOperatingSystem() - UNIX稳定挂机 -> listOf("Terminal","Pure") + 稳定挂机 -> listOf("Terminal","Pure") else -> listOf("Pure") } ``` From 3ebe6cea615ee4a19464df655cb9b4f14a233c81 Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:19:50 +0800 Subject: [PATCH 25/27] terminal console closable --- mirai-console/README.MD | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index efc310292..59075bacf 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -10,6 +10,7 @@ | Mirai-Console-Android | 安卓APP (TODO) | | Mirai-Console-Graphical | JavaFX的图形化界面, 有Native版本(.jar/.exe/.dmg) | | Mirai-Console-WebPanel | Web Panel操作(TODO) | +| Mirai-Console-Ios | IOS APP (TODO) | @@ -22,6 +23,7 @@ MAC_OS -> listOf("Graphical","Terminal","WebPanel","Pure") LINUX -> listOf("Terminal","Pure") ANDROID -> listOf("Android","Pure","WebPanel") + IOS -> listOf("Ios") else -> listOf("Pure") } ``` From a034f561d90a49809bdd4580ddc80856fbde77e2 Mon Sep 17 00:00:00 2001 From: "jiahua.liu" Date: Mon, 17 Feb 2020 18:20:48 +0800 Subject: [PATCH 26/27] terminal console closable --- mirai-console/README.MD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mirai-console/README.MD b/mirai-console/README.MD index 59075bacf..75bb84696 100644 --- a/mirai-console/README.MD +++ b/mirai-console/README.MD @@ -1,6 +1,6 @@ # Mirai Console 你可以在全平台运行Mirai高效率机器人框架 -### Mirai Console提供了5个版本以满足各种需要 +### Mirai Console提供了6个版本以满足各种需要 #### 所有版本的Mirai Console API相同 插件系统相同 | 名字 | 介绍 | From 24eaa15c0d3b52530aebcde60d6d0577c1ce0b8e Mon Sep 17 00:00:00 2001 From: ryoii Date: Mon, 17 Feb 2020 18:30:27 +0800 Subject: [PATCH 27/27] graphical console import jfoenix UI --- mirai-console-graphical/build.gradle.kts | 1 + .../kotlin/net/mamoe/mirai/console/graphical/view/PrimaryView.kt | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/mirai-console-graphical/build.gradle.kts b/mirai-console-graphical/build.gradle.kts index e52642d61..ab92cffa2 100644 --- a/mirai-console-graphical/build.gradle.kts +++ b/mirai-console-graphical/build.gradle.kts @@ -29,6 +29,7 @@ dependencies { api(project(":mirai-console")) runtimeOnly(files("../mirai-core-qqandroid/build/classes/kotlin/jvm/main")) api(group = "no.tornado", name = "tornadofx", version = "1.7.19") + api(group = "com.jfoenix", name = "jfoenix", version = "9.0.8") api("org.bouncycastle:bcprov-jdk15on:1.64") // classpath is not set correctly by IDE } diff --git a/mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/PrimaryView.kt b/mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/PrimaryView.kt index 1900e25cc..51e229cbd 100644 --- a/mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/PrimaryView.kt +++ b/mirai-console-graphical/src/main/kotlin/net/mamoe/mirai/console/graphical/view/PrimaryView.kt @@ -2,7 +2,6 @@ package net.mamoe.mirai.console.graphical.view import javafx.scene.control.TabPane import javafx.stage.Modality -import net.mamoe.mirai.Bot import net.mamoe.mirai.console.graphical.controller.MiraiGraphicalUIController import tornadofx.*