Advertisement
Vaerys_Dawn

SendMessage

Apr 3rd, 2018
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.85 KB | None | 0 0
  1. public static RequestBuffer.RequestFuture<IMessage> sendMessage(String message, IChannel channel) {
  2.         return RequestBuffer.request(() -> {
  3.             //message and channel checking
  4.             if (!Globals.client.isReady()) return null;
  5.             if (message == null || message.isEmpty()) return null;
  6.             if (message.length() > 2000) {
  7.                 StringHandler error = new StringHandler("> Could not send message, Too large. ")
  8.                         .append("Please contact my developer by sending me a **Direct Message** with the **Command Name** that caused this message.");
  9.                 sendMessage(error.toString(), channel);
  10.                 sendError("Could not send message, Too Large.", message, channel);
  11.                 return null;
  12.             }
  13.             if (channel == null) return null;
  14.             if (StringUtils.containsOnly(message, "\n")) return null;
  15.             if (StringUtils.isBlank(message)) return null;
  16.             try {
  17.                 return channel.sendMessage(message);
  18.             } catch (RateLimitException e) {
  19.                 throw e;
  20.             } catch (MissingPermissionsException e) {
  21.                 missingPermissions(message, channel);
  22.                 return null;
  23.             } catch (DiscordException e) {
  24.                 String stackContents = Arrays.toString(Arrays.stream(e.getStackTrace()).map(StackTraceElement::toString).toArray());
  25.                 if (stackContents.contains("sx.blah.discord.handle.impl.obj.PrivateChannel.sendMessage(PrivateChannel.java") &&
  26.                         e.getMessage().contains("Message was unable to be sent")) {
  27.                     sendError("Message was unable to be sent, User Dms might be off.", message, channel);
  28.                 } else {
  29.                     throw e;
  30.                 }
  31.                 return null;
  32.             }
  33.         });
  34.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement