public static void main(String[] args) throws Exception { // Get username and password Scanner scanner = new Scanner(System.in); System.out.println("Snapchat username: "******"Snapchat password: "******"Logging in..."); snapchat = Snapchat.login(username, password); if (snapchat != null) { System.out.println("Logged in."); } else { System.out.println("Failed to log in."); return; } // Ask the user what they want to do System.out.println(); System.out.println("Choose an option:"); System.out.println("\t1) Download un-viewed snaps"); System.out.println("\t2) Send a snap"); System.out.println("\t3) Set a Story"); System.out.println("\t4) Download Stories"); System.out.println(); int option = scanner.nextInt(); scanner.nextLine(); switch (option) { case 1: fetchSnaps(); break; case 2: System.out.println("Enter path to image file:"); String snapFileName = scanner.nextLine(); System.out.println("Enter recipient Snapchat username:"******"Enter path to image file:"); String storyFileName = scanner.nextLine(); setStory(username, storyFileName); break; case 4: Story[] storyObjs = snapchat.getStories(); Story[] downloadable = Story.filterDownloadable(storyObjs); for (Story s : downloadable) { String extension = ".jpg"; if (!s.isImage()) { extension = ".mp4"; } System.out.println("Downloading story from " + s.getSender()); byte[] storyBytes = Snapchat.getStory(s); File storyFile = new File(s.getSender() + "-" + s.getId() + extension); FileOutputStream storyOs = new FileOutputStream(storyFile); storyOs.write(storyBytes); storyOs.close(); } System.out.println("Done."); break; default: System.out.println("Invalid option."); break; } }