From 345ed15f0f5800fa2fe510da3f539e54f5b5f63b Mon Sep 17 00:00:00 2001 From: Cenngo Date: Thu, 18 Aug 2022 03:23:30 +0300 Subject: [PATCH] fix command parsing for context command names with space char --- .../LocalizationManagers/JsonLocalizationManager.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Discord.Net.Interactions/LocalizationManagers/JsonLocalizationManager.cs b/src/Discord.Net.Interactions/LocalizationManagers/JsonLocalizationManager.cs index f004b71df..bda99ee7c 100644 --- a/src/Discord.Net.Interactions/LocalizationManagers/JsonLocalizationManager.cs +++ b/src/Discord.Net.Interactions/LocalizationManagers/JsonLocalizationManager.cs @@ -3,6 +3,7 @@ using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.IO; +using System.Linq; using System.Text.RegularExpressions; using System.Threading.Tasks; @@ -15,6 +16,7 @@ namespace Discord.Interactions { private const string NameIdentifier = "name"; private const string DescriptionIdentifier = "description"; + private const string SpaceToken = "~"; private readonly string _basePath; private readonly string _fileName; @@ -58,7 +60,8 @@ namespace Discord.Interactions using var sr = new StreamReader(file); using var jr = new JsonTextReader(sr); var obj = JObject.Load(jr); - var token = string.Join(".", key) + $".{identifier}"; + var token = string.Join(".", key.Select(x => $"['{x}']")) + $".{identifier}"; + Console.WriteLine(token); var value = (string)obj.SelectToken(token); if (value is not null) result[locale] = value;