@EventHandler(priority = EventPriority.LOWEST)
    public void onPlayerCommandPreprocess(
            final PlayerCommandPreprocessEvent event) {
        if (MonsterIRC.getHookManager().getTownyChatHook() != null) {
            final Player player = event.getPlayer();
            final String split[] = event.getMessage().split("\\ ");
            final String command = split[0].trim().toLowerCase()
                    .replace("/", "");
            final Channel channel = MonsterIRC.getHookManager()
                    .getTownyChatHook().getChannelsHandler()
                    .getChannel(player, command);
            if (channel != null) {
                if (TownyChatListener.directedChat.containsKey(player)) {
                    boolean doReturn = false;
                    if (TownyChatListener.directedChat.get(player).equals(
                            channel)) {
                        doReturn = true;
                    }
                    TownyChatListener.directedChat.remove(player);
                    if (doReturn) {
                        return;
                    }
                }
                TownyChatListener.directedChat.put(player, channel);
            }
        }
    }