public async Task ProfanityFilter([Summary("On to allow, censor to censor, delete to delete")] string enabled = null) { await Context.Channel.TriggerTypingAsync(); var server = await _servers.GetServer(Context.Guild); if (enabled == null) { var message = "off"; if (server.ProfanityFilterMode == ProfanityFilterMode.FilterCensor) { message = "set to censor"; } else if (server.ProfanityFilterMode == ProfanityFilterMode.FilterDelete) { message = "set to delete"; } await ReplyAsync($"Profanity Filter is `{message}`."); return; } if (enabled.ToLowerInvariant() == "censor") { server.ProfanityFilterMode = ProfanityFilterMode.FilterCensor; } else if (enabled.ToLowerInvariant() == "delete") { server.ProfanityFilterMode = ProfanityFilterMode.FilterDelete; } else if (enabled.ToLowerInvariant() == "off") { server.ProfanityFilterMode = ProfanityFilterMode.FilterOff; } else { await ReplyAsync("Would you like to set the profanity filter to `censor`, `delete` or `off`?"); return; } await _serverRepository.EditAsync(server); await Context.Channel.SendEmbedAsync("Profanity Filter", $"Profanity Filter has been set to `{enabled}`", ColorHelper.GetColor(server)); await _servers.SendLogsAsync(Context.Guild, "Profanity Filter", $"Profanity Filter has been set to `{enabled}` by {Context.User.Mention}"); _logger.LogInformation("{user}#{discriminator} set profanityfilter to {enabled} in {channel} on {server}", Context.User.Username, Context.User.Discriminator, enabled, Context.Channel.Name, Context.Guild.Name); }
public async Task Welcoming(string option = null) { await Context.Channel.TriggerTypingAsync(); _logger.LogInformation("{user}#{discriminator} invoked welcome setting ({option}) in {channel} on {server}", Context.User.Username, Context.User.Discriminator, option, Context.Channel.Name, Context.Guild.Name); var server = await ServerHelper.GetOrAddServer(Context.Guild.Id, _serverRepository); if (option.ToLowerInvariant() == "enable") { server.WelcomeUsers = true; await _serverRepository.EditAsync(server); await _servers.SendLogsAsync(Context.Guild, "Welcome Users", $"{Context.User.Mention} set User Welcoming `enable`"); _logger.LogInformation("User Welcoming enabled by {user} in server {server}", Context.User.Username, Context.Guild.Name); await ReplyAsync("User welcoming has been enabled!"); return; } else if (option.ToLowerInvariant() == "disable") { server.WelcomeUsers = false; await _serverRepository.EditAsync(server); await _servers.SendLogsAsync(Context.Guild, "Welcome Users", $"{Context.User.Mention} set User Welcoming `disable`"); _logger.LogInformation("User Welcoming disabled by {user} in server {server}", Context.User.Username, Context.Guild.Name); await ReplyAsync("User welcoming has been disabled!"); return; } await ReplyAsync("Would you to `enable` or `disable` user welcoming?"); return; }
public async Task Enable() { await Context.Channel.TriggerTypingAsync(); if (await ServerHelper.CheckIfContextIsDM(Context)) { return; } _logger.LogInformation("{user}#{discriminator} invoked invite enable in {channel} on {server}", Context.User.Username, Context.User.Discriminator, Context.Channel.Name, Context.Guild?.Name ?? "DM"); var server = await ServerHelper.GetOrAddServer(Context.Guild.Id, _serverRepository); server.TrackInvites = true; await _serverRepository.EditAsync(server); await _commandHandler.RequestInviteUpdate(); await ReplyAsync("This feature is experamental and may have issues.\nInvite tracking enabled"); await _serverService.SendLogsAsync(Context.Guild, "Invite Tracking Enabled", $"{Context.User.Mention} Enabled invite tracking!"); }