/** * Handle incoming data. * * @param StreamConsumer consumer The consumer object. * @param Interaction interaction The interaction data. * @throws EInvalidData */ public void onInteraction(StreamConsumer c, Interaction i) { try { try { _fw.append(i.getStringVal("interaction.id")); } catch (EInvalidData e) { // Ignored } _fw.append(",\""); try { _fw.append(i.getStringVal("interaction.created_at").replace("\"", "\\\"")); } catch (EInvalidData e) { // Ignored } _fw.append("\",\""); try { _fw.append(i.getStringVal("interaction.author.username").replace("\"", "\\\"")); } catch (EInvalidData e) { // Ignored } _fw.append("\",\""); try { _fw.append(i.getStringVal("interaction.content").replace("\"", "\\\"").replace('\n', ' ')); } catch (EInvalidData e) { // Ignored } _fw.append("\"\n"); _fw.flush(); _counter += 1; if (_counter % 1000 == 0) { System.err.print("\r" + String.valueOf(_counter++)); } } catch (IOException e) { System.err.println("ERR: Failed to write interaction to the CSV file: " + e.getMessage()); } }