internal override void Init(CommandGroupBuilder cgb) { cgb.CreateCommand(Module.Prefix + "chnlfilterinv") .Alias(Module.Prefix + "cfi") .Description("Aktiviert, oder deaktiviert automatische Löschung von Einladungen in diesem Channel." + "Falls kein Channel gewählt, derzeitige Channel. Benutze ALL um alle derzeitig existierenden Channel zu wählen." + $" | `{Prefix}cfi enable #general-chat`") .Parameter("bool") .Parameter("channel", ParameterType.Optional) .Do(async e => { try { var state = PermissionHelper.ValidateBool(e.GetArg("bool")); var chanStr = e.GetArg("channel"); if (chanStr?.ToLowerInvariant().Trim() != "all") { var chan = string.IsNullOrWhiteSpace(chanStr) ? e.Channel : PermissionHelper.ValidateChannel(e.Server, chanStr); await PermissionsHandler.SetChannelFilterInvitesPermission(chan, state).ConfigureAwait(false); await e.Channel.SendMessage($"Invite Filter wurde **{(state ? "aktiviert" : "deaktiviert")}** für Channel **{chan.Name}**.") .ConfigureAwait(false); return; } //all channels foreach (var curChannel in e.Server.TextChannels) { await PermissionsHandler.SetChannelFilterInvitesPermission(curChannel, state).ConfigureAwait(false); } await e.Channel.SendMessage($"Invite Filter wurde **{(state ? "aktiviert" : "deaktiviert")}** für **ALL** Channel.") .ConfigureAwait(false); } catch (Exception ex) { await e.Channel.SendMessage($"💢 Fehler: {ex.Message}").ConfigureAwait(false); } }); cgb.CreateCommand(Module.Prefix + "srvrfilterinv") .Alias(Module.Prefix + "sfi") .Description($"Aktiviert, oder deaktiviert automatische Löschung von Einladungenauf diesem Server. | `{Prefix}sfi disable`") .Parameter("bool") .Do(async e => { try { var state = PermissionHelper.ValidateBool(e.GetArg("bool")); await PermissionsHandler.SetServerFilterInvitesPermission(e.Server, state).ConfigureAwait(false); await e.Channel.SendMessage($"Invite Filter wurde **{(state ? "aktiviert" : "deaktiviert")}** für diesen Server.") .ConfigureAwait(false); } catch (Exception ex) { await e.Channel.SendMessage($"💢 Fehler: {ex.Message}").ConfigureAwait(false); } }); }
internal override void Init(CommandGroupBuilder cgb) { cgb.CreateCommand(Module.Prefix + "cfi") .Alias(Module.Prefix + "channelfilterinvites") .Description("Enables or disables automatic deleting of invites on the channel." + "If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once." + "\n**Usage**: ;cfi enable #general-chat") .Parameter("bool") .Parameter("channel", ParameterType.Optional) .Do(async e => { try { var state = PermissionHelper.ValidateBool(e.GetArg("bool")); var chanStr = e.GetArg("channel"); if (chanStr?.ToLowerInvariant().Trim() != "all") { var chan = string.IsNullOrWhiteSpace(chanStr) ? e.Channel : PermissionHelper.ValidateChannel(e.Server, chanStr); PermissionsHandler.SetChannelFilterInvitesPermission(chan, state); await e.Channel.SendMessage($"Invite Filter has been **{(state ? "enabled" : "disabled")}** for **{chan.Name}** channel."); return; } //all channels foreach (var curChannel in e.Server.TextChannels) { PermissionsHandler.SetChannelFilterInvitesPermission(curChannel, state); } await e.Channel.SendMessage($"Invite Filter has been **{(state ? "enabled" : "disabled")}** for **ALL** channels."); } catch (Exception ex) { await e.Channel.SendMessage($"💢 Error: {ex.Message}"); } }); cgb.CreateCommand(Module.Prefix + "sfi") .Alias(Module.Prefix + "serverfilterinvites") .Description("Enables or disables automatic deleting of invites on the server.\n**Usage**: ;sfi disable") .Parameter("bool") .Do(async e => { try { var state = PermissionHelper.ValidateBool(e.GetArg("bool")); PermissionsHandler.SetServerFilterInvitesPermission(e.Server, state); await e.Channel.SendMessage($"Invite Filter has been **{(state ? "enabled" : "disabled")}** for this server."); } catch (Exception ex) { await e.Channel.SendMessage($"💢 Error: {ex.Message}"); } }); }