Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Помогите Вытащить домен из текста.

Discussion in 'Разработка плагинов для новичков' started by xDark, Apr 24, 2017.

Thread Status:
Not open for further replies.
  1. Автор темы
    xDark

    xDark Активный участник Пользователь

    Trophy Points:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Вообщем делаю плагин от рекламы.
    Сейчас есть такой код:
    Code:
        private static final String URL_REGEX = "^((https?|ftp)://|(www|ftp)\\.)?[a-z0-9-]+(\\.[a-z0-9-]+)+([/?].*)?$";
    
        private static boolean containsURL(String message) {
            try {
                Pattern p = Pattern.compile(URL_REGEX);
                Matcher m = p.matcher(message);
                String url = m.group();
                if (isWhiteListed(url))
                    return false;
                if (m.find()) {
                    List<String> current = WatchSystem.config().getStringList("settings.ad.list");
                    current.add(url);
                    WatchSystem.instance().getConfig().set("settings.ad.list", current);
                    WatchSystem.instance().saveConfig();
                    Settings.AD_WORDS.add(url);
                    return true;
                }
            } catch (Throwable t) {
                if (Settings.DEBUG)
                    WatchSystem.instance().getLogger().log(Level.SEVERE,
                            "Exception thrown while checking if message contains URL", t);
                return false;
            }
            return false;
        }
    
    Но постоянно бросает ошибку.
    Code:
    [19:13:52 INFO]: <wars> 34534534534 sdfsdf
    [19:13:55 ERROR]: [WatchSystem] Exception thrown while checking if ad contains URL
    java.lang.IllegalStateException: No match found
            at java.util.regex.Matcher.group(Unknown Source) ~[?:1.8.0_121]
            at java.util.regex.Matcher.group(Unknown Source) ~[?:1.8.0_121]
            at me.xDark.watchSystem.Util.containsURL(Util.java:56) [WatchSystem.jar:?]
            at me.xDark.watchSystem.Util.checkAd(Util.java:106) [WatchSystem.jar:?]
            at me.xDark.watchSystem.AsyncChatListener.onChat(AsyncChatListener.java:23) [WatchSystem.jar:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) [spigot.jar:git-Spigot-4af49dc-c5e9a16]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot.jar:git-Spigot-4af49dc-c5e9a16]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-4af49dc-c5e9a16]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [spigot.jar:git-Spigot-4af49dc-c5e9a16]
            at net.minecraft.server.v1_9_R2.PlayerConnection.chat(PlayerConnection.java:1271) [spigot.jar:git-Spigot-4af49dc-c5e9a16]
            at net.minecraft.server.v1_9_R2.PlayerConnection.a(PlayerConnection.java:1209) [spigot.jar:git-Spigot-4af49dc-c5e9a16]
            at net.minecraft.server.v1_9_R2.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [spigot.jar:git-Spigot-4af49dc-c5e9a16]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_121]
            at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_121]
            at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_121]
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_121]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_121]
    Есть ли какой - то другой способ проверить сообщение на наличие ссылок?
    Заранее спасибо.
     
    Last edited: Apr 24, 2017
  2. Хостинг MineCraft
    <
  3. Автор темы
    xDark

    xDark Активный участник Пользователь

    Trophy Points:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    гыг[DOUBLEPOST=1493061588,1493059274][/DOUBLEPOST]Решено, закрыто с:
     
Thread Status:
Not open for further replies.

Share This Page