Jump to content
×
×
  • Create New...

Search the Community

Showing results for tags 'discord'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • PowBot
    • Announcements and Information
    • Client and Site Support
    • Scripts
    • Programming
    • Community Discussion

Product Groups

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Discord


About Me


Location


Interests


Occupation

Found 2 results

  1. Hi all, whether it's for the market, the banter, the development, come join us on discord: https://discord.gg/dte3eGaJgK Post your discord tags below to get your account verified and any applicable roles applied.
  2. import javax.net.ssl.HttpsURLConnection; import java.awt.*; import java.io.IOException; import java.io.OutputStream; import java.lang.reflect.Array; import java.net.URL; import java.util.List; import java.util.*; public class Webhook { /** * Class used to execute Discord Webhooks with low effort */ private static String url; private static String content; private static String username; private static String avatarUrl; private static List<EmbedObject> embeds = new ArrayList<>(); public static void setURL(final String webhook) { Webhook.url = webhook; } public static void setContent(String content) { Webhook.content = content; } public static void setUsername(String username) { Webhook.username = username; } public static void setAvatarUrl(String avatarUrl) { Webhook.avatarUrl = avatarUrl; } public static void addEmbed(EmbedObject embed) { Webhook.embeds.add(embed); } public static void execute() throws IOException { if (Webhook.content == null && Webhook.embeds.isEmpty()) { throw new IllegalArgumentException("Set content or add at least one EmbedObject"); } JSONObject json = new JSONObject(); json.put("content", Webhook.content); json.put("username", Webhook.username); json.put("avatar_url", Webhook.avatarUrl); if (!Webhook.embeds.isEmpty()) { List<JSONObject> embedObjects = new ArrayList<>(); for (EmbedObject embed : Webhook.embeds) { JSONObject jsonEmbed = new JSONObject(); jsonEmbed.put("title", embed.getTitle()); jsonEmbed.put("description", embed.getDescription()); jsonEmbed.put("url", embed.getUrl()); if (embed.getColor() != null) { Color color = embed.getColor(); int rgb = color.getRed(); rgb = (rgb << 8) + color.getGreen(); rgb = (rgb << 8) + color.getBlue(); jsonEmbed.put("color", rgb); } EmbedObject.Footer footer = embed.getFooter(); EmbedObject.Image image = embed.getImage(); EmbedObject.Thumbnail thumbnail = embed.getThumbnail(); EmbedObject.Author author = embed.getAuthor(); List<EmbedObject.Field> fields = embed.getFields(); if (footer != null) { JSONObject jsonFooter = new JSONObject(); jsonFooter.put("text", footer.getText()); jsonFooter.put("icon_url", footer.getIconUrl()); jsonEmbed.put("footer", jsonFooter); } if (image != null) { JSONObject jsonImage = new JSONObject(); jsonImage.put("url", image.getUrl()); jsonEmbed.put("image", jsonImage); } if (thumbnail != null) { JSONObject jsonThumbnail = new JSONObject(); jsonThumbnail.put("url", thumbnail.getUrl()); jsonEmbed.put("thumbnail", jsonThumbnail); } if (author != null) { JSONObject jsonAuthor = new JSONObject(); jsonAuthor.put("name", author.getName()); jsonAuthor.put("url", author.getUrl()); jsonAuthor.put("icon_url", author.getIconUrl()); jsonEmbed.put("author", jsonAuthor); } List<JSONObject> jsonFields = new ArrayList<>(); for (EmbedObject.Field field : fields) { JSONObject jsonField = new JSONObject(); jsonField.put("name", field.getName()); jsonField.put("value", field.getValue()); jsonField.put("inline", field.isInline()); jsonFields.add(jsonField); } jsonEmbed.put("fields", jsonFields.toArray()); embedObjects.add(jsonEmbed); } json.put("embeds", embedObjects.toArray()); } URL url = new URL(Webhook.url); HttpsURLConnection connection = (HttpsURLConnection) url.openConnection(); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("User-Agent", "Webhook-for-smile"); connection.setDoOutput(true); connection.setRequestMethod("POST"); OutputStream stream = connection.getOutputStream(); stream.write(json.toString().getBytes()); stream.flush(); stream.close(); connection.getInputStream().close(); //I'm not sure why but it doesn't work without getting the InputStream connection.disconnect(); } public static class EmbedObject { private String title; private String description; private String url; private Color color; private Footer footer; private Thumbnail thumbnail; private Image image; private Author author; private List<Field> fields = new ArrayList<>(); public String getTitle() { return title; } public String getDescription() { return description; } public String getUrl() { return url; } public Color getColor() { return color; } public Footer getFooter() { return footer; } public Thumbnail getThumbnail() { return thumbnail; } public Image getImage() { return image; } public Author getAuthor() { return author; } public List<Field> getFields() { return fields; } public EmbedObject setTitle(String title) { this.title = title; return this; } public EmbedObject setDescription(String description) { this.description = description; return this; } public EmbedObject setUrl(String url) { this.url = url; return this; } public EmbedObject setColor(Color color) { this.color = color; return this; } public EmbedObject setFooter(String text, String icon) { this.footer = new Footer(text, icon); return this; } public EmbedObject setThumbnail(String url) { this.thumbnail = new Thumbnail(url); return this; } public EmbedObject setImage(String url) { this.image = new Image(url); return this; } public EmbedObject setAuthor(String name, String url, String icon) { this.author = new Author(name, url, icon); return this; } public EmbedObject addField(String name, String value, boolean inline) { this.fields.add(new Field(name, value, inline)); return this; } private class Footer { private String text; private String iconUrl; private Footer(String text, String iconUrl) { this.text = text; this.iconUrl = iconUrl; } private String getText() { return text; } private String getIconUrl() { return iconUrl; } } private class Thumbnail { private String url; private Thumbnail(String url) { this.url = url; } private String getUrl() { return url; } } private class Image { private String url; private Image(String url) { this.url = url; } private String getUrl() { return url; } } private class Author { private String name; private String url; private String iconUrl; private Author(String name, String url, String iconUrl) { this.name = name; this.url = url; this.iconUrl = iconUrl; } private String getName() { return name; } private String getUrl() { return url; } private String getIconUrl() { return iconUrl; } } private class Field { private String name; private String value; private boolean inline; private Field(String name, String value, boolean inline) { this.name = name; this.value = value; this.inline = inline; } private String getName() { return name; } private String getValue() { return value; } private boolean isInline() { return inline; } } } private static class JSONObject { private final HashMap<String, Object> map = new HashMap<>(); void put(String key, Object value) { if (value != null) { map.put(key, value); } } @Override public String toString() { StringBuilder builder = new StringBuilder(); Set<Map.Entry<String, Object>> entrySet = map.entrySet(); builder.append("{"); int i = 0; for (Map.Entry<String, Object> entry : entrySet) { Object val = entry.getValue(); builder.append(quote(entry.getKey())).append(":"); if (val instanceof String) { builder.append(quote(String.valueOf(val))); } else if (val instanceof Integer) { builder.append(Integer.valueOf(String.valueOf(val))); } else if (val instanceof Boolean) { builder.append(val); } else if (val instanceof JSONObject) { builder.append(val.toString()); } else if (val.getClass().isArray()) { builder.append("["); int len = Array.getLength(val); for (int j = 0; j < len; j++) { builder.append(Array.get(val, j).toString()).append(j != len - 1 ? "," : ""); } builder.append("]"); } builder.append(++i == entrySet.size() ? "}" : ","); } return builder.toString(); } private String quote(String string) { return "\"" + string + "\""; } } } This is NOT my snippet, I yoinked this from a github here I just made all the methods static (they still work just as planned, just now more convenient for you guys) and removed TTS (Text to speech) functionality