Vaerys_Dawn

SendImageFromURL

Mar 12th, 2017
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.33 KB | None | 0 0
  1.     public static RequestBuffer.RequestFuture<Boolean> sendFile(String message, String imageURL, IChannel channel) {
  2.         return RequestBuffer.request(() -> {
  3.             String messageID = "";
  4.             try {
  5.                 messageID = sendMessage("`Loading...`", channel).get();
  6.                 final HttpURLConnection connection = (HttpURLConnection) new URL(imageURL).openConnection();
  7.                 connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) " + "AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31");
  8.                 InputStream stream = connection.getInputStream();
  9.                 String[] urlSplit = imageURL.split(Pattern.quote("."));
  10.                 String suffix = "." + urlSplit[urlSplit.length - 1];
  11.                 if (!isImageLink(suffix)) {
  12.                     sendMessage(message + " " + imageURL, channel);
  13.                     deleteMessage(Globals.getClient().getMessageByID(messageID));
  14.                     return true;
  15.                 }
  16.                 if (StringUtils.containsOnly(message, "\n") || (message == null) || message.equals("")) {
  17.                     if (imageURL != null) {
  18.                         channel.sendFile("", stream, suffix);
  19.                     } else {
  20.                         logger.debug("Error sending File to channel with id: " + channel.getID() + " on guild with id: " + channel.getGuild().getID() +
  21.                                 ".\n" + Constants.PREFIX_EDT_LOGGER_INDENT + "Reason: No file to send");
  22.                         return true;
  23.                     }
  24.                 } else {
  25.                     if (imageURL != null) {
  26.                         channel.sendFile(removeMentions(message), true, stream, suffix);
  27.                     } else {
  28.                         sendMessage(message, channel);
  29.                         return true;
  30.                     }
  31.                 }
  32.                 Globals.getClient().getMessageByID(messageID).delete();
  33.             } catch (DiscordException e) {
  34.                 if (e.getMessage().contains("CloudFlare")) {
  35.                     sendFile(message, imageURL, channel);
  36.                     deleteMessage(Globals.getClient().getMessageByID(messageID));
  37.                 } else {
  38.                     e.printStackTrace();
  39.                     return true;
  40.                 }
  41.             } catch (MalformedURLException e) {
  42.                 sendMessage(message + " " + imageURL, channel);
  43.                 deleteMessage(Globals.getClient().getMessageByID(messageID));
  44.             } catch (FileNotFoundException e) {
  45.                 Utility.sendMessage("> Image Not Found : " + imageURL, channel);
  46.                 deleteMessage(Globals.getClient().getMessageByID(messageID));
  47.             } catch (IOException e) {
  48.                 e.printStackTrace();
  49.             } catch (MissingPermissionsException e) {
  50.                 sendMessage(message + " <" + imageURL + ">", channel);
  51.                 deleteMessage(Globals.getClient().getMessageByID(messageID));
  52.                 logger.debug("Error sending File to channel with id: " + channel.getID() + " on guild with id: " + channel.getGuild().getID() +
  53.                         ".\n" + Constants.PREFIX_EDT_LOGGER_INDENT + "Reason: Missing permissions.");
  54.                 return true;
  55.             }
  56.             return false;
  57.         });
  58.     }
Advertisement
Add Comment
Please, Sign In to add comment