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

Помогите Контроль чата

Discussion in 'Разработка плагинов для новичков' started by MrElitePro, Mar 29, 2016.

  1. Автор темы
    MrElitePro

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

    Trophy Points:
    46
    Имя в Minecraft:
    MrElitePro
    Как сделать контроль чата сильнее? Тоесть есть список слов запрещенных если их я ввожу то плагин не дает их ввести,а если введешь например админ1,то он пропускает,может кто-то знает как сделать если находит слово из списка то хоть чего не добавляй но он не пропустит
     
  2. Хостинг MineCraft
    <
  3. Sonicxd2

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

    Trophy Points:
    76
    Проверять строку с помощью equals
     
  4. Автор темы
    MrElitePro

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

    Trophy Points:
    46
    Имя в Minecraft:
    MrElitePro
    А то наделали плагины а их можно обойти,ну конечно за исключением некоторых[DOUBLEPOST=1459274315,1459273407][/DOUBLEPOST]
    Можно пример пожалуйста?
     
  5. Sonicxd2

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

    Trophy Points:
    76
    if(msg.equalsIgnoreCase(ploxoeSlovo))
     
  6. Автор темы
    MrElitePro

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

    Trophy Points:
    46
    Имя в Minecraft:
    MrElitePro
    спасибо[DOUBLEPOST=1459275727,1459275093][/DOUBLEPOST]
    а как можно еще проверку сделать? типа адми-н типа заменяют
     
  7. Sonicxd2

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

    Trophy Points:
    76
    По символам, но ресурсо затратно
     
  8. Автор темы
    MrElitePro

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

    Trophy Points:
    46
    Имя в Minecraft:
    MrElitePro
    Эхх все пропускает у меня хе-хе[DOUBLEPOST=1459276406,1459276264][/DOUBLEPOST]ООО все получилось,спасибо разобался[DOUBLEPOST=1459276469][/DOUBLEPOST]А можно пару примерчиков по символам,всего парочку и чтобы потом проверялось?
     
  9. Sonicxd2

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

    Trophy Points:
    76
    У меня реализации нету, но работает так. Ты преобразовываешь сообщение в символы, и убираешь все не буквы. После чего преобразуешь полученный массив в строку, и проверяешь способом описанным выше.
     
  10. Dereku

    Dereku Старожил

    Trophy Points:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Лол. Какой equalsIgnoreCase то? Либо contains с toLowerCase, либо регулярками.
    Бтв, я за свободу мата в чате майнкрафта.
     
  11. Dymeth

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

    Trophy Points:
    76
    Тоже советую использовать Regex (регулярки), поскольку можно максимально тонко настроить фильтрацию. Подробнее об этой вещице можно почитать в гугле.
     
  12. chibis

    chibis Ньюби

    Trophy Points:
    1
    Можно по разному контролить слова из списка, можно через equals, equalsIgnoreCase, указав regex, indexof, проверка на символы через цикл (п.с. ну с символами ваще если делать нефиг =D)
     
  13. Sonicxd2

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

    Trophy Points:
    76
    Если надо можно и сделать
     
  14. Автор темы
    MrElitePro

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

    Trophy Points:
    46
    Имя в Minecraft:
    MrElitePro
    Я сделал через contains и toLowerCase,временно вот надо теперь регулярку сделать[DOUBLEPOST=1459435141,1459430323][/DOUBLEPOST]А можно вот как-то сделать проверку на символы типа если слово БАНКА,то его запрещает у меня щас,а если написать БАНК-А,то он пропускает,знаю что через регуляр надо,а как это оформить? чтобы он проверял слово и регуляр типа
     
  15. fall.us

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

    Trophy Points:
    76
    Имя в Minecraft:
    fallus
    По-моему, проще убрать лишние символы.
     
    Last edited: Mar 31, 2016
  16. Dereku

    Dereku Старожил

    Trophy Points:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    не можно.
     
  17. Автор темы
    MrElitePro

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

    Trophy Points:
    46
    Имя в Minecraft:
    MrElitePro
    ну они стандартные же зачем убирать их?
     
  18. chibis

    chibis Ньюби

    Trophy Points:
    1
    Dereku, почему не можно, вполне можно, это банальное сравнение, только от него ты не сделаешь должного контроля, мне как-то полегче слова эти загружать из файла в динамический список и при помощи "контэйнса" узнавать о его содержании в этом списке, так же известно что школьники обходят запрещённые слова путём подмены русской буквы на английскую и наоборот, тогда в этом случае нужно и это предусмотреть для большего контроля.[DOUBLEPOST=1459440105,1459439668][/DOUBLEPOST]
    Имеется ввиду replace(String s, String s2) | replaceAll(String s, String s2) ? =)
     
  19. Автор темы
    MrElitePro

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

    Trophy Points:
    46
    Имя в Minecraft:
    MrElitePro
    Да не вроде там что-то посложнее там через регуляр надо[DOUBLEPOST=1459441125][/DOUBLEPOST]
    Можно пример легкий чтобы понять
     
  20. fall.us

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

    Trophy Points:
    76
    Имя в Minecraft:
    fallus
    Code:
        HashSet<String> badWords = new HashSet<>();
    
        //заполняем структуру словами...   
    
        public boolean check(String input)
        {
            String rawWord = input.replaceAll("[^а-яА-Я]", "");
          
            if(badWords.contains(rawWord))
                return true;
            else
                return false;
        }
     
    Last edited: Mar 31, 2016
  21. Автор темы
    MrElitePro

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

    Trophy Points:
    46
    Имя в Minecraft:
    MrElitePro
    ок попробую
     

Share This Page