Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static RequestBuffer.RequestFuture<IMessage> sendMessage(String message, IChannel channel) {
- return RequestBuffer.request(() -> {
- //message and channel checking
- if (!Globals.client.isReady()) return null;
- if (message == null || message.isEmpty()) return null;
- if (message.length() > 2000) {
- StringHandler error = new StringHandler("> Could not send message, Too large. ")
- .append("Please contact my developer by sending me a **Direct Message** with the **Command Name** that caused this message.");
- sendMessage(error.toString(), channel);
- sendError("Could not send message, Too Large.", message, channel);
- return null;
- }
- if (channel == null) return null;
- if (StringUtils.containsOnly(message, "\n")) return null;
- if (StringUtils.isBlank(message)) return null;
- try {
- return channel.sendMessage(message);
- } catch (RateLimitException e) {
- throw e;
- } catch (MissingPermissionsException e) {
- missingPermissions(message, channel);
- return null;
- } catch (DiscordException e) {
- String stackContents = Arrays.toString(Arrays.stream(e.getStackTrace()).map(StackTraceElement::toString).toArray());
- if (stackContents.contains("sx.blah.discord.handle.impl.obj.PrivateChannel.sendMessage(PrivateChannel.java") &&
- e.getMessage().contains("Message was unable to be sent")) {
- sendError("Message was unable to be sent, User Dms might be off.", message, channel);
- } else {
- throw e;
- }
- return null;
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement