Advertisement
Dori_mon

Untitled

Jul 6th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.51 KB | None | 0 0
  1. @Override
  2. public boolean onCommand(String label, String[] args, MessageChannel channel, User author, Message message) {
  3.    
  4.     new Thread() {
  5.         @SuppressWarnings("static-access")
  6.         @Override
  7.         public void run() {
  8.             MessageHistory history = channel.getHistory();
  9.             while (history.retrievePast(100).complete().size() != 0);
  10.             history.retrievePast(100).complete();
  11.             List<Message> messages = history.getRetrievedHistory();
  12.             String fileName = channel.getName() + "-" + channel.getId() + ".txt";
  13.            
  14.             File file = new File("logs", fileName);
  15.             file.getParentFile().mkdirs();
  16.             if (!file.exists())
  17.                 try {
  18.                     file.createNewFile();
  19.                 } catch (IOException e) {
  20.                     e.printStackTrace();
  21.                 }
  22.            
  23.             BufferedWriter writer = null;
  24.             try {
  25.                 writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true), Charset.forName("UTF-8")));
  26.                 writer.write("");
  27.             } catch (IOException e1) {
  28.                 e1.printStackTrace();
  29.             }
  30.             for (int i = messages.size() - 1; i >= 0; i--) {
  31.                 Message msg = messages.get(i);
  32.                 OffsetDateTime time = msg.getCreationTime();
  33.                 try {
  34.                     String line = "[" + time.format(DateTimeFormatter.ofPattern("MM/dd/YYYY - hh:mma")) + "] " + msg.getAuthor().getName() + "#" + msg.getAuthor().getDiscriminator() + ": " + msg.getContentRaw();
  35.                     writer.append(line);
  36.                     writer.newLine();
  37.                 } catch (IOException e) {
  38.                     e.printStackTrace();
  39.                 }
  40.             }
  41.             try {
  42.                 writer.close();
  43.             } catch (IOException e) {
  44.                 e.printStackTrace();
  45.             }
  46.         }
  47.     }.start();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement