Merge remote-tracking branch 'origin/master'

This commit is contained in:
Him188 2020-02-23 15:18:49 +08:00
commit 125bfd3245
4 changed files with 16 additions and 24 deletions

View File

@ -22,7 +22,7 @@ Mirai 是一个在全平台下运行,提供 QQ Android 和 TIM PC 协议支持
**[English](README-eng.md)** **[English](README-eng.md)**
多平台 **QQ Android 和 TimPC** 协议支持库与高效率的机器人框架. 多平台 **QQ Android** 和 **TIM PC** 协议支持库与高效率的机器人框架.
纯 Kotlin 实现协议和支持框架,模块<b>全部免费开源</b> 纯 Kotlin 实现协议和支持框架,模块<b>全部免费开源</b>
目前可运行在 JVM 或 Android。 目前可运行在 JVM 或 Android。
Mirai既可以作为你项目中的QQ协议支持Lib, 也可以作为单独的Application与插件承载QQ机器人 Mirai既可以作为你项目中的QQ协议支持Lib, 也可以作为单独的Application与插件承载QQ机器人
@ -38,7 +38,7 @@ Mirai支持以多种方式进行部署但是目前我们在集中对mirai-
### 开发者 ### 开发者
#### 以编写机器人逻辑为主 #### 以编写机器人逻辑为主
- 需了解<b>Java</b><b>Kotlin</b>, 使用[mirai-console](https://github.com/mamoe/mirai/tree/master/mirai-console)机器人框架的插件系统进行[插件开发(DOING)](), 直接进行逻辑编写并与其他插件开发者合作共享 - 需了解 `Java``Kotlin`, 使用 [mirai-console](https://github.com/mamoe/mirai/tree/master/mirai-console) 直接进行插件逻辑编写并与其他插件开发者合作共享
#### 使用Mirai为第三方库 #### 使用Mirai为第三方库
@ -56,12 +56,8 @@ Mirai支持以多种方式进行部署但是目前我们在集中对mirai-
#### 酷Q平台用户: #### 酷Q平台用户:
- 全部酷Q的DLL插件可以在mirai中直接加载, 需使用 `Mirai-Native` ([源码(DOING)](https://github.com/iTXTech/mirai-native),[插件版(mirai-console插件)(DOING)]()) - 酷Q的插件可以在 `Mirai` 中加载, 详见 [Mirai-Native](https://github.com/iTXTech/mirai-native)
- 全部基于 `酷Q HTTPAPI` 的插件可以在`mirai`中直接加载, 需使用`Mirai-CQ-Adapter`([源码(TODO)](https://github.com/iTXTech/mirai-native),[插件版(mirai-console插件)(TODO)]()) - 使用 `酷Q HTTPAPI` 的插件将可以在`mirai`中加载,`Mirai-CQ-Adapter` 正在计划中
#### 其他平台
- 如果你的插件是通过 `酷Q HTTPAPI` 实现的(绝大部分), 都可以通过 `Mirai-CQ-Adapter` 在mirai中直接使用
## 更新日志 ## 更新日志

View File

@ -28,7 +28,6 @@ import net.mamoe.mirai.api.http.data.common.MessageChainDTO
import net.mamoe.mirai.api.http.data.common.VerifyDTO import net.mamoe.mirai.api.http.data.common.VerifyDTO
import net.mamoe.mirai.api.http.data.common.toMessageChain import net.mamoe.mirai.api.http.data.common.toMessageChain
import net.mamoe.mirai.api.http.util.toJson import net.mamoe.mirai.api.http.util.toJson
import net.mamoe.mirai.contact.toList
import net.mamoe.mirai.message.data.MessageChain import net.mamoe.mirai.message.data.MessageChain
import net.mamoe.mirai.message.uploadImage import net.mamoe.mirai.message.uploadImage
import java.net.URL import java.net.URL
@ -90,8 +89,8 @@ fun Application.messageModule() {
parts.file("img")?.apply { parts.file("img")?.apply {
val image = streamProvider().use { val image = streamProvider().use {
when (type) { when (type) {
"group" -> session.bot.groups.toList().random().uploadImage(it) "group" -> session.bot.groups.firstOrNull()?.uploadImage(it)
"friend" -> session.bot.qqs.toList().random().uploadImage(it) "friend" -> session.bot.qqs.firstOrNull()?.uploadImage(it)
else -> null else -> null
} }
} }

View File

@ -6,7 +6,6 @@ import javafx.stage.Modality
import kotlinx.io.core.IoBuffer import kotlinx.io.core.IoBuffer
import net.mamoe.mirai.Bot import net.mamoe.mirai.Bot
import net.mamoe.mirai.console.MiraiConsole import net.mamoe.mirai.console.MiraiConsole
import net.mamoe.mirai.console.MiraiConsoleUI
import net.mamoe.mirai.console.graphical.model.BotModel import net.mamoe.mirai.console.graphical.model.BotModel
import net.mamoe.mirai.console.graphical.model.ConsoleInfo import net.mamoe.mirai.console.graphical.model.ConsoleInfo
import net.mamoe.mirai.console.graphical.model.PluginModel import net.mamoe.mirai.console.graphical.model.PluginModel
@ -29,15 +28,15 @@ class MiraiGraphicalUIController : Controller(), MiraiConsoleUI {
val botList = observableListOf<BotModel>() val botList = observableListOf<BotModel>()
val pluginList: ObservableList<PluginModel> by lazy(::getPluginsFromConsole) val pluginList: ObservableList<PluginModel> by lazy(::getPluginsFromConsole)
val consoleConfig : Map<String, Any> by lazy(::getConfigFromConsole) // val consoleConfig : Map<String, Any> by lazy(::getConfigFromConsole)
val consoleInfo = ConsoleInfo() val consoleInfo = ConsoleInfo()
suspend fun login(qq: String, psd: String) { suspend fun login(qq: String, psd: String) {
MiraiConsole.CommandListener.commandChannel.send("/login $qq $psd") // MiraiConsole
} }
suspend fun sendCommand(command: String) = MiraiConsole.CommandListener.commandChannel.send(command) suspend fun sendCommand(command: String) = Unit
override fun pushLog(identity: Long, message: String) = Platform.runLater { override fun pushLog(identity: Long, message: String) = Platform.runLater {
when (identity) { when (identity) {
@ -84,8 +83,6 @@ class MiraiGraphicalUIController : Controller(), MiraiConsoleUI {
// TODO // TODO
return observableListOf<PluginModel>() return observableListOf<PluginModel>()
} }
private fun getConfigFromConsole() = MiraiConsole.MiraiProperties.config.asMap()
} }
class GraphicalLoginSolver : LoginSolver() { class GraphicalLoginSolver : LoginSolver() {

View File

@ -12,12 +12,12 @@ class SettingsView : View() {
private val controller = find<MiraiGraphicalUIController>() private val controller = find<MiraiGraphicalUIController>()
override val root = form { override val root = form {
controller.consoleConfig.forEach { // controller.consoleConfig.forEach {
fieldset { // fieldset {
field(it.key) { // field(it.key) {
jfxTextfield(it.value.toString()) { isEditable = false } // jfxTextfield(it.value.toString()) { isEditable = false }
} // }
} // }
} // }
} }
} }