private void SetEnabled(ulong?serverId, bool enabled) { AdminModuleServerSettings serverSettings = GetSettings((ulong)serverId); serverSettings.wordFilterActive = enabled; serverSettings.MarkDirty(); }
private bool RemoveWord(ulong?serverId, string word) { AdminModuleServerSettings serverSettings = GetSettings((ulong)serverId); List <string> bannedWordsList = new List <string>(serverSettings.bannedWords); if (!bannedWordsList.Remove(word.ToLower())) { return(false); } serverSettings.bannedWords = bannedWordsList.ToArray(); serverSettings.MarkDirty(); return(true); }
public async Task OnMessageReceived(MessageReceivedArgs args) { if (args.serverId != null) { AdminModuleServerSettings serverSettings = GetSettings((ulong)args.serverId); if (serverSettings.wordFilterActive) { if (serverSettings.bannedWords.Any(args.content.ToLower().Contains)) { MessageContext context = args.CreateMessageContext(); if (!context.authorPermissions.HasFlag(Permission.Admin) && !context.authorPermissions.HasFlag(Permission.ManageMessages)) { DeleteResponse deleteResponse = new DeleteResponse(context); await AdminModule.Instance.SendResponse(deleteResponse, context); } } } } }
private AdminModuleServerSettings GetSettings(ulong id) => AdminModuleServerSettings.LoadOrCreate <AdminModuleServerSettings>(id);