@@ -0,0 +1,1365 @@
+import java.util.regex.Matcher;%0Aimport java.util.regex.Pattern;%0A%0Aimport uk.co.uwcs.choob.modules.Modules;%0Aimport uk.co.uwcs.choob.support.IRCInterface;%0Aimport uk.co.uwcs.choob.support.events.ChannelAction;%0Aimport uk.co.uwcs.choob.support.events.ChannelMessage;%0Aimport uk.co.uwcs.choob.support.events.Message;%0Aimport uk.co.uwcs.choob.support.events.PrivateAction;%0A%0Apublic class Face%0A%7B%0A%09Modules mods;%0A%09private final IRCInterface irc;%0A%0A%09public Face(final Modules mods, final IRCInterface irc)%0A%09%7B%0A%09%09this.mods = mods;%0A%09%09this.irc = irc;%0A%09%7D%0A%0A%09public String%5B%5D info()%0A%09%7B%0A%09%09return new String%5B%5D %7B %22Face Plugin%22, %22The Choob Team%22, %22choob@uwcs.co.uk%22,%0A%09%09%09%09%22$Rev: 1166 $$Date: 2009-06-11 10:27:00 +0100 (Thu, 11 June 2009) $%22 %7D;%0A%09%7D%0A%0A%09public final String filterReplaceRegex = %22(%5B%5E%5C%5Cs%5D+)face%22;%0A%09private final Pattern compiledFilterReplaceRegex = Pattern.compile(filterReplaceRegex);%0A%09%0A%09public void filterReplace(final Message mes)%0A%09%7B%0A%09%09if (!(mes instanceof ChannelMessage))%0A%09%09%09return;%0A%0A%09%09final String message = mes.getMessage();%0A%0A%09%09try%0A%09%09%7B%0A%09%09%09// Run the filter regex with the trigger.%0A%09%09%09Matcher matcher = Pattern.compile(irc.getTriggerRegex() + filterReplaceRegex).matcher(message);%0A%09%09%09if (!matcher.find())%0A%09%09%09%09return;%0A%0A%09%09%09final String nick = matcher.group(1);%0A%0A%09%09%09irc.sendContextMessage(mes, nick + %22: Waa!%22);%0A%09%09%7D%0A%09%09catch (final Exception e)%0A%09%09%7B%0A%09%09%09e.printStackTrace();%0A%09%09%7D%0A%09%7D%0A%7D%0A

Add face plugin. If someone wants to make it so that this only matches if an alias of the same name doesn't exist, that would be cool. ¬_¬