From 7ba91fbd482ba05ae2803a1dc4bb0c71e25093e8 Mon Sep 17 00:00:00 2001 From: Anna Clemens Date: Sun, 22 Aug 2021 18:07:28 -0400 Subject: [PATCH] refactor: move to net5 --- .gitattributes | 1 + NoSoliciting.Interface/BetterIpcSerializer.cs | 32 ---- .../Data.cs | 7 +- NoSoliciting.Interface/Interface.cs | 6 +- .../NoSoliciting.Interface.csproj | 4 +- .../NoSoliciting.Internal.Interface.csproj | 17 -- NoSoliciting.Lite/Commands.cs | 24 --- NoSoliciting.Lite/Configuration.cs | 58 ------ NoSoliciting.Lite/DalamudPackager.targets | 10 -- NoSoliciting.Lite/Extensions.cs | 9 - NoSoliciting.Lite/Filter.cs | 59 ------ NoSoliciting.Lite/FodyWeavers.xml | 3 - NoSoliciting.Lite/NoSoliciting.Lite.csproj | 44 ----- NoSoliciting.Lite/NoSoliciting.Lite.yaml | 9 - NoSoliciting.Lite/Plugin.cs | 42 ----- NoSoliciting.Lite/PluginUi.cs | 170 ------------------ .../Resources/Language.Designer.cs | 117 ------------ NoSoliciting.Lite/Resources/Language.de.resx | 32 ---- NoSoliciting.Lite/Resources/Language.es.resx | 32 ---- NoSoliciting.Lite/Resources/Language.fr.resx | 32 ---- NoSoliciting.Lite/Resources/Language.ja.resx | 32 ---- NoSoliciting.Lite/Resources/Language.resx | 39 ---- .../Resources/Language.zh-hans.resx | 32 ---- .../Resources/Language.zh-hant.resx | 32 ---- .../FodyWeavers.xml | 10 -- .../NoSoliciting.MessageClassifier.csproj | 28 --- NoSoliciting.MessageClassifier/Program.cs | 87 --------- .../costura64/CpuMathNative.dll | Bin 38272 -> 0 bytes .../costura64/LdaNative.dll | Bin 356736 -> 0 bytes .../NoSoliciting.Trainer.csproj | 3 +- NoSoliciting.Trainer/Program.cs | 2 - NoSoliciting.Trainer/data.csv | 39 ++++ NoSoliciting.sln | 18 -- NoSoliciting/Commands.cs | 10 +- NoSoliciting/ContextMenu.cs | 2 - NoSoliciting/DalamudPackager.targets | 3 +- NoSoliciting/Filter.cs | 17 +- NoSoliciting/FilterUtil.cs | 2 +- NoSoliciting/FodyWeavers.xml | 1 - NoSoliciting/ILRepack.targets | 24 --- NoSoliciting/Interface/PluginUi.cs | 4 +- NoSoliciting/Interface/Report.cs | 9 +- NoSoliciting/Interface/Settings.cs | 8 +- NoSoliciting/Message.cs | 2 +- NoSoliciting/Ml/Classifier.cs | 35 ++++ NoSoliciting/Ml/MlFilter.cs | 79 ++------ NoSoliciting/NoSoliciting.csproj | 17 +- NoSoliciting/NoSoliciting.yaml | 1 + NoSoliciting/Plugin.cs | 71 +++++--- NoSoliciting/PluginConfiguration.cs | 2 +- NoSoliciting/Resources/Language.Designer.cs | 2 +- NoSoliciting/Resources/Language.resx | 2 +- icon.png | Bin 0 -> 12174 bytes icon.svg | 83 +++++++++ 54 files changed, 268 insertions(+), 1136 deletions(-) delete mode 100644 NoSoliciting.Interface/BetterIpcSerializer.cs rename {NoSoliciting.Internal.Interface => NoSoliciting.Interface}/Data.cs (96%) mode change 100644 => 100755 mode change 100644 => 100755 NoSoliciting.Interface/NoSoliciting.Interface.csproj delete mode 100755 NoSoliciting.Internal.Interface/NoSoliciting.Internal.Interface.csproj delete mode 100755 NoSoliciting.Lite/Commands.cs delete mode 100755 NoSoliciting.Lite/Configuration.cs delete mode 100755 NoSoliciting.Lite/DalamudPackager.targets delete mode 100755 NoSoliciting.Lite/Extensions.cs delete mode 100755 NoSoliciting.Lite/Filter.cs delete mode 100755 NoSoliciting.Lite/FodyWeavers.xml delete mode 100755 NoSoliciting.Lite/NoSoliciting.Lite.csproj delete mode 100755 NoSoliciting.Lite/NoSoliciting.Lite.yaml delete mode 100755 NoSoliciting.Lite/Plugin.cs delete mode 100755 NoSoliciting.Lite/PluginUi.cs delete mode 100755 NoSoliciting.Lite/Resources/Language.Designer.cs delete mode 100755 NoSoliciting.Lite/Resources/Language.de.resx delete mode 100755 NoSoliciting.Lite/Resources/Language.es.resx delete mode 100755 NoSoliciting.Lite/Resources/Language.fr.resx delete mode 100755 NoSoliciting.Lite/Resources/Language.ja.resx delete mode 100755 NoSoliciting.Lite/Resources/Language.resx delete mode 100755 NoSoliciting.Lite/Resources/Language.zh-hans.resx delete mode 100755 NoSoliciting.Lite/Resources/Language.zh-hant.resx delete mode 100644 NoSoliciting.MessageClassifier/FodyWeavers.xml delete mode 100755 NoSoliciting.MessageClassifier/NoSoliciting.MessageClassifier.csproj delete mode 100644 NoSoliciting.MessageClassifier/Program.cs delete mode 100644 NoSoliciting.MessageClassifier/costura64/CpuMathNative.dll delete mode 100644 NoSoliciting.MessageClassifier/costura64/LdaNative.dll delete mode 100644 NoSoliciting/ILRepack.targets create mode 100755 NoSoliciting/Ml/Classifier.cs create mode 100644 icon.png create mode 100755 icon.svg diff --git a/.gitattributes b/.gitattributes index 466cd5c..bfb949c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ * text eol=lf *.dll binary +*.png binary diff --git a/NoSoliciting.Interface/BetterIpcSerializer.cs b/NoSoliciting.Interface/BetterIpcSerializer.cs deleted file mode 100644 index 3bad647..0000000 --- a/NoSoliciting.Interface/BetterIpcSerializer.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.Text; -using JKang.IpcServiceFramework; -using JKang.IpcServiceFramework.Services; -using Newtonsoft.Json; - -namespace NoSoliciting.Interface { - public class BetterIpcSerialiser : IIpcMessageSerializer { - private static readonly JsonSerializerSettings Settings = new() { - TypeNameHandling = TypeNameHandling.Auto, - }; - - public byte[] SerializeRequest(IpcRequest request) { - var json = JsonConvert.SerializeObject(request, Formatting.None, Settings); - return Encoding.UTF8.GetBytes(json); - } - - public IpcResponse? DeserializeResponse(byte[] binary) { - var json = Encoding.UTF8.GetString(binary); - return JsonConvert.DeserializeObject(json, Settings); - } - - public IpcRequest? DeserializeRequest(byte[] binary) { - var json = Encoding.UTF8.GetString(binary); - return JsonConvert.DeserializeObject(json, Settings); - } - - public byte[] SerializeResponse(IpcResponse response) { - var json = JsonConvert.SerializeObject(response, Formatting.None, Settings); - return Encoding.UTF8.GetBytes(json); - } - } -} diff --git a/NoSoliciting.Internal.Interface/Data.cs b/NoSoliciting.Interface/Data.cs old mode 100644 new mode 100755 similarity index 96% rename from NoSoliciting.Internal.Interface/Data.cs rename to NoSoliciting.Interface/Data.cs index bff7dbe..fb1a53e --- a/NoSoliciting.Internal.Interface/Data.cs +++ b/NoSoliciting.Interface/Data.cs @@ -6,9 +6,8 @@ using System.Linq; using System.Text.RegularExpressions; using Microsoft.ML.Data; using Microsoft.ML.Transforms; -using NoSoliciting.Interface; -namespace NoSoliciting.Internal.Interface { +namespace NoSoliciting.Interface { [SuppressMessage("ReSharper", "UnusedMember.Global")] [SuppressMessage("ReSharper", "AutoPropertyCanBeMadeGetOnly.Global")] [SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Global")] @@ -127,7 +126,7 @@ namespace NoSoliciting.Internal.Interface { var normalised = NoSolUtil.Normalise(this.Message); output.PartyFinder = this.Channel == 0; - output.Shout = this.Channel == 11 || this.Channel == 30; + output.Shout = this.Channel is 11 or 30; output.ContainsWard = WardWords.Any(word => word.IsMatch(normalised)); output.ContainsPlot = PlotWords.Any(word => word.IsMatch(normalised)); output.ContainsHousingNumbers = NumbersRegex.IsMatch(normalised); @@ -145,7 +144,7 @@ namespace NoSoliciting.Internal.Interface { public string Category { get; set; } = "UNKNOWN"; [ColumnName("Score")] - public float[] Probabilities { get; set; } = new float[0]; + public float[] Probabilities { get; set; } = Array.Empty(); } internal static class Ext { diff --git a/NoSoliciting.Interface/Interface.cs b/NoSoliciting.Interface/Interface.cs index 7ea558c..f5f141a 100644 --- a/NoSoliciting.Interface/Interface.cs +++ b/NoSoliciting.Interface/Interface.cs @@ -1,5 +1,7 @@ -namespace NoSoliciting.Interface { - public interface IClassifier { +using System; + +namespace NoSoliciting.Interface { + public interface IClassifier : IDisposable { void Initialise(byte[] data); string Classify(ushort channel, string message); diff --git a/NoSoliciting.Interface/NoSoliciting.Interface.csproj b/NoSoliciting.Interface/NoSoliciting.Interface.csproj old mode 100644 new mode 100755 index ea0ab7c..d1966d1 --- a/NoSoliciting.Interface/NoSoliciting.Interface.csproj +++ b/NoSoliciting.Interface/NoSoliciting.Interface.csproj @@ -1,13 +1,13 @@ - net48;net5 + net5 latest enable - + diff --git a/NoSoliciting.Internal.Interface/NoSoliciting.Internal.Interface.csproj b/NoSoliciting.Internal.Interface/NoSoliciting.Internal.Interface.csproj deleted file mode 100755 index 1275a31..0000000 --- a/NoSoliciting.Internal.Interface/NoSoliciting.Internal.Interface.csproj +++ /dev/null @@ -1,17 +0,0 @@ - - - - net5;net48 - latest - enable - - - - - - - - - - - diff --git a/NoSoliciting.Lite/Commands.cs b/NoSoliciting.Lite/Commands.cs deleted file mode 100755 index 133846f..0000000 --- a/NoSoliciting.Lite/Commands.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using Dalamud.Game.Command; - -namespace NoSoliciting.Lite { - public class Commands : IDisposable { - private Plugin Plugin { get; } - - internal Commands(Plugin plugin) { - this.Plugin = plugin; - - this.Plugin.Interface.CommandManager.AddHandler("/nolite", new CommandInfo(this.OnCommand) { - HelpMessage = "Open the NoSol Lite config", - }); - } - - public void Dispose() { - this.Plugin.Interface.CommandManager.RemoveHandler("/nolite"); - } - - private void OnCommand(string command, string args) { - this.Plugin.Ui.ToggleConfig(); - } - } -} diff --git a/NoSoliciting.Lite/Configuration.cs b/NoSoliciting.Lite/Configuration.cs deleted file mode 100755 index e0e16ae..0000000 --- a/NoSoliciting.Lite/Configuration.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text.RegularExpressions; -using Dalamud.Configuration; -using Dalamud.Plugin; -using Newtonsoft.Json; - -namespace NoSoliciting.Lite { - [Serializable] - internal class Configuration : IPluginConfiguration { - private DalamudPluginInterface Interface { get; set; } = null!; - - public int Version { get; set; } = 1; - - public bool CustomChatFilter { get; set; } - public List ChatSubstrings { get; } = new(); - public List ChatRegexes { get; } = new(); - - [JsonIgnore] - public List CompiledChatRegexes { get; private set; } = new(); - - public bool CustomPFFilter { get; set; } - public List PFSubstrings { get; } = new(); - public List PFRegexes { get; } = new(); - - [JsonIgnore] - public List CompiledPfRegexes { get; private set; } = new(); - - public bool LogFilteredPfs { get; set; } = true; - public bool LogFilteredChat { get; set; } = true; - - public bool ConsiderPrivatePfs { get; set; } - - public IEnumerable ValidChatSubstrings => this.ChatSubstrings.Where(needle => !string.IsNullOrWhiteSpace(needle)); - public IEnumerable ValidPfSubstrings => this.PFSubstrings.Where(needle => !string.IsNullOrWhiteSpace(needle)); - - public void Initialise(DalamudPluginInterface pi) { - this.Interface = pi; - this.CompileRegexes(); - } - - public void Save() { - this.Interface.SavePluginConfig(this); - } - - public void CompileRegexes() { - this.CompiledChatRegexes = this.ChatRegexes - .Where(reg => !string.IsNullOrWhiteSpace(reg)) - .Select(reg => new Regex(reg, RegexOptions.Compiled)) - .ToList(); - this.CompiledPfRegexes = this.PFRegexes - .Where(reg => !string.IsNullOrWhiteSpace(reg)) - .Select(reg => new Regex(reg, RegexOptions.Compiled)) - .ToList(); - } - } -} diff --git a/NoSoliciting.Lite/DalamudPackager.targets b/NoSoliciting.Lite/DalamudPackager.targets deleted file mode 100755 index 6958ba3..0000000 --- a/NoSoliciting.Lite/DalamudPackager.targets +++ /dev/null @@ -1,10 +0,0 @@ - - - - - diff --git a/NoSoliciting.Lite/Extensions.cs b/NoSoliciting.Lite/Extensions.cs deleted file mode 100755 index 6cb6349..0000000 --- a/NoSoliciting.Lite/Extensions.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Globalization; - -namespace NoSoliciting.Lite { - internal static class Extensions { - internal static bool ContainsIgnoreCase(this string haystack, string needle) { - return CultureInfo.InvariantCulture.CompareInfo.IndexOf(haystack, needle, CompareOptions.IgnoreCase) >= 0; - } - } -} diff --git a/NoSoliciting.Lite/Filter.cs b/NoSoliciting.Lite/Filter.cs deleted file mode 100755 index ca6c2d9..0000000 --- a/NoSoliciting.Lite/Filter.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System; -using System.Linq; -using Dalamud.Game.Internal.Gui; -using Dalamud.Game.Internal.Gui.Structs; -using Dalamud.Game.Text; -using Dalamud.Game.Text.SeStringHandling; -using Dalamud.Plugin; - -namespace NoSoliciting.Lite { - public class Filter : IDisposable { - private Plugin Plugin { get; } - - internal Filter(Plugin plugin) { - this.Plugin = plugin; - - this.Plugin.Interface.Framework.Gui.Chat.OnChatMessage += this.OnChat; - this.Plugin.Interface.Framework.Gui.PartyFinder.ReceiveListing += this.ReceiveListing; - } - - public void Dispose() { - this.Plugin.Interface.Framework.Gui.PartyFinder.ReceiveListing -= this.ReceiveListing; - this.Plugin.Interface.Framework.Gui.Chat.OnChatMessage -= this.OnChat; - } - - private void OnChat(XivChatType type, uint senderId, ref SeString sender, ref SeString message, ref bool isHandled) { - if (isHandled) { - return; - } - - var text = message.TextValue; - - isHandled = this.Plugin.Config.ValidChatSubstrings.Any(needle => text.ContainsIgnoreCase(needle)) - || this.Plugin.Config.CompiledChatRegexes.Any(needle => needle.IsMatch(text)); - - if (this.Plugin.Config.LogFilteredChat && isHandled) { - PluginLog.Log($"Filtered chat message: {text}"); - } - } - - private void ReceiveListing(PartyFinderListing listing, PartyFinderListingEventArgs args) { - if (!args.Visible) { - return; - } - - if (listing[SearchAreaFlags.Private] && !this.Plugin.Config.ConsiderPrivatePfs) { - return; - } - - var text = listing.Description.TextValue; - - args.Visible = !(this.Plugin.Config.ValidPfSubstrings.Any(needle => text.ContainsIgnoreCase(needle)) - || this.Plugin.Config.CompiledPfRegexes.Any(needle => needle.IsMatch(text))); - - if (this.Plugin.Config.LogFilteredPfs && !args.Visible) { - PluginLog.Log($"Filtered PF: {text}"); - } - } - } -} diff --git a/NoSoliciting.Lite/FodyWeavers.xml b/NoSoliciting.Lite/FodyWeavers.xml deleted file mode 100755 index 16d0321..0000000 --- a/NoSoliciting.Lite/FodyWeavers.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/NoSoliciting.Lite/NoSoliciting.Lite.csproj b/NoSoliciting.Lite/NoSoliciting.Lite.csproj deleted file mode 100755 index ae9b041..0000000 --- a/NoSoliciting.Lite/NoSoliciting.Lite.csproj +++ /dev/null @@ -1,44 +0,0 @@ - - - net48 - 1.0.0 - latest - enable - - - - $(AppData)\XIVLauncher\addon\Hooks\dev\Dalamud.dll - False - - - $(AppData)\XIVLauncher\addon\Hooks\dev\ImGui.NET.dll - False - - - $(AppData)\XIVLauncher\addon\Hooks\dev\ImGuiScene.dll - False - - - $(AppData)\XIVLauncher\addon\Hooks\dev\Newtonsoft.Json.dll - False - - - - - ResXFileCodeGenerator - Language.Designer.cs - - - - - True - True - Language.resx - - - - - - - - diff --git a/NoSoliciting.Lite/NoSoliciting.Lite.yaml b/NoSoliciting.Lite/NoSoliciting.Lite.yaml deleted file mode 100755 index d649d93..0000000 --- a/NoSoliciting.Lite/NoSoliciting.Lite.yaml +++ /dev/null @@ -1,9 +0,0 @@ -author: ascclemens -name: NoSoliciting Lite -description: |- - Customisable, simple chat and Party Finder filtering. - - Only filters out text that you configure. -repo_url: https://git.sr.ht/~jkcclemens/NoSoliciting -# Use higher priority to filter messages before other plugins get them. -load_priority: 100 diff --git a/NoSoliciting.Lite/Plugin.cs b/NoSoliciting.Lite/Plugin.cs deleted file mode 100755 index 0d15e18..0000000 --- a/NoSoliciting.Lite/Plugin.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System.Globalization; -using Dalamud.Plugin; -using NoSoliciting.Lite.Resources; - -namespace NoSoliciting.Lite { - // ReSharper disable once ClassNeverInstantiated.Global - public class Plugin : IDalamudPlugin { - public string Name => "NoSoliciting Lite"; - - internal DalamudPluginInterface Interface { get; private set; } = null!; - internal Configuration Config { get; private set; } = null!; - internal PluginUi Ui { get; private set; } = null!; - private Commands Commands { get; set; } = null!; - private Filter Filter { get; set; } = null!; - - public void Initialize(DalamudPluginInterface pluginInterface) { - this.Interface = pluginInterface; - - this.ConfigureLanguage(); - this.Interface.OnLanguageChanged += this.ConfigureLanguage; - - this.Config = this.Interface.GetPluginConfig() as Configuration ?? new Configuration(); - this.Config.Initialise(this.Interface); - - this.Filter = new Filter(this); - this.Ui = new PluginUi(this); - this.Commands = new Commands(this); - } - - public void Dispose() { - this.Commands.Dispose(); - this.Ui.Dispose(); - this.Filter.Dispose(); - this.Interface.OnLanguageChanged -= this.ConfigureLanguage; - } - - private void ConfigureLanguage(string? langCode = null) { - langCode ??= this.Interface.UiLanguage; - Language.Culture = new CultureInfo(langCode ?? "en"); - } - } -} diff --git a/NoSoliciting.Lite/PluginUi.cs b/NoSoliciting.Lite/PluginUi.cs deleted file mode 100755 index c613e62..0000000 --- a/NoSoliciting.Lite/PluginUi.cs +++ /dev/null @@ -1,170 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Numerics; -using System.Text.RegularExpressions; -using Dalamud.Interface; -using ImGuiNET; -using NoSoliciting.Lite.Resources; - -namespace NoSoliciting.Lite { - public class PluginUi : IDisposable { - private Plugin Plugin { get; } - - private bool _showWindow; - - internal PluginUi(Plugin plugin) { - this.Plugin = plugin; - - this.Plugin.Interface.UiBuilder.OnBuildUi += this.Draw; - this.Plugin.Interface.UiBuilder.OnOpenConfigUi += this.ToggleConfig; - } - - public void Dispose() { - this.Plugin.Interface.UiBuilder.OnOpenConfigUi -= this.ToggleConfig; - this.Plugin.Interface.UiBuilder.OnBuildUi -= this.Draw; - } - - internal void ToggleConfig(object? sender = null, object? args = null) { - this._showWindow = !this._showWindow; - } - - private void Draw() { - if (!this._showWindow) { - return; - } - - ImGui.SetNextWindowSize(new Vector2(550, 350), ImGuiCond.FirstUseEver); - - var windowTitle = string.Format(Language.Settings, this.Plugin.Name); - if (!ImGui.Begin($"{windowTitle}###nosol-lite-settings", ref this._showWindow)) { - ImGui.End(); - return; - } - - var shouldSave = false; - - if (ImGui.BeginTabBar("nosol-lite-tabs")) { - if (ImGui.BeginTabItem("Chat")) { - var customChat = this.Plugin.Config.CustomChatFilter; - if (ImGui.Checkbox(Language.EnableCustomChatFilters, ref customChat)) { - this.Plugin.Config.CustomChatFilter = customChat; - shouldSave = true; - } - - if (this.Plugin.Config.CustomChatFilter) { - var substrings = this.Plugin.Config.ChatSubstrings; - var regexes = this.Plugin.Config.ChatRegexes; - this.DrawCustom("chat", ref shouldSave, ref substrings, ref regexes); - } - - ImGui.EndTabItem(); - } - - if (ImGui.BeginTabItem("Party Finder")) { - var considerPrivate = this.Plugin.Config.ConsiderPrivatePfs; - if (ImGui.Checkbox(Language.FilterPrivatePfs, ref considerPrivate)) { - this.Plugin.Config.ConsiderPrivatePfs = considerPrivate; - shouldSave = true; - } - - var customPf = this.Plugin.Config.CustomPFFilter; - if (ImGui.Checkbox(Language.EnableCustomPartyFinderFilters, ref customPf)) { - this.Plugin.Config.CustomPFFilter = customPf; - shouldSave = true; - } - - if (this.Plugin.Config.CustomPFFilter) { - var substrings = this.Plugin.Config.PFSubstrings; - var regexes = this.Plugin.Config.PFRegexes; - this.DrawCustom("pf", ref shouldSave, ref substrings, ref regexes); - } - - ImGui.EndTabItem(); - } - - ImGui.EndTabBar(); - } - - ImGui.End(); - - if (!shouldSave) { - return; - } - - this.Plugin.Config.Save(); - this.Plugin.Config.CompileRegexes(); - } - - private void DrawCustom(string name, ref bool shouldSave, ref List substrings, ref List regexes) { - ImGui.Columns(2); - - ImGui.TextUnformatted(Language.SubstringsToFilter); - if (ImGui.BeginChild($"##{name}-substrings", new Vector2(0, 175))) { - for (var i = 0; i < substrings.Count; i++) { - var input = substrings[i]; - if (ImGui.InputText($"##{name}-substring-{i}", ref input, 1_000)) { - substrings[i] = input; - shouldSave = true; - } - - ImGui.SameLine(); - ImGui.PushFont(UiBuilder.IconFont); - if (ImGui.Button($"{FontAwesomeIcon.Trash.ToIconString()}##{name}-substring-{i}-remove")) { - substrings.RemoveAt(i); - shouldSave = true; - } - - ImGui.PopFont(); - } - - ImGui.PushFont(UiBuilder.IconFont); - if (ImGui.Button($"{FontAwesomeIcon.Plus.ToIconString()}##{name}-substring-add")) { - substrings.Add(""); - } - - ImGui.PopFont(); - - ImGui.EndChild(); - } - - ImGui.NextColumn(); - - ImGui.TextUnformatted(Language.RegularExpressionsToFilter); - if (ImGui.BeginChild($"##{name}-regexes", new Vector2(0, 175))) { - for (var i = 0; i < regexes.Count; i++) { - var input = regexes[i]; - if (ImGui.InputText($"##{name}-regex-{i}", ref input, 1_000)) { - try { - _ = new Regex(input); - // update if valid - regexes[i] = input; - shouldSave = true; - } catch (ArgumentException) { - // ignore - } - } - - ImGui.SameLine(); - ImGui.PushFont(UiBuilder.IconFont); - if (ImGui.Button($"{FontAwesomeIcon.Trash.ToIconString()}##{name}-regex-{i}-remove")) { - regexes.RemoveAt(i); - shouldSave = true; - } - - ImGui.PopFont(); - } - - ImGui.PushFont(UiBuilder.IconFont); - if (ImGui.Button($"{FontAwesomeIcon.Plus.ToIconString()}##{name}-regex-add")) { - regexes.Add(""); - } - - ImGui.PopFont(); - - ImGui.EndChild(); - } - - ImGui.Columns(1); - } - } -} diff --git a/NoSoliciting.Lite/Resources/Language.Designer.cs b/NoSoliciting.Lite/Resources/Language.Designer.cs deleted file mode 100755 index b54cb26..0000000 --- a/NoSoliciting.Lite/Resources/Language.Designer.cs +++ /dev/null @@ -1,117 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace NoSoliciting.Lite.Resources { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Language { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Language() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("NoSoliciting.Lite.Resources.Language", typeof(Language).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized string similar to Enable custom chat filters. - /// - internal static string EnableCustomChatFilters { - get { - return ResourceManager.GetString("EnableCustomChatFilters", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Enable custom Party Finder filters. - /// - internal static string EnableCustomPartyFinderFilters { - get { - return ResourceManager.GetString("EnableCustomPartyFinderFilters", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Apply filters to private Party Finder listings. - /// - internal static string FilterPrivatePfs { - get { - return ResourceManager.GetString("FilterPrivatePfs", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Regular expressions to filter. - /// - internal static string RegularExpressionsToFilter { - get { - return ResourceManager.GetString("RegularExpressionsToFilter", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to {0} settings. - /// - internal static string Settings { - get { - return ResourceManager.GetString("Settings", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Substrings to filter. - /// - internal static string SubstringsToFilter { - get { - return ResourceManager.GetString("SubstringsToFilter", resourceCulture); - } - } - } -} diff --git a/NoSoliciting.Lite/Resources/Language.de.resx b/NoSoliciting.Lite/Resources/Language.de.resx deleted file mode 100755 index 5a0fe07..0000000 --- a/NoSoliciting.Lite/Resources/Language.de.resx +++ /dev/null @@ -1,32 +0,0 @@ - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Benutzerdefinierte Chat Filter aktivieren - - - Benutzerdefinierte Gruppensuche Filter aktivieren - - - Filter auf private Gruppensuchen anwenden - - - zu filternde reguläre Ausdrücke - - - Einstellungen - - - zu filternde Zeichenketten - - \ No newline at end of file diff --git a/NoSoliciting.Lite/Resources/Language.es.resx b/NoSoliciting.Lite/Resources/Language.es.resx deleted file mode 100755 index 8a714a0..0000000 --- a/NoSoliciting.Lite/Resources/Language.es.resx +++ /dev/null @@ -1,32 +0,0 @@ - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Habilitar filtros de chat personalizados - - - Habilitar filtros del Party Finder personalizados - - - Aplicar filtros a listados privados del Party Finder - - - Expresiones regulares a filtrar - - - Ajustes de {0} - - - Subcadenas a filtrar - - \ No newline at end of file diff --git a/NoSoliciting.Lite/Resources/Language.fr.resx b/NoSoliciting.Lite/Resources/Language.fr.resx deleted file mode 100755 index 711dd40..0000000 --- a/NoSoliciting.Lite/Resources/Language.fr.resx +++ /dev/null @@ -1,32 +0,0 @@ - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Activer les filtres de discussion personnalisés - - - Activer les filtres de Recherche d'Équipe (PFs) personnalisés - - - Appliquer les filtres aux Recherches d'Équipe (PFs) listées en privées - - - Expressions régulières à filtrer - - - Paramètres de {0} - - - Sous-chaînes (substrings) à filtrer - - \ No newline at end of file diff --git a/NoSoliciting.Lite/Resources/Language.ja.resx b/NoSoliciting.Lite/Resources/Language.ja.resx deleted file mode 100755 index 51e366c..0000000 --- a/NoSoliciting.Lite/Resources/Language.ja.resx +++ /dev/null @@ -1,32 +0,0 @@ - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - カスタムチャットフィルタを有効化 - - - カスタムパーティ募集フィルタを有効化 - - - プライベート募集にフィルタを適用 - - - フィルタする正規表現 - - - {0} 設定 - - - フィルタするキーワード - - \ No newline at end of file diff --git a/NoSoliciting.Lite/Resources/Language.resx b/NoSoliciting.Lite/Resources/Language.resx deleted file mode 100755 index a159171..0000000 --- a/NoSoliciting.Lite/Resources/Language.resx +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Enable custom chat filters - - - Apply filters to private Party Finder listings - - - Enable custom Party Finder filters - - - Substrings to filter - - - Regular expressions to filter - - - {0} settings - - diff --git a/NoSoliciting.Lite/Resources/Language.zh-hans.resx b/NoSoliciting.Lite/Resources/Language.zh-hans.resx deleted file mode 100755 index 56cd402..0000000 --- a/NoSoliciting.Lite/Resources/Language.zh-hans.resx +++ /dev/null @@ -1,32 +0,0 @@ - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 启用自定义聊天消息过滤 - - - 启用自定义队员招募过滤 - - - 应用过滤规则至带密码的招募 - - - 过滤正则表达式 - - - {0} 设置 - - - 过滤关键词 - - \ No newline at end of file diff --git a/NoSoliciting.Lite/Resources/Language.zh-hant.resx b/NoSoliciting.Lite/Resources/Language.zh-hant.resx deleted file mode 100755 index 3910b77..0000000 --- a/NoSoliciting.Lite/Resources/Language.zh-hant.resx +++ /dev/null @@ -1,32 +0,0 @@ - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 啟用客製化聊天消息過濾 - - - 啟用客製化隊員招募過濾 - - - 應用過濾規則至帶密碼的招募 - - - 過濾正則表達式 - - - {0} 設置 - - - 過濾關鍵詞 - - \ No newline at end of file diff --git a/NoSoliciting.MessageClassifier/FodyWeavers.xml b/NoSoliciting.MessageClassifier/FodyWeavers.xml deleted file mode 100644 index 61a0b4d..0000000 --- a/NoSoliciting.MessageClassifier/FodyWeavers.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - Costura - CpuMathNative - LdaNative - - - diff --git a/NoSoliciting.MessageClassifier/NoSoliciting.MessageClassifier.csproj b/NoSoliciting.MessageClassifier/NoSoliciting.MessageClassifier.csproj deleted file mode 100755 index ad053c1..0000000 --- a/NoSoliciting.MessageClassifier/NoSoliciting.MessageClassifier.csproj +++ /dev/null @@ -1,28 +0,0 @@ - - - - Exe - net48 - latest - enable - 1.1.0 - - - - - - - - - - - - - - - - - - - - diff --git a/NoSoliciting.MessageClassifier/Program.cs b/NoSoliciting.MessageClassifier/Program.cs deleted file mode 100644 index 103c8ce..0000000 --- a/NoSoliciting.MessageClassifier/Program.cs +++ /dev/null @@ -1,87 +0,0 @@ -using System; -using System.Diagnostics; -using System.IO; -using System.Threading.Tasks; -using JKang.IpcServiceFramework.Hosting; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using Microsoft.ML; -using NoSoliciting.Interface; -using NoSoliciting.Internal.Interface; - -namespace NoSoliciting.MessageClassifier { - internal static class Program { - private static void Main(string[] args) { - if (!int.TryParse(args[0], out var gamePid)) { - Console.WriteLine("No game PID provided."); - return; - } - - var gameName = args[1]; - var pipeId = args[2]; - - var host = Host.CreateDefaultBuilder() - .ConfigureServices(services => { - services.AddSingleton(); - }) - .ConfigureIpcHost(builder => { - builder.AddNamedPipeEndpoint(options => { - options.PipeName = $"NoSoliciting.MessageClassifier-{pipeId}"; - options.Serializer = new BetterIpcSerialiser(); - }); - }) - .Build(); - - Task.Run(async () => { - while (true) { - Process process; - try { - process = Process.GetProcessById(gamePid); - } catch (Exception) { - await host.StopAsync(); - return; - } - - if (process.ProcessName != gameName) { - await host.StopAsync(); - return; - } - - await Task.Delay(5_000); - } - }); - - host.Run(); - } - } - - internal class ClassifierService : IClassifier, IDisposable { - private MLContext Context { get; set; } = null!; - private ITransformer Model { get; set; } = null!; - private DataViewSchema Schema { get; set; } = null!; - private PredictionEngine? PredictionEngine { get; set; } - - public void Initialise(byte[] data) { - if (this.PredictionEngine != null) { - this.PredictionEngine.Dispose(); - this.PredictionEngine = null; - } - - this.Context = new MLContext(); - this.Context.ComponentCatalog.RegisterAssembly(typeof(Data).Assembly); - using var stream = new MemoryStream(data); - var model = this.Context.Model.Load(stream, out var schema); - this.Model = model; - this.Schema = schema; - this.PredictionEngine = this.Context.Model.CreatePredictionEngine(this.Model, this.Schema); - } - - public string Classify(ushort channel, string message) { - return this.PredictionEngine?.Predict(new Data(channel, message))?.Category ?? "UNKNOWN"; - } - - public void Dispose() { - this.PredictionEngine?.Dispose(); - } - } -} diff --git a/NoSoliciting.MessageClassifier/costura64/CpuMathNative.dll b/NoSoliciting.MessageClassifier/costura64/CpuMathNative.dll deleted file mode 100644 index 118683b5d059632408272e1c12800992c837a35a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38272 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úoBROAO{eAX|z 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 z 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 diff --git a/NoSoliciting.Trainer/NoSoliciting.Trainer.csproj b/NoSoliciting.Trainer/NoSoliciting.Trainer.csproj index 69b6e19..43b13f4 100755 --- a/NoSoliciting.Trainer/NoSoliciting.Trainer.csproj +++ b/NoSoliciting.Trainer/NoSoliciting.Trainer.csproj @@ -11,12 +11,11 @@ - + - diff --git a/NoSoliciting.Trainer/Program.cs b/NoSoliciting.Trainer/Program.cs index 5311cc3..8a74295 100644 --- a/NoSoliciting.Trainer/Program.cs +++ b/NoSoliciting.Trainer/Program.cs @@ -4,7 +4,6 @@ using System.Collections.Generic; using System.Globalization; using System.IO; using System.Linq; -using System.Net; using System.Text; using ConsoleTables; using CsvHelper; @@ -16,7 +15,6 @@ using MimeKit; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; using NoSoliciting.Interface; -using NoSoliciting.Internal.Interface; namespace NoSoliciting.Trainer { internal static class Program { diff --git a/NoSoliciting.Trainer/data.csv b/NoSoliciting.Trainer/data.csv index 14c5d30..704f69c 100755 --- a/NoSoliciting.Trainer/data.csv +++ b/NoSoliciting.Trainer/data.csv @@ -51,6 +51,7 @@ COMMUNITY,0,Join Eorzea Multiverse! An 18+ discord for people looking for friend COMMUNITY,0,Join Eorzea Multiverse! An 18+ discord for people looking for friends or relationships! https://discord.gg/d2nQSgk8j4 COMMUNITY,0,Join Eorzea Multiverse! An 18+ discord for people looking for friends or relationships! https://discord.gg/d2nQSgk8j4 COMMUNITY,0,Join Eorzea Multiverse! An 18+ discord for people looking for friends or relationships! https://discord.gg/eom +COMMUNITY,0,Join Eorzea Multiverse! An 18+ discord for people looking for friends or relationships! https://discord.gg/eom COMMUNITY,0,"Join for an invite to a CWLS for SHB Relics. Clusters+fragments farms for memories, and HW FATE farming for memories. " COMMUNITY,0,"Join Geek-O Guild, an international hub for geek project assistance. Join us on discord and see how we can assist you ! <3" COMMUNITY,0,Join our social group themed after the popular jrpg ***Edge of Eternity!*** Everyone is welcome https://discord.gg/vtAFvNUN @@ -89,6 +90,7 @@ COMMUNITY,11," Rival Wings (Hidden Gorge) popping FRI & SAT - 5pm PDT/ 8pm EDT! COMMUNITY,11,★★ Want all your hunting notifications relayed to you by a sweetly seductive mooing cow? Join Faloop today and get pings directly from you local spawners and train conductors!★★ https://discord.gg/wQt8yzE COMMUNITY,11,♢ ASCEND ♢ a new social discord server uniting gamers that are sick of the toxic gaming environment and just want to have fun. COMMUNITY,11,♢ ASCEND ♢ a new social discord server uniting gamers that are sick of the toxic gaming environment and just want to have fun. +COMMUNITY,11,♢ ASCEND ♢ a new social discord server uniting gamers that are sick of the toxic gaming environment and just want to have fun. COMMUNITY,11,Chocobo Rival Wings! Hidden Gorge event TONIGHT! Come have fun!For more info discord.gg/pvprevival COMMUNITY,11,Discord Link: https://discord.gg/m5keWDcyx8 COMMUNITY,11,"Dont Forget everyone, The NogsRealm Discord for FF14 Content with ★NoviceDad★ Live Everyday :), New Players Welcome! https://discord.gg/XZMJN3N" @@ -107,6 +109,7 @@ COMMUNITY,11,Join us this Saturday at 5 PM PST/8 PM EST for !Earn exclusive rewa COMMUNITY,11,kweh! Chocobo Rival wings!!! Hidden Gorge event starting in 1 hour 8pm est!! ChocoboGlam up and head to Adamantoise Wolves Den! for more info check discord.gg/pvprevival COMMUNITY,11,Negate the hate and spread the love. Let's make long-lasting friendships and connections. Join our new social community today! COMMUNITY,11,Negate the hate and spread the love. Let's make long-lasting friendships and connections. Join our new social community today! +COMMUNITY,11,Negate the hate and spread the love. Let's make long-lasting friendships and connections. Join our new social community today! COMMUNITY,11,"PRIDE parade and glam contest Come join us at Limsa Aetheryte Plaze, Lunar Whale, Indigo Whale, SDS Fenrir mounts; Resshi, Fuga and Far Eastern attires; mog and in game emotes, minions and hairstyles—all up for grabs! Hosted by the Gilgamesh discord. Join: https://discord.gg/5Va2N3ydEn" COMMUNITY,11,Rival Wings (Hidden Gorge) popping Friday and Saturday - 5pm PDT/ 8pm EDT! 100 wins = 2 Mech Gorilla Mounts. Beginners welcome! More info: discord.gg/pvprevival COMMUNITY,11,"Sign Ups for BlueMage Trains, Map trains, Aether Trains, Mount Farms, Min-iLvL Runs and alot more!" @@ -124,6 +127,7 @@ FC,0,[RP FC] Silver Sands Collective ((SSCRP)) || Lala-owned business looking fo FC,0,[RP-FC] Kurone is a morally grey yakuza family. Interested in Eastern themed story-driven crime and combat RP? /tell for info! FC,0,[RP] Recruiting people for a LGBTQ friendly RP FC. Please DM me for details. We are located on Faerie FC,0,"[Siren] Looking for a chill af FC? Well, look no further, we're a growing FC with a med. house and active discord! Send /tell." +FC,0,"*Shiva* Need a Free Company? Join us "" Retribution"" ^^ hope to see you there, you can also just send a message" FC,0,#Bardsquad FC is looking for friends to hangout and punch primals with. If you like both pst or join the party :) FC,0,"<> is recruiting! If you're looking for a med-sized social active FC, then we would love to meet you! /tell for more info?" FC,0," Always recruiting, new or vets, LGBTQ+ welcome! We run all kinds of content! Send a tell or DM @Halftime#0001 on Discord" @@ -159,6 +163,9 @@ FC,0,"HAIL - Active, Social & Mature Company recruiting members! Our FC touches FC,0,Hallow Wolves is looking for members to join the FC. We have a house and a discord~ FC,0,Hey you want FC? We chill FC. We have house and those cool buffs. Send me a tell FC,0,"Hey, you!Lookin' for an active FC?Join us on CETRA! New?We got mentors! You raid?Join us!All are welcome.Apply or dm me to join" +FC,0,"Hop in weirdos! Join TwoPaths FC! Housing, Discord, Etc, Etc, blah, blah, sellusursoul,blah,blah Contact @ https://discord.gg/h6U6rBjJ" +FC,0,"Hop in weirdos! Join TwoPaths FC! Housing, Discord, Etc, Etc, blah, blah, sellusursoul,blah,blah Contact @ https://discord.gg/h6U6rBjJ" +FC,0,"Hop in weirdos! Join TwoPaths FC! Housing, Discord, Etc, Etc, blah, blah, sellusursoul,blah,blah Contact @ https://discord.gg/h6U6rBjJ" FC,0,"Interested in a fun, food-loving and LGBT+ friendly FC? Meshitero <-w-> is looking for friends to enjoy content with! /tell or join" FC,0,"Join Dairy Queen! A new FC looking for helpful, friendly players of all levels to join our community! Join for more info! ^^" FC,0,Journey's End seeking New Members! R30 FC looking for friendly individuals to enjoy the game with. join or PST for details. @@ -331,8 +338,11 @@ FLUFF,0,(/~5th Annual Balmung Lalafell Parade! ~\) -- discord.gg/lalafell TOMOR FLUFF,0,(/~5th Annual Balmung Lalafell Parade! ~\) -- discord.gg/lalafell TOMORROW 4p PT | 7p ET -- Ul'dah - All races/worlds are welcome. FLUFF,0,(/~5th Annual Balmung Lalafell Parade! ~\) -- discord.gg/lalafell TOMORROW 4p PT | 7p ET -- Ul'dah - All races/worlds are welcome. FLUFF,0,(/~5th Annual Balmung Lalafell Parade! ~\) -- discord.gg/lalafell TOMORROW 4p PT | 7p ET -- Ul'dah - All races/worlds are welcome. +FLUFF,0,[ART] Drawing Chibis of your characters! Send tell for prices and location to meet at. https://lemon-bun-shoppe.carrd.co/ FLUFF,0,"[FFXIV ART] Drawing some Chibi Ysh'tola, come along and watch her come to life @ twitch.tv/stressedkwi" +FLUFF,0,"[FREE ART] Heros of Eorzea | twitch.tv/stressedkiwi | Come chill in Limsa! " FLUFF,0,"{ART} Doing ffxiv commissions! | Headshots, Half-Bodies, Full Bodies, Emotes, & Chibis! | disc: Ari#4985 | https://ari-art.carrd.co/" +FLUFF,0,{Art} I do character portraits :D please let me know what you think! https://tacotakeoart.carrd.co/ <3 <3 FLUFF,0,*insert JoJo reference here* -> https://discord.gg/bSYaY8WaY3 FLUFF,0,<3 LF a wife/gf /pst or dm GothicKitten#6969 on discord <3 FLUFF,0,<3 LF a wife/gf for longterm romance relationship and EB /pst or dm Izuka Katsumi#5168 on discord <3 @@ -386,6 +396,7 @@ FLUFF,0,Duo doodling! Get your portrait drawn by Tori and Aphi! https://picarto. FLUFF,0,"Fashion show and glamour contest tonight, 7 PM EST @ Dia Goblet 6th Ward! Come see our collections and compete for prizes!" FLUFF,0,"game's dying. content is trash. reject 14, embrace league." FLUFF,0,Get custom pictures of your character! Follow link for detail! https://rsppictures.carrd.co/ +FLUFF,0,Giveaway 100000 Gils everyday @ twitch.tv/ifashu (FR/EN)(send tell here or twitch if any questions!) FLUFF,0,Handing out FREE fashion report gear at the Gilgamesh Gold Saucer! Just need a level 40 DoW! FLUFF,0,Handing out FREE fashion report gear by the Main Gold Saucer Aetheryte! Come earn an easy 60K MGP! FLUFF,0,"Hello friends, I'm currently looking for anime fans to interview for a capstone project! If you have any interest, join and chat!" @@ -433,7 +444,10 @@ FLUFF,0,"No matter how you may be feeling right now just remember, you DO matter FLUFF,0,"Octopies, get them while they're hot; IC-DH :D" FLUFF,0,"Offering my Artist skill for Commissions, Portrait, Lineart and more. join me for more info. Not Feet pics but close. " FLUFF,0,"Pass my Jump Puzzle and write in my message book to win 300k gil! 0/3 Claimed [Levi, Lavender Bed Ward 3 Wing 1 Apt #82]" +FLUFF,0,"PLURadise is BACK! 1 Mil Gil Summer Glam Contest @ Jenova, Mist, W15 P45! Party with Daddy LIVE! @ twitch.tv/DasGud " FLUFF,0,pm me for discord feet pic +FLUFF,0,POP-UP RIOT @ 8pm est with DJs Aerial and Mayhem. DIA GOB| W18 | P1 Twitch: https://twitch.tv/aerialmayhem outside ROCK! +FLUFF,0,POP-UP RIOT @ 8pm est with DJs Aerial and Mayhem. DIA GOB| W18 | P1 Twitch: https://twitch.tv/aerialmayhem outside ROCK! FLUFF,0,pro photographer for everything( also a taxi for people who cant fly in certain areas) FLUFF,0,"soft gay Xaela boy wishing everyone a fantastic morning! also, friendly reminder to drink water if you haven't yet! :3c [afk] " FLUFF,0,"super bored lvling crafting, join and talk c: " @@ -448,6 +462,7 @@ FLUFF,0,will do your taxes for casual top FLUFF,0,Would you like your picture taken? Join up and lets see what we can do together? Just doin it for fun. FLUFF,0,you know who you are FLUFF,0, HOUSE DECORATING SERVICE  I want to build your dream space! My furniture or yours! Cost/Examples: zekhdesigns.carrd.co +FLUFF,11,★Drawing Event- NOW!★ Hi! Do you fancy character portraits? Lively banter? A healthy dose of utter nonsense?? Then why not join us on some escapades?! FLUFF,11,★Drawing Event- Starting Soon!★ Hi! Do you fancy character portraits? Lively banter? A healthy dose of utter nonsense?? Then why not join us on some escapades?! FLUFF,11,★Drawing Event- Starting Soon!★ Hi! Do you fancy character portraits? Lively banter? A healthy dose of utter nonsense?? Then why not join us on some escapades?! FLUFF,11,ART DRAWING EVENT: SOON! Like art? Lively Conversation? Sea Pickles?! Come hang out while Phaegan Agana DRAWS CHARACTER PORTRAITS 4PM PST @twith.tv/wanderpus @@ -457,6 +472,8 @@ FLUFF,11,"Greetings and salutations new adventurers! Welcome to Eorzea! I invi FLUFF,11,"Hello beautiful people, can you help us with a follow on twitch.tv/hefty_gaming? We are a group of new players that want to build a friendly community, everyone is welcome. If you have the time join the conversation! (discord on twitch bio). Thank you and have fun!" FLUFF,11,"Hello beautiful people, can you help us with a follow on twitch.tv/hefty_gaming? We are a group of new players that want to build a friendly community, everyone is welcome. If you have the time join the conversation! (discord on twitch bio). Thank you and have fun!" FLUFF,11,"Hello beautiful people, can you help us with a follow on twitch.tv/hefty_gaming? We are a group of new players that want to build a friendly community, everyone is welcome. If you have the time join the conversation!. Thank you and have fun! (discord on twitch bio)" +FLUFF,11,"Let us keep you creative company while you grind that content straight into oblivion! Our signature blend of art, comedy, & stupidity- live on twitch.tv/wanderpus" +FLUFF,11,Tune into this amazing DJ talent! He rocks my socks off. Wait I am not wearing any. Hehe. https://www.twitch.tv/blaugrana8 FLUFF,11,  aka  //  Tune into his stream  - https://www.twitch.tv/djmannmade NORMAL,0," blue mage log for the HW 24 man! We'll be doing Void Ark -> Weeping City -> Dun Scath, come for fun!" NORMAL,0," blue mage log for the HW 24 man! We'll be doing Void Ark -> Weeping City -> Dun Scath, come for fun!" @@ -522,6 +539,7 @@ NORMAL,0,"51-151+ Have around 80/80 aetherpool, artifact grinding if possible" NORMAL,0,"51-200, 80+ gear" NORMAL,0,"5th week of this shit... P2 after basic onwards, Chinese Lions" NORMAL,0,"6pm(EST) boat, going for sea dragoon title" +NORMAL,0,70+ let get this mount NORMAL,0,"8 runs / 8 mounts, stay for all please" NORMAL,0,9 thru 12 pf strat 2 chest NORMAL,0,"9-10 weekly 2 chest, happy, akito vg2" @@ -623,6 +641,7 @@ NORMAL,0,Doing Art commission of your charactet with good price! more info add m NORMAL,0,doing e9 to 11 usual pug strats 2 chest NORMAL,0,doing final floor of each savage fight to unlock ultimates NORMAL,0,"DR speed running strats, if you join plz let me know what actions/essences youre bringing so theres no overlap thanks!" +NORMAL,0,DR Speedruns! Work out rends/dervish/flarestar/banish/eldercure at 20/24 NORMAL,0,draggo farm NORMAL,0,"Draggo Farm, T/H CW partners (CW SMN) , DPS towers, NIN uptime, N= 1-4 E= 2-5 S= 3-7 W=4-8 BLM" NORMAL,0,DRN Spams Brought To You Via CEM! @@ -666,6 +685,7 @@ NORMAL,0,farming dragons / post macro if u want / DONT JOIN IF U WANT TO LEAVE C NORMAL,0,Farming Heavens' Ward helm Fragments NORMAL,0,Farming Heavens' Ward helm Fragments NORMAL,0,"Farming this for gear, but I'm also willing to teach newcomers." +NORMAL,0,"Farmo Party, Standard Stuff" NORMAL,0,fast dragon farm bring macro and markers please ! NORMAL,0,Fat fuk needs to drop a mount for us NORMAL,0,"FFA - Zonureskin maps - Buy 2 " @@ -744,6 +764,7 @@ NORMAL,0,Just looking for someone to enjoy the game with. Can use me for easy qu NORMAL,0,Just looking to make some friends. Kinda lonely. Come to my house if you want. Mateus Goblet ward 22 plot 48 NORMAL,0,Just wanna do this again for fun NORMAL,0,Just want a few weapon greed only look join if u like to cheese it ty +NORMAL,0,"Just want Kefka minion " NORMAL,0,"kaine join my party :) " NORMAL,0,Kill/Log/Fun Party - Only P1- Dwayne/Chinese - Know the fight - Free ERP NORMAL,0,"know the fight, if someone falls off, laugh at them!" @@ -867,10 +888,12 @@ NORMAL,0,Practice from Seeds and onward. Help appreciated o: NORMAL,0,practice from sundered be patient m1 taken bring macro and markers braindead blue NORMAL,0,"practice from Voidgate. Helpers welcome. discord ok, only for german (if you want make callouts :D) R2/M2 taken" NORMAL,0,"Practice runs, hopefully we can clear. Discord is available, veteran welcomed. https://discord.gg/E8uN3xp" +NORMAL,0,"Practis 4 Friend, we play 1357" NORMAL,0,Practise platform and onward! NORMAL,0,Practise platform and onward! NORMAL,0,"Premade queue-sync. Tomorrow Friday, 11pm EST (13:00 JST, Saturday). gather Jenova Wolves' Den Pier (+cwls,discord)" NORMAL,0,Prog for 1. Happy brambles +NORMAL,0,prog for friends they're new to it. NORMAL,0,"Prog group! Have gotten to 10% in the 2nd phase, still shakey w/ a few mechs tho. :) vets appreciated but can take some newish ppl." NORMAL,0,"Prog group. 4:4, Saw phase 2 enrage" NORMAL,0,Prog to Clear | Pairs | Vets welcome | Helping FC mates @@ -2320,6 +2343,7 @@ NORMAL,11,still waiting for peggy. i'm out in the open NORMAL,11,stop being lazy and be a good FC person NORMAL,11,Take my class on how to not be a nice guy. NORMAL,11,"TBH, new races? Nah. Wasted. Just expand on current races; New hair, new faces, new tail styles, new features" +NORMAL,11,teamcraft should have the info NORMAL,11,tell me you're a tumblr dom without telling me you're a tumblr dom NORMAL,11,Tell the culinarian assholes they're -wrong- and to try again. NORMAL,11,that in itself is rulebreaking @@ -2504,6 +2528,12 @@ RMT_C,0,"[LALAKUZA] Eden's Promise Savage i530/535 loot, BLU Morbol, UWU,UCOB,TE RMT_C,0,"[LALAKUZA] Eden's Promise Savage, BLU Morbol mount, UWU,UCOB,TEA Ultimate, Raids, Trials. Discord: Lalakuza#1157" RMT_C,0,"[LALAKUZA] Eden's Savage, BLU Morbol Mount, UWU,UCOB,TEA Ultimate, PoTD/HoH Titles, Trials. Disc: Lalakuza#1157" RMT_C,0,"[LALAKUZA] Eden's Savage, BLU Morbol Mount, UWU,UCOB,TEA Ultimate, PoTD/HoH Titles, Trials. Disc: Lalakuza#1157" +RMT_C,0,"[No Wallets Allowed] - NO RMT, GIL ONLY! Offering Savage, Trials, BLU, Mentoring & much more! me for more info!" +RMT_C,0,"[No Wallets Allowed] - NO RMT/Gil-Only! Offering Savage, Raids, Trials, BLU & much more! for more info" +RMT_C,0,"[No Wallets Allowed] - NO RMT/Gil-Only! Offering Savage, Raids, Trials, BLU & much more! for more info" +RMT_C,0,"[No Wallets Allowed] - NO RMT/Gil-Only! Offering Savage, Raids, Trials, BLU & much more! for more info" +RMT_C,0,"[No Wallets Allowed] - NO RMT/Gil-Only! Offering Savage, Raids, Trials, BLU & much more! for more info" +RMT_C,0,"[No Wallets allowed] Selling Savage, Mounts, Blu skills, Mentoring [Only Gil no RMT] DM me for more info!" RMT_C,0,[Rage] E9S-E12S - Ucob/Uwu/Tea - Primals - Mounts - Blu - Coaching - Potd/Hoh - Delubrum Reginae and more! rixia#8353 RMT_C,0,"[Sakura] Eden 9-12, Ultimates, POTD/HOH, Primals, DR Savage, Mentoring, FFlogs, Blu Mage etc. Minerva#1412" RMT_C,0,"[Tranquility FC] Check out our help runs! Savages, Ultimates, POTD/HOH, Titles, Primals, Cerberus, Mentoring. Fierytail#0001 " @@ -2682,6 +2712,7 @@ RMT_C,0,"9-12S 48h service less than <$150, Ultimate Raid less than <$120, also RMT_C,0,"9-12S 48h service less than <$150, Ultimate Raid less than <$120, also titles and mounts, contact Bearseal1010#2401" RMT_C,0,"AnyPvE,{Mount}{E9-12s}{TheNecromancer}{AstropeWhistle}{UWU}{UCOB}{TEA}welcome to consult-Discord:Bean curd#0049" RMT_C,0,Available NOW! GIL ONLY! Selling All HW/SB/ShB Primals/ O4-8-12S/E4S >> Send a tell or visit http://rollraider.carrd.co/ << +RMT_C,0,Chocorpokkur Mounts available. Missed the event? Discord for info BunBun#0001 RMT_C,0,"Eden 9-12, Ultimates, POTD/HOH, Primals, DR Savage, Mentoring, FFlogs, Blu Mage etc. Here: Minerva#1412" RMT_C,0,Fast and easy help with ≪ ❶ Savage 一 ❷ Ultimates 一 ❸ Mounts ❹ Blu ≫ Discord → ashlar#6021 RMT_C,0,GIL ONLY | All Savage | All Mounts | All Extremes | All Ultimates >>ffyakuza #3893 or https://ffyakuza.carrd.co/<< @@ -2829,6 +2860,7 @@ RP,0,"[18+] ♥ Otter Springs Spa & Resort ♥ CURRENTLY HIRING, NO EXP REQUIRED RP,0,"[18+] ATTIKA is now open! Raffle tonight for a chance to win cool prizes! Dancing, Drinks, Food! Sarg; Shiro W6 P28. 10pm EST♥" RP,0,[18+] CLUB AFTERLIFE is open! Come through our gates and drink the night away! [10PM-2AM EST] [Jenova/Shirogane/W14/P16] RP,0,[18+] Gilga LB 22/58. 4th floor penthouse. Elevator is on the right as you walk in the door. Bring friends and a bathing suit. +RP,0,"[18+] I guess this is as good a time as any to say my parents aren't home. LB 22/58, bring your friends!!!" RP,0,"[18+] LuXe Nightclub - Hiring Entertainers, Hosts, Cocktail Staff, Bartenders, Dealers, Security - https://discord.gg/fpx4DFcbdt" RP,0,[18+] Please join us tonight at 9PM EST LB P33W22 Yorha theme For more info: https://milkym.carrd.co/ RP,0,[18+] Scarlet Night is open! Live Music w/ Two imaginary Girls/Baths/Bar/Trivia! Adamantoise Shirogane W16 P7 @@ -3026,6 +3058,7 @@ RP,0, Coeurl Mist Ward 17 Plot 52! Please join us! Open from 6pm-9p RP,0," The Winter Market is here! Come for a night of fun, festivity and Starlight cheer! Observatorium in CCH, Gilgamesh!" RP,0,"| - Hangin out in the Hotsprings, talkin n' stuff. RP's cool also - | - Exodus - Kugane - Bokaisen Hot Springs, West of Bokairo Inn - |" RP,0,~♡NOW OPEN♡~ The Ruby Lounge – GIVEAWAYS - Dancers and Drinks - Malboro Gob W3P30 - therubylounge.carrd.co/ +RP,0,◇ Limitless Chaos Club ◇ Tonight NieR party - 10pm-12am CEST | Spriggan - Goblet - w7 p30 | Dj Live + Gil M Giveaway + games +... RP,0,"● The Pearl ● a Victorian Brothel opening Tuesday! Applications closing tonight, get yours in now! [ thepearlxiv.carrd.co ]" RP,0,"★ 18:00 ST ★ SUGAR & SPICE ★ GLAMS GAMBLING DEBAUCHERY ★ HEAVENLY HELL ★ Spriggan, The Goblet (18th Ward, Plot 13) ★" RP,0,"★ TODAY 19:00 ST ★ Kitty Kat X-Mas ★ Open Party at 'The Catwalk' ★ Spriggan, The Goblet - 19th Ward, Plot 35 ★" @@ -3061,6 +3094,7 @@ RP,0,"♥Booty House♥ Cactuar / LB w3,p35 (South sub.) ♥ Fridays 6pm PST ♥ RP,0,"♥Booty House♥ Cactuar / LB w3,p35 (South sub.) ♥ Fridays 6pm PST ♥ MAGICAL GIRLS ♥ https://discord.gg/XzjBxbF" RP,0,♥Daffodil Hill Maid Cafe is open from 10PM-1AM EST!♥ We're a fun SFW environment! SARG. LAV BEDS W:14 P:51! uwu RP,0,♥Faeries' Caress is open! ♥ Come enjoy a chill sunday with us and share art in our stage! ♥ Adamantoise - L B - W15 - Plot 12 +RP,0,♥Soft Miqo School Wants To Do Things You Ask In Exchange For Gil! Dm Your Request♥ RP,0,"♥THE WILLOW IS OPEN @10pm EST ♥DOMS & SUBS NIGHT♥ LIVE Performers, Drinks, Dancing, & MORE♥ Siren Lav Beds W21 P6" RP,0,"♥THE WILLOW IS OPEN♥ 7pm-12am EST♥ Siren~Lav Beds~W21 P6♥ Join us for drinks, dancing, and more fun!♥" RP,0,♪ THE BARDS' GUILD ♪ CommunityCome vibe and learn with other bard //Concert Hall// Gigs♪ https://discord.gg/rhZ2r9m2f8 @@ -3127,6 +3161,7 @@ RP,0,Craving Pizza? Pogazu Pizza is open! Dine in @ Ada Mist W23 P21 / Join Part RP,0,Crescents Keep All Saints Date Auction and Costume Party! Over 1mil in prizes! Mist Ward 14 Plot 34 7-10 EST RP,0,Crystal Order Academy is looking for students! We are an RP community! if you want to know more than join or send a tell! RP,0,cute bun egirl looking for eboys uwu +RP,0,cute lala maid doing anything for gil RP,0,cute miqo girl down for anything uwu RP,0,Darkstalkers is a voidhunter based rp FC looking for members! Why not give into your Edge and join up with the us! RP,0,DEVIL MAY CARE / 9PM EST Grand Reopening / Bask in the Devilish Decadence / Cact / Gob / W6 P 12 / dmcbuilding.carrd.co @@ -3327,6 +3362,7 @@ RP,0,"Springtime Surprise! Adamantoise, P28, W15 Lavender Beds - 4/24 8PM CST Sp RP,0,"SQUAD RAGER! Into the woods, A Fairy tale RAGER! 11pm EST, Zalera, South Shroud Quarry Mill Aetheryte! Then travel to 33-23. " RP,0,"STARSTRUCK plays 9 NOW ♥ faerie, Goblet-W6-P13. Come see your fravorite idol group tonight at The Sirens Abyss." RP,0,Sugar Sugar Hime Lounge is hosting a winter raffle! Drinks are on the house <3 Faerie - Goblet - W14 P35 discord.gg/HRpZ54m +RP,0,sweeping for tips in the hyperion gridania markets. god bless. RP,0,"Tako Train ""Maid"" Cafe presents Winter Wonderland ft. REAL ELSA AND AMBER WOW Cact. LavBeds W9 P27 ~ takotraincafe.carrd.co" RP,0,Tea Thyme Cafe open W9 P13 Mist Ada. Stop on by and get some Love packs from tea thyme. Open stage mic all night ♥♥♥♥♥ RP,0,"The Blooming Rose is open! Come by for drinks, dancing, and chill vibes. Siren LB W7P21, 7pm to 10pm EST" @@ -3937,6 +3973,7 @@ TRADE,0,5 min photoshoot 20k for you or a group. i do wedding pics and friend pi TRADE,0,"5 min photoshoot 30,000gil for you and or a friend. custom work. freelancer. send me a message." TRADE,0,Any skybuilders' scrip mount for 750k TRADE,0,"ATTENTION FC LEADERS ! Selling SCHEMATICS BOARD MATS of all types-Florist house glam kit=2.5mil, c.lumber(120k) & p.clay(100k" +TRADE,0,"B > 1or 2 Warden of the Seven Hue =D come on in and chat " TRADE,0,Benben Minion for sale. Join with offers. TRADE,0,Blue Moon Phasmascape! Selling for 8.5m OBO Pls join!! Save us both MB taxes! TRADE,0,"Bored and Broke Bun selling conversations, 500k for 30 minutes. I got bills man." @@ -4034,6 +4071,7 @@ TRADE,0,Master (melding) Omni-crafter! All recipies acquired! Discounts availabl TRADE,0,"Need a few Pelagic Clay? Need a lot? I've got 35 to sell! 200k for each, send a tell or join! Also have a couple Coco Lumbrers." TRADE,0,Need a mansion in Faerie? I have a large mansion in Faerie. Discord - Wulfen#8144 TRADE,0,"Need bulk materials before expansion? Hire us! Fast, professional and cheaper than the MB by 20% or more! Dodo Gathering " +TRADE,0,Need help with decoration your house? Moonlight decor can help! I love doing all builds. <3 https://discord.gg/Qdh4su7U5M TRADE,0,Night Steel Pegasus 14M. Skip the MB tax. Ride a cool horse that makes people think you did Palace of the Dead real good! TRADE,0,Offering Gather Service - 30% Less than MB per item TRADE,0,"Omni Crafter for Hire. If you have the mats , will craft for less than MB prices. Negotiations applicable. Can craft Frontier etc." @@ -4185,6 +4223,7 @@ TRADE,0,"WTB small, pst me or pop in party. <3 " TRADE,0,WTB stacks of Stormsap 500k/stack TRADE,0,WTB Workshop Mats TRADE,0,"WTS - Incitatus Whistle - Cheapest on Aether! 11,000,000 - avoid marketboard and tax for us both!" +TRADE,0,WTS CHEAP gathering service BTN/MIN. Cheaper prices for bulk buyers. Send /tell for more info dc: R$chB$tch#3169 TRADE,0,WTS Copycat Bulb (Minion) Cheaper than MB /tell if interested TRADE,0,"WTS Eastern Cherry Tree, cheaper than MB - Jenova only - PST or Join" TRADE,0,WTS FC with S plot in LB (plot 29) diff --git a/NoSoliciting.sln b/NoSoliciting.sln index 57975e1..38bdae0 100755 --- a/NoSoliciting.sln +++ b/NoSoliciting.sln @@ -11,12 +11,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NoSoliciting.Interface", "N EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NoSoliciting.Trainer", "NoSoliciting.Trainer\NoSoliciting.Trainer.csproj", "{3D774127-F7A9-4B6D-AB2F-3AAF80D15586}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NoSoliciting.MessageClassifier", "NoSoliciting.MessageClassifier\NoSoliciting.MessageClassifier.csproj", "{16689469-6A74-4197-818A-EA44697BD815}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NoSoliciting.Internal.Interface", "NoSoliciting.Internal.Interface\NoSoliciting.Internal.Interface.csproj", "{742F1B3F-030F-4886-B05D-0D41D4DDA8FD}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NoSoliciting.Lite", "NoSoliciting.Lite\NoSoliciting.Lite.csproj", "{46679548-E204-453B-AAAC-F31342071E03}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -35,18 +29,6 @@ Global {3D774127-F7A9-4B6D-AB2F-3AAF80D15586}.Debug|Any CPU.Build.0 = Debug|Any CPU {3D774127-F7A9-4B6D-AB2F-3AAF80D15586}.Release|Any CPU.ActiveCfg = Release|Any CPU {3D774127-F7A9-4B6D-AB2F-3AAF80D15586}.Release|Any CPU.Build.0 = Release|Any CPU - {16689469-6A74-4197-818A-EA44697BD815}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {16689469-6A74-4197-818A-EA44697BD815}.Debug|Any CPU.Build.0 = Debug|Any CPU - {16689469-6A74-4197-818A-EA44697BD815}.Release|Any CPU.ActiveCfg = Release|Any CPU - {16689469-6A74-4197-818A-EA44697BD815}.Release|Any CPU.Build.0 = Release|Any CPU - {742F1B3F-030F-4886-B05D-0D41D4DDA8FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {742F1B3F-030F-4886-B05D-0D41D4DDA8FD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {742F1B3F-030F-4886-B05D-0D41D4DDA8FD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {742F1B3F-030F-4886-B05D-0D41D4DDA8FD}.Release|Any CPU.Build.0 = Release|Any CPU - {46679548-E204-453B-AAAC-F31342071E03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {46679548-E204-453B-AAAC-F31342071E03}.Debug|Any CPU.Build.0 = Debug|Any CPU - {46679548-E204-453B-AAAC-F31342071E03}.Release|Any CPU.ActiveCfg = Release|Any CPU - {46679548-E204-453B-AAAC-F31342071E03}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/NoSoliciting/Commands.cs b/NoSoliciting/Commands.cs index 459f866..bba766f 100755 --- a/NoSoliciting/Commands.cs +++ b/NoSoliciting/Commands.cs @@ -8,23 +8,23 @@ namespace NoSoliciting { internal Commands(Plugin plugin) { this.Plugin = plugin; - this.Plugin.Interface.CommandManager.AddHandler("/prmt", new CommandInfo(this.OnCommand) { + this.Plugin.CommandManager.AddHandler("/prmt", new CommandInfo(this.OnCommand) { HelpMessage = "Opens the NoSoliciting configuration (deprecated)", ShowInHelp = false, }); - this.Plugin.Interface.CommandManager.AddHandler("/nosol", new CommandInfo(this.OnCommand) { + this.Plugin.CommandManager.AddHandler("/nosol", new CommandInfo(this.OnCommand) { HelpMessage = "Opens the NoSoliciting configuration", }); } public void Dispose() { - this.Plugin.Interface.CommandManager.RemoveHandler("/nosol"); - this.Plugin.Interface.CommandManager.RemoveHandler("/prmt"); + this.Plugin.CommandManager.RemoveHandler("/nosol"); + this.Plugin.CommandManager.RemoveHandler("/prmt"); } private void OnCommand(string command, string args) { if (command == "/prmt") { - this.Plugin.Interface.Framework.Gui.Chat.PrintError($"[{this.Plugin.Name}] The /prmt command is deprecated and will be removed. Please use /nosol instead."); + this.Plugin.ChatGui.PrintError($"[{this.Plugin.Name}] The /prmt command is deprecated and will be removed. Please use /nosol instead."); } if (args == "report") { diff --git a/NoSoliciting/ContextMenu.cs b/NoSoliciting/ContextMenu.cs index acca3d2..fdcfe6c 100755 --- a/NoSoliciting/ContextMenu.cs +++ b/NoSoliciting/ContextMenu.cs @@ -1,7 +1,5 @@ using System; using System.Linq; -using System.Threading.Tasks; -using NoSoliciting.Interface; using NoSoliciting.Resources; using XivCommon.Functions.ContextMenu; diff --git a/NoSoliciting/DalamudPackager.targets b/NoSoliciting/DalamudPackager.targets index 52bf906..5c12c42 100644 --- a/NoSoliciting/DalamudPackager.targets +++ b/NoSoliciting/DalamudPackager.targets @@ -4,7 +4,6 @@ OutputPath="$(OutputPath)" AssemblyName="$(AssemblyName)" VersionComponents="3" - MakeZip="true" - Include="NoSoliciting.json;NoSoliciting.dll;NoSoliciting.pdb"/> + MakeZip="true"/> diff --git a/NoSoliciting/Filter.cs b/NoSoliciting/Filter.cs index 919fbb3..7f2a6f2 100644 --- a/NoSoliciting/Filter.cs +++ b/NoSoliciting/Filter.cs @@ -1,9 +1,8 @@ -using Dalamud.Plugin; -using System; -using Dalamud.Game.Internal.Gui; -using Dalamud.Game.Internal.Gui.Structs; +using System; +using Dalamud.Game.Gui.PartyFinder.Types; using Dalamud.Game.Text; using Dalamud.Game.Text.SeStringHandling; +using Dalamud.Logging; using NoSoliciting.Interface; using NoSoliciting.Ml; @@ -48,8 +47,8 @@ namespace NoSoliciting { public Filter(Plugin plugin) { this.Plugin = plugin ?? throw new ArgumentNullException(nameof(plugin), "Plugin cannot be null"); - this.Plugin.Interface.Framework.Gui.Chat.OnCheckMessageHandled += this.OnChat; - this.Plugin.Interface.Framework.Gui.PartyFinder.ReceiveListing += this.OnListing; + this.Plugin.ChatGui.CheckMessageHandled += this.OnChat; + this.Plugin.PartyFinderGui.ReceiveListing += this.OnListing; } private void Dispose(bool disposing) { @@ -58,8 +57,8 @@ namespace NoSoliciting { } if (disposing) { - this.Plugin.Interface.Framework.Gui.Chat.OnCheckMessageHandled -= this.OnChat; - this.Plugin.Interface.Framework.Gui.PartyFinder.ReceiveListing -= this.OnListing; + this.Plugin.ChatGui.CheckMessageHandled -= this.OnChat; + this.Plugin.PartyFinderGui.ReceiveListing -= this.OnListing; } this._disposedValue = true; @@ -184,7 +183,7 @@ namespace NoSoliciting { } // step 1. check if pf has an item level that's too high - if (this.Plugin.Config.FilterHugeItemLevelPFs && listing.MinimumItemLevel > FilterUtil.MaxItemLevelAttainable(this.Plugin.Interface.Data)) { + if (this.Plugin.Config.FilterHugeItemLevelPFs && listing.MinimumItemLevel > FilterUtil.MaxItemLevelAttainable(this.Plugin.DataManager)) { return (null, "ilvl"); } diff --git a/NoSoliciting/FilterUtil.cs b/NoSoliciting/FilterUtil.cs index 8143d85..8f42726 100644 --- a/NoSoliciting/FilterUtil.cs +++ b/NoSoliciting/FilterUtil.cs @@ -98,7 +98,7 @@ namespace NoSoliciting { var ilvls = new Dictionary(); - foreach (var item in data.GetExcelSheet()) { + foreach (var item in data.GetExcelSheet()!) { var slot = SlotFromItem(item); if (slot == null) { continue; diff --git a/NoSoliciting/FodyWeavers.xml b/NoSoliciting/FodyWeavers.xml index 011db71..c0818d9 100644 --- a/NoSoliciting/FodyWeavers.xml +++ b/NoSoliciting/FodyWeavers.xml @@ -1,5 +1,4 @@  - diff --git a/NoSoliciting/ILRepack.targets b/NoSoliciting/ILRepack.targets deleted file mode 100644 index 97d87e4..0000000 --- a/NoSoliciting/ILRepack.targets +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/NoSoliciting/Interface/PluginUi.cs b/NoSoliciting/Interface/PluginUi.cs index 6f94a82..9ae5f18 100755 --- a/NoSoliciting/Interface/PluginUi.cs +++ b/NoSoliciting/Interface/PluginUi.cs @@ -13,11 +13,11 @@ namespace NoSoliciting.Interface { this.Settings = new Settings(plugin, this); this.Report = new Report(plugin); - this.Plugin.Interface.UiBuilder.OnBuildUi += this.Draw; + this.Plugin.Interface.UiBuilder.Draw += this.Draw; } public void Dispose() { - this.Plugin.Interface.UiBuilder.OnBuildUi -= this.Draw; + this.Plugin.Interface.UiBuilder.Draw -= this.Draw; this.Settings.Dispose(); } diff --git a/NoSoliciting/Interface/Report.cs b/NoSoliciting/Interface/Report.cs index 1ecba98..a14e82b 100755 --- a/NoSoliciting/Interface/Report.cs +++ b/NoSoliciting/Interface/Report.cs @@ -6,7 +6,7 @@ using System.Numerics; using System.Threading.Tasks; using Dalamud.Game.Text.SeStringHandling; using Dalamud.Game.Text.SeStringHandling.Payloads; -using Dalamud.Plugin; +using Dalamud.Logging; using ImGuiNET; using NoSoliciting.Ml; using NoSoliciting.Resources; @@ -68,6 +68,7 @@ namespace NoSoliciting.Interface { var windowTitle = string.Format(Language.Reporting, this.Plugin.Name); if (!ImGui.Begin($"{windowTitle}###NoSoliciting reporting", ref this._showReporting)) { + ImGui.End(); return; } @@ -125,7 +126,7 @@ namespace NoSoliciting.Interface { .Select(payload => payload.Text) .FirstOrDefault() ?? ""; - if (AddRow(message.Timestamp.ToString(CultureInfo.CurrentCulture), message.ChatType.Name(this.Plugin.Interface.Data), message.FilterReason ?? string.Empty, sender, message.Content.TextValue)) { + if (AddRow(message.Timestamp.ToString(CultureInfo.CurrentCulture), message.ChatType.Name(this.Plugin.DataManager), message.FilterReason ?? string.Empty, sender, message.Content.TextValue)) { ImGui.OpenPopup($"###modal-message-{message.Id}"); } @@ -320,12 +321,12 @@ namespace NoSoliciting.Interface { switch (status) { case ReportStatus.Successful: { var msg = Language.ReportToastSuccess; - this.Plugin.Interface.Framework.Gui.Toast.ShowNormal(string.Format(msg, message.Sender)); + this.Plugin.ToastGui.ShowNormal(string.Format(msg, message.Sender)); break; } case ReportStatus.Failure: { var msg = Language.ReportToastFailure; - this.Plugin.Interface.Framework.Gui.Toast.ShowError(string.Format(msg, message.Sender)); + this.Plugin.ToastGui.ShowError(string.Format(msg, message.Sender)); break; } } diff --git a/NoSoliciting/Interface/Settings.cs b/NoSoliciting/Interface/Settings.cs index 8f2483a..f19cb8a 100755 --- a/NoSoliciting/Interface/Settings.cs +++ b/NoSoliciting/Interface/Settings.cs @@ -24,14 +24,14 @@ namespace NoSoliciting.Interface { this.Plugin = plugin; this.Ui = ui; - this.Plugin.Interface.UiBuilder.OnOpenConfigUi += this.Open; + this.Plugin.Interface.UiBuilder.OpenConfigUi += this.Open; } public void Dispose() { - this.Plugin.Interface.UiBuilder.OnOpenConfigUi -= this.Open; + this.Plugin.Interface.UiBuilder.OpenConfigUi -= this.Open; } - private void Open(object? sender, EventArgs? e) { + private void Open() { this.ShowSettings = true; } @@ -164,7 +164,7 @@ namespace NoSoliciting.Interface { var types = this.Plugin.Config.MlFilters[category]; void DrawTypes(ChatType type, string id) { - var name = type.Name(this.Plugin.Interface.Data); + var name = type.Name(this.Plugin.DataManager); var check = types.Contains(type); if (!ImGui.Checkbox($"{name}##{id}", ref check)) { diff --git a/NoSoliciting/Message.cs b/NoSoliciting/Message.cs index 1f36460..bca305f 100644 --- a/NoSoliciting/Message.cs +++ b/NoSoliciting/Message.cs @@ -220,7 +220,7 @@ namespace NoSoliciting { return "Party (Cross-world)"; } - var lf = data.GetExcelSheet().FirstOrDefault(lf => lf.LogKind == type.LogKind()); + var lf = data.GetExcelSheet()!.FirstOrDefault(lf => lf.LogKind == type.LogKind()); return lf?.Name?.ToString() ?? type.ToString(); } diff --git a/NoSoliciting/Ml/Classifier.cs b/NoSoliciting/Ml/Classifier.cs new file mode 100755 index 0000000..e41923d --- /dev/null +++ b/NoSoliciting/Ml/Classifier.cs @@ -0,0 +1,35 @@ +using System.IO; +using Microsoft.ML; +using NoSoliciting.Interface; + +namespace NoSoliciting.Ml { + internal class Classifier : IClassifier { + private MLContext Context { get; set; } = null!; + private ITransformer Model { get; set; } = null!; + private DataViewSchema Schema { get; set; } = null!; + private PredictionEngine? PredictionEngine { get; set; } + + public void Initialise(byte[] data) { + if (this.PredictionEngine != null) { + this.PredictionEngine.Dispose(); + this.PredictionEngine = null; + } + + this.Context = new MLContext(); + this.Context.ComponentCatalog.RegisterAssembly(typeof(Data).Assembly); + using var stream = new MemoryStream(data); + var model = this.Context.Model.Load(stream, out var schema); + this.Model = model; + this.Schema = schema; + this.PredictionEngine = this.Context.Model.CreatePredictionEngine(this.Model, this.Schema); + } + + public string Classify(ushort channel, string message) { + return this.PredictionEngine?.Predict(new Data(channel, message))?.Category ?? "UNKNOWN"; + } + + public void Dispose() { + this.PredictionEngine?.Dispose(); + } + } +} diff --git a/NoSoliciting/Ml/MlFilter.cs b/NoSoliciting/Ml/MlFilter.cs index 7b33141..eef2a6a 100644 --- a/NoSoliciting/Ml/MlFilter.cs +++ b/NoSoliciting/Ml/MlFilter.cs @@ -1,17 +1,13 @@ using System; -using System.Diagnostics; using System.IO; using System.Linq; using System.Net; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; -using Dalamud.Plugin; -using JKang.IpcServiceFramework.Client; -using Microsoft.Extensions.DependencyInjection; +using Dalamud.Logging; using NoSoliciting.Interface; using NoSoliciting.Resources; -using Resourcer; using YamlDotNet.Core; using YamlDotNet.Serialization; using YamlDotNet.Serialization.NamingConventions; @@ -31,18 +27,16 @@ namespace NoSoliciting.Ml { public uint Version { get; } public Uri ReportUrl { get; } - private Process Process { get; } - private IIpcClient Classifier { get; } + private IClassifier Classifier { get; } - private MlFilter(uint version, Uri reportUrl, Process process, IIpcClient classifier) { - this.Process = process; + private MlFilter(uint version, Uri reportUrl, IClassifier classifier) { this.Classifier = classifier; this.Version = version; this.ReportUrl = reportUrl; } public MessageCategory ClassifyMessage(ushort channel, string message) { - var prediction = this.Classifier.InvokeAsync(classifier => classifier.Classify(channel, message)).Result; + var prediction = this.Classifier.Classify(channel, message); var category = MessageCategoryExt.FromString(prediction); if (category != null) { @@ -71,7 +65,7 @@ namespace NoSoliciting.Ml { if (localManifest != null && (manifest?.Item1 == null || localManifest.Version == manifest.Value.manifest.Version)) { try { // try to reach the cached model - data = File.ReadAllBytes(CachedFilePath(plugin, ModelName)); + data = await File.ReadAllBytesAsync(CachedFilePath(plugin, ModelName)); // set the manifest to our local one and an empty string for the source manifest ??= (localManifest, string.Empty); } catch (IOException) { @@ -128,64 +122,16 @@ namespace NoSoliciting.Ml { } // initialise the classifier - var pluginFolder = plugin.Interface.ConfigDirectory.ToString(); - - var exePath = await ExtractClassifier(pluginFolder); - - var pipeId = Guid.NewGuid(); - - var process = StartClassifier(exePath, pipeId, showWindow); - var client = await CreateClassifierClient(pipeId, data); + var classifier = new Classifier(); + classifier.Initialise(data); return new MlFilter( manifest.Value.manifest!.Version, manifest.Value.manifest!.ReportUrl, - process!, - client + classifier ); } - private static async Task> CreateClassifierClient(Guid pipeId, byte[] data) { - var serviceProvider = new ServiceCollection() - .AddNamedPipeIpcClient("client", (_, options) => { - options.PipeName = $"NoSoliciting.MessageClassifier-{pipeId}"; - options.Serializer = new BetterIpcSerialiser(); - }) - .BuildServiceProvider(); - - var clientFactory = serviceProvider.GetRequiredService>(); - var client = clientFactory.CreateClient("client"); - - await client.InvokeAsync(classifier => classifier.Initialise(data)); - return client; - } - - private static Process StartClassifier(string exePath, Guid pipeId, bool showWindow) { - var game = Process.GetCurrentProcess(); - - var startInfo = new ProcessStartInfo(exePath) { - CreateNoWindow = !showWindow, - UseShellExecute = false, - Arguments = $"\"{game.Id}\" \"{game.ProcessName}\" \"{pipeId}\"", - }; - return Process.Start(startInfo)!; - } - - private static async Task ExtractClassifier(string pluginFolder) { - using var exe = Resource.AsStream("NoSoliciting.NoSoliciting.MessageClassifier.exe"); - Directory.CreateDirectory(pluginFolder); - var exePath = Path.Combine(pluginFolder, "NoSoliciting.MessageClassifier.exe"); - - try { - using var exeFile = File.Create(exePath); - await exe.CopyToAsync(exeFile); - } catch (IOException ex) { - PluginLog.LogWarning($"Could not update classifier. Continuing as normal.\n{ex}"); - } - - return exePath; - } - private static async Task DownloadModel(Uri url) { try { using var client = new WebClient(); @@ -211,7 +157,7 @@ namespace NoSoliciting.Ml { var file = File.Create(cachePath); await file.WriteAsync(data, 0, data.Length); await file.FlushAsync(); - file.Dispose(); + await file.DisposeAsync(); } private static async Task<(Manifest manifest, string source)?> DownloadManifest() { @@ -257,12 +203,7 @@ namespace NoSoliciting.Ml { } public void Dispose() { - try { - this.Process.Kill(); - this.Process.Dispose(); - } catch (Exception) { - // ignored - } + this.Classifier.Dispose(); } } diff --git a/NoSoliciting/NoSoliciting.csproj b/NoSoliciting/NoSoliciting.csproj index 5d9e5dd..87671ba 100755 --- a/NoSoliciting/NoSoliciting.csproj +++ b/NoSoliciting/NoSoliciting.csproj @@ -4,9 +4,11 @@ latest enable 2.1.3 - net48 + net5-windows true x64 + true + false @@ -35,18 +37,14 @@ - + - - - + - - + - ResXFileCodeGenerator Language.Designer.cs @@ -62,4 +60,7 @@ NoSoliciting.resx + + + diff --git a/NoSoliciting/NoSoliciting.yaml b/NoSoliciting/NoSoliciting.yaml index 11912a2..9dab33c 100644 --- a/NoSoliciting/NoSoliciting.yaml +++ b/NoSoliciting/NoSoliciting.yaml @@ -1,5 +1,6 @@ author: ascclemens name: NoSoliciting +punchline: Adblock for FFXIV. description: |- Customisable chat and Party Finder filtering. In addition to letting you filter anything from chat and PF, it comes with built-in filters diff --git a/NoSoliciting/Plugin.cs b/NoSoliciting/Plugin.cs index 69ff922..7cb16a5 100644 --- a/NoSoliciting/Plugin.cs +++ b/NoSoliciting/Plugin.cs @@ -6,52 +6,79 @@ using System.IO; using System.Reflection; using System.Threading.Tasks; using Dalamud; +using Dalamud.Data; +using Dalamud.Game.ClientState; +using Dalamud.Game.Command; +using Dalamud.Game.Gui; +using Dalamud.Game.Gui.PartyFinder; +using Dalamud.Game.Gui.Toast; +using Dalamud.IoC; +using Dalamud.Logging; using NoSoliciting.Interface; using NoSoliciting.Ml; using NoSoliciting.Resources; using XivCommon; namespace NoSoliciting { + // ReSharper disable once ClassNeverInstantiated.Global public class Plugin : IDalamudPlugin { private bool _disposedValue; public string Name => "NoSoliciting"; - private Filter Filter { get; set; } = null!; + private Filter Filter { get; } - public DalamudPluginInterface Interface { get; private set; } = null!; - public PluginConfiguration Config { get; private set; } = null!; - public XivCommonBase Common { get; private set; } = null!; - public PluginUi Ui { get; private set; } = null!; - public Commands Commands { get; private set; } = null!; - private ContextMenu ContextMenu { get; set; } = null!; - public MlFilterStatus MlStatus { get; set; } = MlFilterStatus.Uninitialised; - public MlFilter? MlFilter { get; set; } + [PluginService] + internal DalamudPluginInterface Interface { get; init; } = null!; + + [PluginService] + private ClientState ClientState { get; init; } = null!; + + [PluginService] + internal ChatGui ChatGui { get; init; } = null!; + + [PluginService] + internal PartyFinderGui PartyFinderGui { get; init; } = null!; + + [PluginService] + internal DataManager DataManager { get; init; } = null!; + + [PluginService] + internal CommandManager CommandManager { get; init; } = null!; + + [PluginService] + internal ToastGui ToastGui { get; init; } = null!; + + internal PluginConfiguration Config { get; } + internal XivCommonBase Common { get; } + internal PluginUi Ui { get; } + private Commands Commands { get; } + private ContextMenu ContextMenu { get; } + internal MlFilterStatus MlStatus { get; set; } = MlFilterStatus.Uninitialised; + internal MlFilter? MlFilter { get; set; } private readonly List _messageHistory = new(); - public IEnumerable MessageHistory => this._messageHistory; + internal IEnumerable MessageHistory => this._messageHistory; private readonly List _partyFinderHistory = new(); - public IEnumerable PartyFinderHistory => this._partyFinderHistory; + internal IEnumerable PartyFinderHistory => this._partyFinderHistory; // ReSharper disable once MemberCanBePrivate.Global // ReSharper disable once AutoPropertyCanBeMadeGetOnly.Local public string AssemblyLocation { get; private set; } = Assembly.GetExecutingAssembly().Location; - public void Initialize(DalamudPluginInterface pluginInterface) { + public Plugin() { string path = Environment.GetEnvironmentVariable("PATH")!; string newPath = Path.GetDirectoryName(this.AssemblyLocation)!; Environment.SetEnvironmentVariable("PATH", $"{path};{newPath}"); - this.Interface = pluginInterface; - this.Config = this.Interface.GetPluginConfig() as PluginConfiguration ?? new PluginConfiguration(); this.Config.Initialise(this.Interface); this.ConfigureLanguage(); - this.Interface.OnLanguageChanged += this.OnLanguageUpdate; + this.Interface.LanguageChanged += this.OnLanguageUpdate; - this.Common = new XivCommonBase(this.Interface, Hooks.PartyFinder | Hooks.ContextMenu); + this.Common = new XivCommonBase(Hooks.PartyFinder | Hooks.ContextMenu); this.Ui = new PluginUi(this); this.Commands = new Commands(this); @@ -63,7 +90,7 @@ namespace NoSoliciting { // pre-compute the max ilvl to prevent stutter try { - FilterUtil.MaxItemLevelAttainable(this.Interface.Data); + FilterUtil.MaxItemLevelAttainable(this.DataManager); } catch (Exception ex) { PluginLog.LogError(ex, "Exception while computing max item level"); } @@ -81,7 +108,7 @@ namespace NoSoliciting { this.Commands.Dispose(); this.Ui.Dispose(); this.Common.Dispose(); - this.Interface.OnLanguageChanged -= this.OnLanguageUpdate; + this.Interface.LanguageChanged -= this.OnLanguageUpdate; } this._disposedValue = true; @@ -93,17 +120,19 @@ namespace NoSoliciting { internal void ConfigureLanguage(string? langCode = null) { if (this.Config.FollowGameLanguage) { - langCode = this.Interface.ClientState.ClientLanguage switch { + langCode = this.ClientState.ClientLanguage switch { ClientLanguage.Japanese => "ja", ClientLanguage.English => "en", ClientLanguage.German => "de", ClientLanguage.French => "fr", - _ => throw new ArgumentOutOfRangeException(), + _ => throw new ArgumentOutOfRangeException(nameof(this.ClientState.ClientLanguage), "Unknown ClientLanguage"), }; } langCode ??= this.Interface.UiLanguage; - Resources.Language.Culture = new CultureInfo(langCode ?? "en"); + // I don't fucking trust this. Not since last time. + // ReSharper disable once ConstantNullCoalescingCondition + Language.Culture = new CultureInfo(langCode ?? "en"); } internal void InitialiseMachineLearning(bool showWindow) { diff --git a/NoSoliciting/PluginConfiguration.cs b/NoSoliciting/PluginConfiguration.cs index 27a75e5..ac08a1b 100644 --- a/NoSoliciting/PluginConfiguration.cs +++ b/NoSoliciting/PluginConfiguration.cs @@ -109,7 +109,7 @@ namespace NoSoliciting { } internal bool MlEnabledOn(MessageCategory category, ChatType chatType) { - HashSet filtered; + HashSet? filtered; if (this.AdvancedMode) { if (!this.MlFilters.TryGetValue(category, out filtered)) { diff --git a/NoSoliciting/Resources/Language.Designer.cs b/NoSoliciting/Resources/Language.Designer.cs index 831fd21..7eb6caa 100755 --- a/NoSoliciting/Resources/Language.Designer.cs +++ b/NoSoliciting/Resources/Language.Designer.cs @@ -169,7 +169,7 @@ namespace NoSoliciting.Resources { } ///

- /// Looks up a localized string similar to Messages that don't full into other categories and are not for content (Party Finder). + /// Looks up a localized string similar to Messages that don't fall into other categories and are not for content (Party Finder). /// internal static string FluffDescription { get { diff --git a/NoSoliciting/Resources/Language.resx b/NoSoliciting/Resources/Language.resx index ff76b63..29c4057 100755 --- a/NoSoliciting/Resources/Language.resx +++ b/NoSoliciting/Resources/Language.resx @@ -280,6 +280,6 @@ Fluff - Messages that don't full into other categories and are not for content (Party Finder) + Messages that don't fall into other categories and are not for content (Party Finder) diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8a7a79c105cb63a855f15d26f80265bfcd7c61bf GIT binary patch literal 12174 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⪙LLep<(rF|*kC7KRZ~yu!TP4`iGbaBYsx-2$>c{u$M6=Fv>#|tQ1!!k|eiE)pR2Arj?9tsHS^L(lTVa1{Y80^`Rssn!4l-7jsf9w=(e>Fc-W_(dmCDBy z#=q5J7@Kl#-Wfh=z$(AFxK7HrE!q_S7|@U@;q<2Ti=?7Bnp=#(mTQuLacwF5m2qmO z_z{7%vEocI#?^As_6}M!_t03T?ZDxI*lc_y^)%SYl3kwpxFhL(1qrz2X=OL^g6CgV zj+9S)Ni;ffCij9TCR&e0JRtPc^N3`=0%4DjJ=0aj@>W_PfZ8tWL=9b()a0cmUJ;)c zzPJ|RdQKeb4y^8NXf%Jv-Tw<&n>pRZk5E41Y8x!^GFPCgQE@iyOhh z$qg)If#6@78#t2U9PU@1U3C4%eNGJeEpjBEuO+h zm7=k@I1$`Xl5hnudW~ZcPfJ8q28irQ zk5qNpAMq9sRmars)kuUs-9NqFmw^`;x&eIrA1y^^z$Gf`<%svp7$tk^4k`@;?_42O#ak%Lp?WL>o7U(A{W$Cx(9f`K?rHl;iGzou#Q&FE%nxAZfTJDjv)|3_dhc#VYwT!?&>ELTCR4t6u^6 zI|y{%X1Lh&u?=~7t|QYdsI;zU_hmhetUTeH`>T{&A8sc5Ex(~bL2*_{7cKOf*O4H^ zv>_{XA2Au~t#Wie{I$zIrn0=FaznVW+|&R9@zr_HDyQ+0pQXJK$`PN5W??dm0~z?V z(Vgqmm9wsL${0jaGims;6!b5G>w~+%m8s&=r`j*JNeQX(;*ujZItIZAKGDDYM#yhT z5;kP=y8^|_j-%@_!#Us(H|M1s+Edc(Id=M<2h6KB_xn=3#pLJQ6M4Rqd-Z4&N=%tE zTATOvIo5PZQPIk+rKm3dk40yapHuEjJ#`qi-~}V(+t6e2Al^+%GWEh|eRx#q_NQ#- z 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 Cq#jQI literal 0 HcmV?d00001 diff --git a/icon.svg b/icon.svg new file mode 100755 index 0000000..b4eaf56 --- /dev/null +++ b/icon.svg @@ -0,0 +1,83 @@ + + + + + + + + + NoSol + +