Merge pull request #387 from tgstation/Cyberboss-patch-2

Fixes chat command JSON parsing
This commit is contained in:
Jordan Brown
2017-11-17 14:47:39 -05:00
committed by GitHub
+10 -3
View File
@@ -1,4 +1,5 @@
using Newtonsoft.Json;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Net;
@@ -74,8 +75,14 @@ namespace TGS.Server
List<Command> tmp = new List<Command>();
try
{
foreach(var I in JsonConvert.DeserializeObject<IDictionary<string, IDictionary<string, object>>>(json))
tmp.Add(new ServerChatCommand(I.Key, (string)I.Value[CCPHelpText], ((int)I.Value[CCPAdminOnly]) == 1, (int)I.Value[CCPRequiredParameters]));
foreach (var I in JsonConvert.DeserializeObject<IDictionary<string, object>>(json))
{
var innerDick = ((JObject)I.Value).ToObject<IDictionary<string, object>>();
var helpText = (string)innerDick[CCPHelpText];
var adminOnly = ((long)innerDick[CCPAdminOnly]) == 1;
var requiredParams = (int)((long)innerDick[CCPRequiredParameters]);
tmp.Add(new ServerChatCommand(I.Key, helpText, adminOnly, requiredParams));
}
ServerChatCommands = tmp;
}
catch { }