public async Task LevelUp(string option = null, string value = null) { if (option == null && value == null) { var fetchedChannelId = await _servers.GetLevelUpChannelAsync(Context.Guild.Id); if (fetchedChannelId == 0) { await Context.Channel.SendErrorAsync("Error!", "There has not been set a level up channel yet!"); return; } var fetchedChannel = Context.Guild.GetTextChannel(fetchedChannelId); if (fetchedChannel == null) { await Context.Channel.SendErrorAsync("Error!", "There has not been set a level up channel yet!"); await _servers.ClearLevelUpChannelAsync(Context.Guild.Id); return; } var fetchedLevelUp = await _servers.GetLevelUpAsync(Context.Guild.Id); if (fetchedLevelUp != null) { await Context.Channel.SendSuccessAsync("Success!", $"The channel used for the level up message is {fetchedChannel.Mention}.\nThe background is set to {fetchedLevelUp}."); } else { await Context.Channel.SendSuccessAsync("Success!", $"The channel used for the level up message is {fetchedChannel.Mention}."); } return; } if (option == "channel" && value != null) { if (!MentionUtils.TryParseChannel(value, out ulong parsedId)) { await Context.Channel.SendErrorAsync("Error!", "Please pass in a valid channel!"); return; } var parsedChannel = Context.Guild.GetTextChannel(parsedId); if (parsedChannel == null) { await Context.Channel.SendErrorAsync("Error!", "Please pass in a valid channel!"); return; } await _servers.ModifyLevelUpChannelAsync(Context.Guild.Id, parsedId); await Context.Channel.SendSuccessAsync("Success!", $"Successfully modified the level up channel to {parsedChannel.Mention}."); return; } if (option == "background" && value != null) { if (value == "clear") { await _servers.ClearLevelUpAsync(Context.Guild.Id); await Context.Channel.SendSuccessAsync("Success!", "Successfully cleared the level up background for this server."); } await _servers.ModifyLevelUpAsync(Context.Guild.Id, value); await Context.Channel.SendSuccessAsync("Success!", $"Successfully modified the level up background to {value}."); return; } if (option == "clear" && value == null) { await _servers.ClearLevelUpChannelAsync(Context.Guild.Id); await Context.Channel.SendSuccessAsync("Success!", "Successfully cleared the level up channel."); return; } await Context.Channel.SendErrorAsync("Error!", "You did not use this command properly."); }