	public boolean canRun(Transmittable trns) {
		if (!trns.isPrivmsg())
			return false;
		String msg = trns.asPrivmsg().getMessage();
		Matcher matcher = COMMAND_PATTERN.matcher(msg);
		if (matcher.matches()) {
			int count = matcher.groupCount();
			String command = matcher.group(3);
			if (matcher.group(4) == null || matcher.group(4).isEmpty()) {
				return matcher.group(2).matches(getName());
			} else {
                System.out.println(command);
                System.out.println(matcher.group(4));
				return command.matches(getName()) && matcher.group(4).matches(getParameterRegex());
			}
		}
		return false;
	}

	public boolean canRun(Transmittable trns) {
		if (!trns.isPrivmsg())
			return false;
		String msg = trns.asPrivmsg().getMessage();
		Matcher matcher = COMMAND_PATTERN.matcher(msg);
		if (matcher.matches()) {
			int count = matcher.groupCount();
			if (matcher.group(4) == null || matcher.group(4).isEmpty()) {
				return matcher.group(2).matches(getName());
			} else {
                return matcher.group(4).matches(getName()) && matcher.group(5).matches(getParameterRegex());
			}
		}
		return false;
	}
