Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static void sendError(String prefix, String message, IChannel channel) {
- if (channel.isPrivate()) {
- logger.debug(prefix + " {\"MESSAGE\": \"" + message + "\", \"GUILD\": " + -1 + ", \"CHANNEL\": " + channel.getLongID() + "}");
- }
- logger.debug(prefix + " {\"MESSAGE\": \"" + message + "\", \"GUILD\": " + channel.getGuild().getLongID() + ", \"CHANNEL\": " + channel.getLongID() + "}");
- }
- private static void missingPermissions(String message, IChannel channel) {
- sendError("Could not send message, Missing Permissions.", message, channel);
- }
- 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) {
- sendMessage("> Could not send message, Too large. " +
- "Please contact my developer by sending me a **Direct Message** with the **Command Name** that caused this message.", channel);
- sendError("Could not send message, Too Large.", message, channel);
- return null;
- }
- if (channel == null) return null;
- if (StringUtils.containsOnly("\n", message)) return null;
- if (StringUtils.isBlank(message)) return null;
- try {
- return channel.sendMessage(message);
- } catch (MissingPermissionsException e) {
- missingPermissions(message, channel);
- return null;
- }
- });
- }
- public static RequestBuffer.RequestFuture<IMessage> sendMessage(String message, ChannelObject channel) {
- return sendMessage(message, channel.get());
- }
- public static RequestBuffer.RequestFuture<IMessage> sendMessage(String message, CommandObject command) {
- return sendMessage(message, command.channel.get());
- }
- public static RequestBuffer.RequestFuture<IMessage> sendEmbedMessage(String message, XEmbedBuilder builder, IChannel channel) {
- return RequestBuffer.request(() -> {
- String checkedMessage = message;
- if (builder == null) throw new IllegalArgumentException("Embed builder must never be null.");
- if (checkedMessage == null) checkedMessage = "";
- EmbedObject embed = builder.build();
- try {
- return channel.sendMessage(checkedMessage, embed);
- } catch (MissingPermissionsException e) {
- String debugMessage;
- if (checkedMessage.isEmpty()) debugMessage = Utility.embedToString(embed);
- else debugMessage = checkedMessage + "\n" + Utility.embedToString(embed);
- missingPermissions(debugMessage, channel);
- return sendMessage(debugMessage, channel).get();
- }
- });
- }
- public static RequestBuffer.RequestFuture<IMessage> sendEmbedMessage(String message, XEmbedBuilder builder, ChannelObject channel) {
- return sendEmbedMessage(message, builder, channel.get());
- }
- public static RequestBuffer.RequestFuture<IMessage> sendEmbedMessage(String message, XEmbedBuilder builder, CommandObject command) {
- return sendEmbedMessage(message, builder, command.channel.get());
- }
- public static RequestBuffer.RequestFuture<IMessage> sendFile(String message, File file, IChannel channel) {
- return RequestBuffer.request(() -> {
- String checkedMessage = message;
- if (file == null) throw new IllegalArgumentException("File must never be null.");
- if (checkedMessage == null) checkedMessage = "";
- try {
- return channel.sendFile(checkedMessage, file);
- } catch (MissingPermissionsException e) {
- String debugMessage;
- if (checkedMessage.isEmpty()) debugMessage = "FILE";
- else debugMessage = checkedMessage + "\nFILE";
- sendMessage("> Could not send File, missing permissions.", channel);
- missingPermissions(debugMessage, channel);
- return null;
- } catch (FileNotFoundException e) {
- Utility.sendStack(e);
- return null;
- }
- });
- }
- public static RequestBuffer.RequestFuture<IMessage> sendFile(String message, File file, ChannelObject channel) {
- return sendFile(message, file, channel.get());
- }
- public static RequestBuffer.RequestFuture<IMessage> sendFile(String message, File file, CommandObject command) {
- return sendFile(message, file, command.channel.get());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement