81 lines
2.0 KiB
Java
81 lines
2.0 KiB
Java
package me.savvy.rixa.utils;
|
|
|
|
import lombok.Getter;
|
|
import net.dv8tion.jda.core.EmbedBuilder;
|
|
import net.dv8tion.jda.core.entities.*;
|
|
|
|
import java.awt.*;
|
|
|
|
/**
|
|
* Created by Timber on 5/23/2017.
|
|
*/
|
|
public class MessageBuilder {
|
|
|
|
private Message message;
|
|
|
|
@Getter
|
|
private EmbedBuilder builder;
|
|
public MessageBuilder(String description) {
|
|
this.builder = new EmbedBuilder().setDescription(description);
|
|
}
|
|
|
|
public MessageBuilder setTitle(String title, String url) {
|
|
builder.setTitle(title, url);
|
|
return this;
|
|
}
|
|
|
|
public MessageBuilder setTitle(String title) {
|
|
builder.setTitle(title);
|
|
return this;
|
|
}
|
|
|
|
public MessageBuilder setColor(Color color) {
|
|
builder.setColor(color);
|
|
return this;
|
|
}
|
|
|
|
public MessageBuilder addField(String name, String value, boolean inLine) {
|
|
builder.addField(name, value, inLine);
|
|
return this;
|
|
}
|
|
|
|
public MessageBuilder addThumbnail(String url) {
|
|
builder.setThumbnail(url);
|
|
return this;
|
|
}
|
|
|
|
public void queue(TextChannel channel) {
|
|
channel.sendMessage(builder.build()).queue();
|
|
}
|
|
|
|
public void complete(TextChannel channel) {
|
|
channel.sendMessage(builder.build()).complete();
|
|
}
|
|
|
|
public void send(User member) {
|
|
member.openPrivateChannel().complete().sendMessage(builder.build()).queue();
|
|
}
|
|
|
|
public MessageBuilder sendUser(User member) {
|
|
this.message = member.openPrivateChannel().complete().sendMessage(builder.build()).complete();
|
|
return this;
|
|
}
|
|
|
|
public MessageBuilder addReaction(String reaction) {
|
|
if(message == null) {
|
|
throw new NullPointerException("Message must not be null!");
|
|
}
|
|
message.addReaction(reaction).complete();
|
|
return this;
|
|
}
|
|
|
|
public MessageEmbed build() {
|
|
return builder.build();
|
|
}
|
|
|
|
public MessageBuilder footer(String s, String iconURL) {
|
|
builder.setFooter(s, iconURL);
|
|
return this;
|
|
}
|
|
}
|