Refaction all files into component based folders
This commit is contained in:
parent
55e152f4aa
commit
e3adf55742
102 changed files with 816 additions and 709 deletions
93
Geekbot.net/Lib/Converters/EmojiConverter.cs
Normal file
93
Geekbot.net/Lib/Converters/EmojiConverter.cs
Normal file
|
@ -0,0 +1,93 @@
|
|||
using System.Collections;
|
||||
using System.Text;
|
||||
|
||||
namespace Geekbot.net.Lib.Converters
|
||||
{
|
||||
public class EmojiConverter : IEmojiConverter
|
||||
{
|
||||
public string NumberToEmoji(int number)
|
||||
{
|
||||
if (number == 10)
|
||||
{
|
||||
return "🔟";
|
||||
}
|
||||
var emojiMap = new[]
|
||||
{
|
||||
":zero:",
|
||||
":one:",
|
||||
":two:",
|
||||
":three:",
|
||||
":four:",
|
||||
":five:",
|
||||
":six:",
|
||||
":seven:",
|
||||
":eight:",
|
||||
":nine:"
|
||||
};
|
||||
var numbers = number.ToString().ToCharArray();
|
||||
var returnString = new StringBuilder();
|
||||
foreach (var n in numbers)
|
||||
{
|
||||
returnString.Append(emojiMap[int.Parse(n.ToString())]);
|
||||
}
|
||||
return returnString.ToString();
|
||||
}
|
||||
|
||||
public string TextToEmoji(string text)
|
||||
{
|
||||
var emojiMap = new Hashtable
|
||||
{
|
||||
['A'] = ":regional_indicator_a: ",
|
||||
['B'] = ":b: ",
|
||||
['C'] = ":regional_indicator_c: ",
|
||||
['D'] = ":regional_indicator_d: ",
|
||||
['E'] = ":regional_indicator_e: ",
|
||||
['F'] = ":regional_indicator_f: ",
|
||||
['G'] = ":regional_indicator_g: ",
|
||||
['H'] = ":regional_indicator_h: ",
|
||||
['I'] = ":regional_indicator_i: ",
|
||||
['J'] = ":regional_indicator_j: ",
|
||||
['K'] = ":regional_indicator_k: ",
|
||||
['L'] = ":regional_indicator_l: ",
|
||||
['M'] = ":regional_indicator_m: ",
|
||||
['N'] = ":regional_indicator_n: ",
|
||||
['O'] = ":regional_indicator_o: ",
|
||||
['P'] = ":regional_indicator_p: ",
|
||||
['Q'] = ":regional_indicator_q: ",
|
||||
['R'] = ":regional_indicator_r: ",
|
||||
['S'] = ":regional_indicator_s: ",
|
||||
['T'] = ":regional_indicator_t: ",
|
||||
['U'] = ":regional_indicator_u: ",
|
||||
['V'] = ":regional_indicator_v: ",
|
||||
['W'] = ":regional_indicator_w: ",
|
||||
['X'] = ":regional_indicator_x: ",
|
||||
['Y'] = ":regional_indicator_y: ",
|
||||
['Z'] = ":regional_indicator_z: ",
|
||||
['!'] = ":exclamation: ",
|
||||
['?'] = ":question: ",
|
||||
['#'] = ":hash: ",
|
||||
['*'] = ":star2: ",
|
||||
['+'] = ":heavy_plus_sign: ",
|
||||
['0'] = ":zero: ",
|
||||
['1'] = ":one: ",
|
||||
['2'] = ":two: ",
|
||||
['3'] = ":three: ",
|
||||
['4'] = ":four: ",
|
||||
['5'] = ":five: ",
|
||||
['6'] = ":six: ",
|
||||
['7'] = ":seven: ",
|
||||
['8'] = ":eight: ",
|
||||
['9'] = ":nine: ",
|
||||
[' '] = " "
|
||||
};
|
||||
var letters = text.ToUpper().ToCharArray();
|
||||
var returnString = new StringBuilder();
|
||||
foreach (var n in letters)
|
||||
{
|
||||
var emoji = emojiMap[n] ?? n;
|
||||
returnString.Append(emoji);
|
||||
}
|
||||
return returnString.ToString();
|
||||
}
|
||||
}
|
||||
}
|
8
Geekbot.net/Lib/Converters/IEmojiConverter.cs
Normal file
8
Geekbot.net/Lib/Converters/IEmojiConverter.cs
Normal file
|
@ -0,0 +1,8 @@
|
|||
namespace Geekbot.net.Lib.Converters
|
||||
{
|
||||
public interface IEmojiConverter
|
||||
{
|
||||
string NumberToEmoji(int number);
|
||||
string TextToEmoji(string text);
|
||||
}
|
||||
}
|
7
Geekbot.net/Lib/Converters/IMtgManaConverter.cs
Normal file
7
Geekbot.net/Lib/Converters/IMtgManaConverter.cs
Normal file
|
@ -0,0 +1,7 @@
|
|||
namespace Geekbot.net.Lib.Converters
|
||||
{
|
||||
public interface IMtgManaConverter
|
||||
{
|
||||
string ConvertMana(string mana);
|
||||
}
|
||||
}
|
33
Geekbot.net/Lib/Converters/MtgManaConverter.cs
Normal file
33
Geekbot.net/Lib/Converters/MtgManaConverter.cs
Normal file
|
@ -0,0 +1,33 @@
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using Utf8Json;
|
||||
|
||||
namespace Geekbot.net.Lib.Converters
|
||||
{
|
||||
public class MtgManaConverter : IMtgManaConverter
|
||||
{
|
||||
private Dictionary<string, string> _manaDict;
|
||||
|
||||
public MtgManaConverter()
|
||||
{
|
||||
// these emotes can be found at https://discord.gg/bz8HyA7
|
||||
var mtgEmojis = File.ReadAllText(Path.GetFullPath("./Lib/Converters/MtgManaEmojis.json"));
|
||||
_manaDict = JsonSerializer.Deserialize<Dictionary<string, string>>(mtgEmojis);
|
||||
}
|
||||
|
||||
public string ConvertMana(string mana)
|
||||
{
|
||||
var rgx = Regex.Matches(mana, @"(\{(.*?)\})");
|
||||
foreach (Match manaTypes in rgx)
|
||||
{
|
||||
var m = _manaDict.GetValueOrDefault(manaTypes.Value);
|
||||
if (!string.IsNullOrEmpty(m))
|
||||
{
|
||||
mana = mana.Replace(manaTypes.Value, m);
|
||||
}
|
||||
}
|
||||
return mana;
|
||||
}
|
||||
}
|
||||
}
|
50
Geekbot.net/Lib/Converters/MtgManaEmojis.json
Normal file
50
Geekbot.net/Lib/Converters/MtgManaEmojis.json
Normal file
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
"{0}": "<:mtg_0:415216130043412482>",
|
||||
"{1}": "<:mtg_1:415216130253389835>",
|
||||
"{2}": "<:mtg_2:415216130031091713>",
|
||||
"{3}": "<:mtg_3:415216130467037194>",
|
||||
"{4}": "<:mtg_4:415216130026635295>",
|
||||
"{5}": "<:mtg_5:415216130492203008>",
|
||||
"{6}": "<:mtg_6:415216130458779658>",
|
||||
"{7}": "<:mtg_7:415216130190475265>",
|
||||
"{8}": "<:mtg_8:415216130517630986>",
|
||||
"{9}": "<:mtg_9:415216130500722689>",
|
||||
"{10": "<:mtg_10:415216130450391051>",
|
||||
"{11}": "<:mtg_11:415216130811101185>",
|
||||
"{12}": "<:mtg_12:415216130525888532>",
|
||||
"{13}": "<:mtg_13:415216130517631000>",
|
||||
"{14}": "<:mtg_14:415216130165178370>",
|
||||
"{15}": "<:mtg_15:415216130576089108>",
|
||||
"{16}": "<:mtg_16:415216130358247425>",
|
||||
"{17}": "<:mtg_17:415216130601517056>",
|
||||
"{18}": "<:mtg_18:415216130462842891>",
|
||||
"{19}": "<:mtg_19:415216130614099988>",
|
||||
"{20}": "<:mtg_20:415216130656043038>",
|
||||
"{W}": "<:mtg_white:415216131515744256>",
|
||||
"{U}": "<:mtg_blue:415216130521694209>",
|
||||
"{B}": "<:mtg_black:415216130873884683>",
|
||||
"{R}": "<:mtg_red:415216131322806272>",
|
||||
"{G}": "<:mtg_green:415216131180331009>",
|
||||
"{S}": "<:mtg_s:415216131293446144>",
|
||||
"{T}": "<:mtg_tap:415258392727257088>",
|
||||
"{C}": "<:mtg_colorless:415216130706374666>",
|
||||
"{2/W}": "<:mtg_2w:415216130446065664>",
|
||||
"{2/U}": "<:mtg_2u:415216130429550592>",
|
||||
"{2/B}": "<:mtg_2b:415216130160984065>",
|
||||
"{2/R}": "<:mtg_2r:415216130454716436>",
|
||||
"{2/G}": "<:mtg_2g:415216130420899840>",
|
||||
"{W/U}": "<:mtg_wu:415216130970484736>",
|
||||
"{W/B}": "<:mtg_wb:415216131222011914>",
|
||||
"{U/R}": "<:mtg_ur:415216130962096128>",
|
||||
"{U/B}": "<:mtg_ub:415216130865758218>",
|
||||
"{R/W}": "<:mtg_rw:415216130878210057>",
|
||||
"{G/W}": "<:mtg_gw:415216130567962646>",
|
||||
"{G/U}": "<:mtg_gu:415216130739666945>",
|
||||
"{B/R}": "<:mtg_br:415216130580283394>",
|
||||
"{B/G}": "<:mtg_bg:415216130781609994>",
|
||||
"{U/P}": "<:mtg_up:415216130861432842>",
|
||||
"{R/P}": "<:mtg_rp:415216130597322783>",
|
||||
"{G/P}": "<:mtg_gp:415216130760769546>",
|
||||
"{W/P}": "<:mtg_wp:415216131541041172>",
|
||||
"{B/P}": "<:mtg_bp:415216130664169482>"
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue