package io.mazenmc.skypebot.utils; import com.samczsun.skype4j.chat.Chat; import com.samczsun.skype4j.chat.messages.ReceivedMessage; import io.mazenmc.skypebot.SkypeBot; import java.util.HashMap; import java.util.Map; import java.util.Optional; import java.util.regex.Pattern; public class Resource { public static final String COMMAND_PREFIX = "@"; public static final String[] GROUP_ADMINS = {"stuntguy3000", "heycallmethemezand", "itssircuddles"}; public static final String KEY_GITHUB = Utils.readFirstLine("key_github"); public static final String KEY_TRIDENT = Utils.readFirstLine("key_trident"); public static final String KEY_URBAND = Utils.readFirstLine("key_ud"); public static final String REGEX_ALL = "(.+)"; public static final String REGEX_DOUBLE = "(-?[0-9]+\\.[0-9]+)"; public static final String REGEX_INT = "(-?[0-9]+)"; public static final String REGEX_WORD = "(\\b+)"; public static final String VERSION = "1.7"; public static final Pattern SPOTIFY_HTTP_REGEX = Pattern.compile("open\\.spotify\\.com/track/([A-z0-9]){22}"); public static final Pattern SPOTIFY_URI_REGEX = Pattern.compile("spotify:track:([A-z0-9]){22}"); public static final Pattern TWITTER_REGEX = Pattern.compile("twitter\\.com\\/([A-z0-9]+)\\/status\\/([0-9]{18})"); public static final Pattern WIKIPEDIA_REGEX = Pattern.compile("en\\.wikipedia\\.(?:org|com)\\/wiki\\/(.+)"); private static Map<String, Callback<String>> callbacks = new HashMap<>(); public static void sendMessage(String message) { SkypeBot.getInstance().sendMessage(message); } public static void sendMessage(ReceivedMessage chatMessage, String message) { String displayName = Utils.getDisplayName(chatMessage.getSender()); try { Chat chat = chatMessage.getChat(); if (chat.getAllUsers().size() > 2) { message = "(" + displayName.replaceAll("[^A-Za-z0-9 ><.»«]", "") + ") " + message; } message = message.replaceAll("(https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b(?:[-a-zA-Z0-9@:%_\\+.~#?&//=]*))", "<a href=\"$1\">$1</a>"); chat.sendMessage(message); } catch (Exception ex) { sendMessage("Error occurred! " + ex.getMessage()); } } public static void sendMessages(String... message) { StringBuilder sb = new StringBuilder(); for (String s : message) { sb.append(s) .append('\n'); } sendMessage(sb.toString()); } public static void assignCallback(String id, Callback<String> callback) { callbacks.put(id, callback); } public static Callback<String> getCallback(String name) { return callbacks.get(name); } }