From 640f1c8a60ce44a0fb2d2f8a91e47405a8fee801 Mon Sep 17 00:00:00 2001 From: liujiahua123123 <liujiahua123123@126.com> Date: Wed, 21 Aug 2019 11:08:33 +0800 Subject: [PATCH] YAML supported --- .../java/net/mamoe/mirai/MiraiServer.java | 76 ++++++++----------- .../utils/config/MiraiConfigSection.java | 9 +++ 2 files changed, 40 insertions(+), 45 deletions(-) diff --git a/mirai-core/src/main/java/net/mamoe/mirai/MiraiServer.java b/mirai-core/src/main/java/net/mamoe/mirai/MiraiServer.java index df1200166..e9d7805ce 100644 --- a/mirai-core/src/main/java/net/mamoe/mirai/MiraiServer.java +++ b/mirai-core/src/main/java/net/mamoe/mirai/MiraiServer.java @@ -16,6 +16,7 @@ import net.mamoe.mirai.utils.setting.MiraiSettingMapSection; import java.io.File; import java.io.IOException; +import java.util.List; import java.util.Scanner; public class MiraiServer { @@ -97,49 +98,7 @@ public class MiraiServer { this.initQQConfig(qqs); } - /* - MiraiSettingMapSection qqs = this.setting.getMapSection("qq"); - qqs.forEach((a,p) -> { - this.getLogger().info(LoggerTextFormat.SKY_BLUE + "Finding available ports between " + "1-65536"); - try { - int port = MiraiNetwork.getAvailablePort(); - this.getLogger().info(LoggerTextFormat.SKY_BLUE + "Listening on port " + port); - - } catch (IOException e) { - e.printStackTrace(); - } - }); - */ - - getLogger().info("ready to connect"); - - Robot robot = new Robot(1994701021, "xiaoqqq"); - try { - //System.out.println(Protocol.Companion.getSERVER_IP().toString()); - //robot.connect("127.0.0.1"); - robot.connect("125.39.132.242"); - } catch (InterruptedException e) { - e.printStackTrace(); - System.exit(1); - } -/* - System.out.println("network test"); - try { - - - MiraiUDPServer server = new MiraiUDPServer(); - MiraiUDPClient client = new MiraiUDPClient(InetAddress.getLocalHost(),9999,MiraiNetwork.getAvailablePort()); - this.getTaskManager().repeatingTask(() -> { - byte[] sendInfo = "test test".getBytes(StandardCharsets.UTF_8); - try { - client.send(new DatagramPacket(sendInfo,sendInfo.length)); - } catch (IOException e) { - e.printStackTrace(); - } - },300); - } catch (IOException e) { - e.printStackTrace(); - }*/ + getLogger().info("Ready to enable"); } private void initSetting(File setting) { @@ -175,7 +134,6 @@ public class MiraiServer { MiraiConfigSection<Object> section = new MiraiConfigSection<>(); - System.out.println("/"); Scanner scanner = new Scanner(System.in); getLogger().info(LoggerTextFormat.SKY_BLUE + "input one " + LoggerTextFormat.RED + " QQ number " + LoggerTextFormat.SKY_BLUE + "for default robot"); getLogger().info(LoggerTextFormat.SKY_BLUE + "输入用于默认机器人的QQ号"); @@ -185,7 +143,7 @@ public class MiraiServer { String qqPassword = scanner.next(); section.put("password",qqPassword); - section.put("owner","default"); + section.put("owner", List.of("default")); this.qqs.put(String.valueOf(qqNumber),section); this.qqs.save(); @@ -197,6 +155,34 @@ public class MiraiServer { this.enabled = true; getLogger().info(LoggerTextFormat.GREEN + "Server enabled; Welcome to Mirai"); getLogger().info("Mirai Version=" + MiraiServer.MIRAI_VERSION + " QQ Version=" + MiraiServer.QQ_VERSION); + + Robot robot = new Robot(1994701021, "xiaoqqq"); + try { + //System.out.println(Protocol.Companion.getSERVER_IP().toString()); + //robot.connect("127.0.0.1"); + robot.connect("125.39.132.242"); + } catch (InterruptedException e) { + e.printStackTrace(); + System.exit(1); + } +/* + System.out.println("network test"); + try { + + + MiraiUDPServer server = new MiraiUDPServer(); + MiraiUDPClient client = new MiraiUDPClient(InetAddress.getLocalHost(),9999,MiraiNetwork.getAvailablePort()); + this.getTaskManager().repeatingTask(() -> { + byte[] sendInfo = "test test".getBytes(StandardCharsets.UTF_8); + try { + client.send(new DatagramPacket(sendInfo,sendInfo.length)); + } catch (IOException e) { + e.printStackTrace(); + } + },300); + } catch (IOException e) { + e.printStackTrace(); + }*/ } diff --git a/mirai-core/src/main/java/net/mamoe/mirai/utils/config/MiraiConfigSection.java b/mirai-core/src/main/java/net/mamoe/mirai/utils/config/MiraiConfigSection.java index 01545f28c..cea0be010 100644 --- a/mirai-core/src/main/java/net/mamoe/mirai/utils/config/MiraiConfigSection.java +++ b/mirai-core/src/main/java/net/mamoe/mirai/utils/config/MiraiConfigSection.java @@ -17,5 +17,14 @@ public class MiraiConfigSection<T> extends ConcurrentSkipListMap<String, T> { super((a,b) -> 1); } + @SuppressWarnings("unchecked") + public <D extends T> D getAs(String key){ + return (D)this.get(key); + } + + @SuppressWarnings("unchecked") + public <D extends T> D getAs(String key, D defaultV){ + return (D)(this.getOrDefault(key,defaultV)); + } }