public override Task BeforeExecutionAsync(CommandContext context) { var guild = context.GetGuild(); var config = this._settings.GetVoiceSettings(guild.Id, context.User.Id); if (config == null) { config = new UserVoiceSettings() { UserId = context.User.Id, GuildId = guild.Id, IsActive = false, }; this._settings.SetVoiceSettings(config); } return(Task.CompletedTask); }
public async Task AddVoxNotification( CommandContext context, [Description("The status you have to be at to be notified. Values: Online, Idle, Busy, DoNotDisturb, Offline")] string status = "Idle" ) { if (!Enum.TryParse(status, true, out UserStatus statusEnum)) { statusEnum = UserStatus.Idle; } ; var guild = context.GetGuild(); var config = _settings.GetVoiceSettings(guild.Id, context.User.Id); if (config == null) { config = new UserVoiceSettings() { UserId = context.User.Id, GuildId = guild.Id, TargetStatus = statusEnum, IsActive = true, }; } else { config.TargetStatus = statusEnum; config.IsActive = true; } this._settings.SetVoiceSettings(config); await context.RespondAsync( $"Notifications {(config.IsActive ? "active" : "inactive")}. " + $"Minimum discord status: {config.TargetStatus}. " + $"Filter: {config.FilterMode}." ); return; }