Solved getMessage().contains is just lowercase?

Discussion in 'Plugin Development' started by danjb2000, Jun 1, 2014.

Thread Status:
Not open for further replies.
  1. Offline


    Hi guys, Making a chat filter plugin for my server,
    But I've just noticed a hickup with the code i'm using:
    People can just bypass it by using capitals, for example, I code in "fuck", They can just put "FUCK" and bypass it..

    1. if (event.getMessage().contains("fuck")) {
    2. if (!event.getPlayer().hasPermission("cubedcraft.swearbypass")) {
    3. event.setCancelled(true);
    4. event.getPlayer().sendMessage(
    5. ChatColor.GREEN + "CubedCraft" + ChatColor.DARK_PURPLE
    6. + ">" + ChatColor.RED + " Do not swear!");
    7. } else {
    8. event.getPlayer().sendMessage(ChatColor.DARK_GRAY + "[" + ChatColor.YELLOW + "CubedCraft" + ChatColor.DARK_GRAY + "] " + ChatColor.BLUE + "You have been allowed to swear, But it is advised you don't!");
    9. }
    10. }

    Oh, My main point: Is there a way around it? like .containsIgnoreCase? lol

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Jul 1, 2016
  2. Offline


    Check contains on a lower cased message?
    Konkz likes this.
  3. Offline



    Just to check you understand me: I'm asking, Is there a way that one section of code can prevent the swearing in both upper and lowercase?
  4. Offline


    1. if(ev.getMessage().toLowerCase().contains("word"))
    2. {
    3. // your code
    4. }
  5. Offline


    Don't worry, Solved.
    For anyones future reference:
    1. if (event.getMessage().toLowerCase().contains("fuck")) {
    would work. :)
    badboysteee98, Konkz and xYourFreindx like this.
  6. Offline


    danjb2000 Thank you I was looking for the same thing :)

    People who show the solved Puzzle are amazing and friendly people thanks again :)

    I have a question how would I do it as in like it gets a List of fliter message? Abit like this

    - Fuck
    - Shit
    - Dick

    And so on?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Jul 1, 2016
  7. Offline


    Totally agree. I was also curious about this. But then realized I had learned this back in my first qbasic programming class. :D
    I gotta ask where you and everyone else gets those awesome cartoon profile pictures.
  8. Offline


    I suggest making a thread of this for your problem, as this one has been solved.
    But instead of hard coding the string "f**k" do getConfig().getList(""); - that should work I think.

    xYourFreindx -
  9. Offline


    The following improvised code replaces words which are set in the config file with "***".

    1. List<String> list = getConfig().getStringList("word-filter");
    2. String msg = event.getMessage();
    4. for(String s : list)
    5. if(msg.toLowerCase().contains(s))
    6. msg = msg.replace(s, "***");
    8. event.setMessage(msg);
Thread Status:
Not open for further replies.

Share This Page