mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-26 07:20:09 +08:00
ktorNMSL
This commit is contained in:
parent
7189e620f7
commit
1437ad7082
mirai-api-http/src/main/kotlin/net/mamoe/mirai/api/http
mirai-console/src/main/kotlin/net/mamoe/mirai
@ -11,10 +11,15 @@ package net.mamoe.mirai.api.http
|
||||
|
||||
import io.ktor.application.Application
|
||||
import io.ktor.server.cio.CIO
|
||||
import io.ktor.server.engine.applicationEngineEnvironment
|
||||
import io.ktor.server.engine.connector
|
||||
import io.ktor.server.engine.embeddedServer
|
||||
import io.ktor.util.KtorExperimentalAPI
|
||||
import net.mamoe.mirai.api.http.route.mirai
|
||||
import net.mamoe.mirai.utils.DefaultLogger
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.slf4j.helpers.NOPLogger
|
||||
import org.slf4j.helpers.NOPLoggerFactory
|
||||
|
||||
object MiraiHttpAPIServer {
|
||||
|
||||
@ -39,7 +44,14 @@ object MiraiHttpAPIServer {
|
||||
|
||||
// TODO: start是无阻塞的,理应获取启动状态后再执行后续代码
|
||||
try {
|
||||
embeddedServer(CIO, port, module = Application::mirai).start()
|
||||
embeddedServer(CIO, environment = applicationEngineEnvironment {
|
||||
this.log = NOPLoggerFactory().getLogger("NMYSL")
|
||||
this.module(Application::mirai)
|
||||
|
||||
connector {
|
||||
this.port = port
|
||||
}
|
||||
}).start()
|
||||
|
||||
logger.info("Http api server is running with authKey: ${SessionManager.authKey}")
|
||||
callback?.invoke()
|
||||
|
@ -35,11 +35,18 @@ import net.mamoe.mirai.api.http.data.common.DTO
|
||||
import net.mamoe.mirai.api.http.data.common.VerifyDTO
|
||||
import net.mamoe.mirai.api.http.util.jsonParseOrNull
|
||||
import net.mamoe.mirai.api.http.util.toJson
|
||||
import org.slf4j.Logger
|
||||
import org.slf4j.helpers.NOPLogger
|
||||
import org.slf4j.helpers.NOPLoggerFactory
|
||||
import org.slf4j.impl.SimpleLogger
|
||||
import org.slf4j.impl.SimpleLoggerFactory
|
||||
|
||||
fun Application.mirai() {
|
||||
install(DefaultHeaders)
|
||||
install(CallLogging)
|
||||
install(CallLogging) {
|
||||
logger = NOPLoggerFactory().getLogger("NMSL")
|
||||
|
||||
}
|
||||
authModule()
|
||||
messageModule()
|
||||
infoModule()
|
||||
|
@ -19,6 +19,7 @@ import net.mamoe.mirai.api.http.generateSessionKey
|
||||
import net.mamoe.mirai.contact.sendMessage
|
||||
import net.mamoe.mirai.utils.MiraiLogger
|
||||
import java.io.File
|
||||
import java.io.PrintStream
|
||||
import kotlin.concurrent.thread
|
||||
|
||||
object MiraiConsole {
|
||||
@ -280,6 +281,7 @@ class MiraiConsoleLoader {
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun main(args: Array<String>) {
|
||||
|
||||
MiraiConsole.start()
|
||||
Runtime.getRuntime().addShutdownHook(thread(start = false) {
|
||||
MiraiConsole.stop()
|
||||
|
@ -11,6 +11,8 @@ import com.googlecode.lanterna.terminal.Terminal
|
||||
import com.googlecode.lanterna.terminal.TerminalResizeListener
|
||||
import com.googlecode.lanterna.terminal.swing.SwingTerminal
|
||||
import com.googlecode.lanterna.terminal.swing.SwingTerminalFrame
|
||||
import java.io.OutputStream
|
||||
import java.io.PrintStream
|
||||
import java.lang.StringBuilder
|
||||
import java.util.*
|
||||
import kotlin.concurrent.thread
|
||||
@ -138,7 +140,7 @@ object MiraiConsoleUI {
|
||||
val height = terminal.terminalSize.rows
|
||||
terminal.setBackgroundColor(TextColor.ANSI.DEFAULT)
|
||||
if (!inited) {
|
||||
val mainTitle = "Mirai Console v0.01 Core v0.14"
|
||||
val mainTitle = "Mirai Console v0.01 Core v0.15"
|
||||
textGraphics.foregroundColor = TextColor.ANSI.WHITE
|
||||
textGraphics.backgroundColor = TextColor.ANSI.GREEN
|
||||
textGraphics.putString((width - mainTitle.length) / 2, 1, mainTitle, SGR.BOLD)
|
||||
|
Loading…
Reference in New Issue
Block a user