namespace Nuuru.Server.Constants { /// /// Built-in emote names for reactions and BBCode parsing. /// public static class Emotes { public static readonly IReadOnlyList Valid = new List { "thumbsup", "thumbsdown", "gem", "coal", "wholesome", "sad", "neutral", "informative", "cool", "looking", "brainlet", "concerned", "nailbiter", "fact", "tsmt", "holdit", "horny", "coomer", "irritated", "itsover", "disgusted", "sick", "marge", "meds", "schizo", "slf", "projecting", "smug", "sob", "flushed", "pleading", "cheeky", "heartbroken", "yum", "spade", "keyed", "locked", "soyboy", "fruity", "surprised", "suspicious", "thinking", "unamused", "tired", "sleeping", "jamming", "tism", "turk", "snca", "zany", "kaching", "cat", "dog", "hot", "cold", "true", "false", "ack", "poon", "rage", "fuming", "chang", "mexi", "mutt", "euro", "esl", "kumar", "tyrone", "hunk", "jarty", "though", "soytan", "glowie", "alien", "caca", "calm", "reddit", "angel", "imp", "clittycel", "omgsisa", "skull", "robot", "steiner", "feelsgoodman", "kek", "jsid", "dreamy", "uncomfortable", "coping", "serious", "giga", "unc", "nophono" }; private static readonly Dictionary Values = new(StringComparer.OrdinalIgnoreCase) { // Positive (+1) ["thumbsup"] = 1, ["gem"] = 1, ["wholesome"] = 1, ["fact"] = 1, ["tsmt"] = 1, ["keyed"] = 1, ["hot"] = 1, ["true"] = 1, ["feelsgoodman"] = 1, ["kek"] = 1, ["dreamy"] = 1, ["giga"] = 1, ["hunk"] = 1, ["jamming"] = 1, ["calm"] = 1, ["cat"] = 1, ["dog"] = 1, // Negative (-1) ["thumbsdown"] = -1, ["coal"] = -1, ["brainlet"] = -1, ["disgusted"] = -1, ["itsover"] = -1, ["sick"] = -1, ["false"] = -1, ["ack"] = -1, ["rage"] = -1, ["fuming"] = -1, ["skull"] = -1, }; public static bool IsBuiltIn(string emoteName) => Valid.Contains(emoteName, StringComparer.OrdinalIgnoreCase); public static IReadOnlyList GetAll() => Valid; public static int GetValue(string emoteName) => Values.TryGetValue(emoteName, out var value) ? value : 0; } }