EmojiMaps.cs
1 ๏ปฟnamespace TestNetRewarder 2 { 3 public class EmojiMaps 4 { 5 private readonly string[] emojis = new[] 6 { 7 // red 8 "โค", 9 "๐ฆ", 10 "๐น", 11 "๐", 12 "๐ซ", // teapot 13 "โฉ", 14 "๐", 15 "๐ฅ", 16 17 // orange 18 "๐งก", 19 "๐", 20 "๐ฆ", 21 "๐ต", 22 "๐", 23 "๐ฅ", 24 "๐งฑ", 25 "๐", 26 27 // yellow 28 "๐", 29 "๐ป", 30 "๐", 31 "๐ง", 32 "๐", 33 "โญ", 34 "โก", 35 "๐", 36 37 // green 38 "๐", 39 "๐ฆ", 40 "๐", 41 "๐ณ", 42 "๐", 43 "๐งฉ", 44 "๐", 45 "โป", 46 47 // blue 48 "๐", 49 "๐ณ", 50 "โ", 51 "๐", 52 "๐ง", 53 "๐", 54 "โ", 55 "๐", 56 57 // purple 58 "๐", 59 "๐ช", //yo-yo 60 "๐ฎ", 61 "๐", 62 "๐พ", 63 "๐ชป", // plant hyacinth 64 "๐", 65 "๐", 66 67 // pink 68 "๐ฉท", // pink heart 69 "๐", 70 "โ", 71 "๐ง ", 72 "๐ท", 73 "๐ฆฉ", 74 "๐ธ", 75 "๐ท" 76 }; 77 78 public string NewRequest => "๐ฑ"; 79 public string Started => "๐ณ"; 80 public string SlotFilled => "๐ข"; 81 public string SlotRepaired => "โป"; 82 public string SlotFreed => "โญ"; 83 public string SlotReservationsFull => "โ๏ธ"; 84 public string Finished => "โ "; 85 public string Cancelled => "๐ซ"; 86 public string Failed => "โ"; 87 public string ProofSubmitted => "๐ต"; 88 public string ProofReport => "๐"; 89 public string NoProofsMissed => "๐"; 90 public string ManyProofsMissed => "๐ฑ"; 91 92 public string StringToEmojis(string input, int outLength) 93 { 94 if (outLength < 1) outLength = 1; 95 96 var result = ""; 97 var segmentLength = input.Length / outLength; 98 if (segmentLength < 1) 99 { 100 return StringToEmojis(input + input, outLength); 101 } 102 for (var i = 0; i < outLength; i++) 103 { 104 var segment = input.Substring(i * segmentLength, segmentLength); 105 result += SelectOne(segment); 106 } 107 108 return result; 109 } 110 111 private string SelectOne(string segment) 112 { 113 var index = 0; 114 foreach (var c in segment) index += Convert.ToInt32(c); 115 index = index % emojis.Length; 116 return emojis[index]; 117 } 118 } 119 }