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

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем MrElitePro, 29 мар 2016.

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

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

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

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

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

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

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

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

    Баллы:
    76
    if(msg.equalsIgnoreCase(ploxoeSlovo))
     
  6. Автор темы
    MrElitePro

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

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

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

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

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

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

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

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

    Dereku Старожил

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

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

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

    chibis Ньюби

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

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

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

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

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

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

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

    Dereku Старожил

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

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

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

    chibis Ньюби

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

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

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

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

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

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

    Баллы:
    46
    Имя в Minecraft:
    MrElitePro
    ок попробую
     

Поделиться этой страницей