Advertisement
Vaerys_Dawn

SendMessage Overhaul

Dec 26th, 2017
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.66 KB | None | 0 0
  1.     //Before
  2.     public static RequestBuffer.RequestFuture<IMessage> sendMessage(String message, IChannel channel) {
  3.         if (!Globals.client.isReady()) {
  4.             return null;
  5.         }
  6.         return RequestBuffer.request(() -> {
  7.             IMessage error = null;
  8.             if (message == null) {
  9.                 return error;
  10.             }
  11.             if (message.length() < 2000) {
  12.                 try {
  13.                     if (channel == null) {
  14.                         return error;
  15.                     }
  16.                     if (StringUtils.containsOnly(message, "\n")) {
  17.                         return error;
  18.                     }
  19.                     if (StringUtils.isBlank(message)) {
  20.                         return error;
  21.                     }
  22.                     if (message != null && !message.isEmpty()) {
  23.                         return channel.sendMessage(Utility.removeMentions(message));
  24.                     }
  25.                 } catch (MissingPermissionsException e) {
  26.                     String debug = "Error sending message to channel with id: " + channel.getLongID();
  27.                     if (channel.getGuild() != null) {
  28.                         debug += " on guild with id: " + channel.getGuild().getLongID() + ".";
  29.                     }
  30.                     debug += "\n" + Constants.PREFIX_EDT_LOGGER_INDENT + "Reason: Missing permissions.";
  31.                     logger.debug(debug);
  32.                     return error;
  33.                 } catch (DiscordException e) {
  34.                     if (e.getMessage().contains("CloudFlare")) {
  35.                         return sendMessage(message, channel).get();
  36.                     } else if (e.getMessage().contains("Message was unable to be sent (Discord didn't return a response).")) {
  37.                         logger.debug("Could not Send DM, Perhaps the user has Dms from server members turned off.\nMessage: " + message);
  38.                     } else {
  39.                         Utility.sendStack(e);
  40.                         logger.error(message);
  41.                         return error;
  42.                     }
  43.                 }
  44.             } else {
  45.                 logger.debug("Message to be sent to channel with id: " + channel.getLongID() + "on guild with id: " + channel.getGuild().getLongID() +
  46.                         ".\n" + Constants.PREFIX_EDT_LOGGER_INDENT + "Reason: Message to large.");
  47.                 return error;
  48.             }
  49.             return error;
  50.         });
  51.     }
  52.  
  53.     //After
  54.     public static RequestBuffer.RequestFuture<IMessage> sendMessage(String message, IChannel channel) {
  55.         return RequestBuffer.request(() -> {
  56.             //message and channel checking
  57.             if (!Globals.client.isReady()) return null;
  58.             if (message == null || message.isEmpty()) return null;
  59.             if (message.length() > 2000) {
  60.                 logger.debug("Message to be sent to channel with id: " + channel.getLongID() + "on guild with id: " + channel.getGuild().getLongID() +
  61.                         ".\n" + Constants.PREFIX_EDT_LOGGER_INDENT + "Reason: Message to large.");
  62.                 return null;
  63.             }
  64.             if (channel == null) return null;
  65.             if (StringUtils.containsOnly("\n", message)) return null;
  66.             if (StringUtils.isBlank(message)) return null;
  67.             try {
  68.                 return channel.sendMessage(message);
  69.             } catch (MissingPermissionsException e) {
  70.                 logger.debug("Could not send message, Missing Permissions. {\"MESSAGE\": \"" + message + "\", \"GUILD\": " + channel.getGuild().getLongID() + ", \"CHANNEL\": " + channel.getLongID() + "}");
  71.                 return null;
  72.             }
  73.         });
  74.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement