|
@@ -8,7 +8,10 @@ namespace MafiaTelegramBot.Game
|
|
|
{
|
|
|
private static readonly Dictionary<string, string> ToPassword = new();
|
|
|
private static readonly Dictionary<string, string> ToName = new();
|
|
|
-
|
|
|
+
|
|
|
+ private static readonly Dictionary<string, string> ShortName = new();
|
|
|
+ private static readonly Dictionary<string, string> FullName = new();
|
|
|
+
|
|
|
public static string Encrypt(string roomName)
|
|
|
{
|
|
|
var pass = RandomString();
|
|
@@ -17,16 +20,34 @@ namespace MafiaTelegramBot.Game
|
|
|
ToName.Add(pass,roomName);
|
|
|
return pass;
|
|
|
}
|
|
|
+
|
|
|
+ public static void CreateShortName(string roomName)
|
|
|
+ {
|
|
|
+ var shortName = RandomString();
|
|
|
+ while (ShortName.ContainsKey(shortName)) shortName = RandomString();
|
|
|
+ ShortName.Add(roomName, shortName);
|
|
|
+ FullName.Add(shortName,roomName);
|
|
|
+ }
|
|
|
|
|
|
public static string CodeToName(string pass)
|
|
|
{
|
|
|
return ToName.GetValueOrDefault(pass);
|
|
|
}
|
|
|
+
|
|
|
+ public static string FullToShort(string roomName)
|
|
|
+ {
|
|
|
+ return ShortName.GetValueOrDefault(roomName);
|
|
|
+ }
|
|
|
|
|
|
public static string NameToCode(string name)
|
|
|
{
|
|
|
return ToPassword.GetValueOrDefault(name);
|
|
|
}
|
|
|
+
|
|
|
+ public static string ShortToFull(string shortName)
|
|
|
+ {
|
|
|
+ return FullName.GetValueOrDefault(shortName);
|
|
|
+ }
|
|
|
|
|
|
private static readonly Random Random = new Random();
|
|
|
|
|
@@ -43,5 +64,12 @@ namespace MafiaTelegramBot.Game
|
|
|
ToName.Remove(pass);
|
|
|
ToPassword.Remove(name);
|
|
|
}
|
|
|
+
|
|
|
+ public static void RemoveShortName(string roomName)
|
|
|
+ {
|
|
|
+ var shortName = FullToShort(roomName);
|
|
|
+ FullName.Remove(shortName);
|
|
|
+ ShortName.Remove(roomName);
|
|
|
+ }
|
|
|
}
|
|
|
}
|