Js код,помогите разобраться что и как работает

Возможно в коде ошибки

(function(x) {
	filtro = function(msg) {
		var msg = msg.replace(/\s{2,}/g, ' ');
		var text = msg.split(' ');

		console.log(isTrivia(msg));
		console.log(!isQuestion(msg));
		if (isTrivia(msg)) {
			if (!isQuestion(msg)) {
				sanitazeMsg(msg);
				console.log(sanitazeMsg(msg));
			}
		}
	}

	isTrivia = function(msg) {
		return msg.search(/^(for)[\s\S]\d+[c|k]*/g) > -1;
	}

	isQuestion = function(msg) {
		return msg.slice(-1) == '?';
	}

	sanitazeMsg = function(str) {
		return str.match('\:(.*)')[1].trim();
	}

	hasClass = function(e, c) {
		return e.classList.contains(c);
	}

	setElementRead = function(e) {
		e.classList.add('read');
	}

	readLastMsg = function() {
		var li = document.querySelector('.messages').lastChild;
		if (!hasClass(li, 'read')) {
			if (hasClass(li, 'msg-chat-message') && hasClass(li, 'msg-moderator-message')) {
				var msg = li.childNodes[1] ? li.childNodes[1].textContent : '';
			}
		}
		setElementRead(li);
	}

	sendMsgChat = function(msg) {
		console.log(msg);
		var input = document.querySelector('.chat-input');

		if (input) {
			input.value = msg;
			var inputSend = document.querySelector('.chatInputSend');
			if (inputSend) {
				[inputSend.click](https: //vk.com/away.php?to=http%3A%2F%2FinputSend.click&cc_key=)(); 
				}
			}
		}

		init = function() {
			setInterval(function() {
				readLastMsg();
			}, 1000);
		}

		init();
}(window));

Не хватает контекста. Как проявляются ошибки, что должен делать код?

Я сам не знаю,поэтому и задал вопрос

Для начала в том куске кода что ты показываешь запускается readLastMsg в интервале.

init = function() {
	setInterval(function() {
		readLastMsg();
	}, 1000);
}

init();

В ней блок

if (!hasClass(li, 'read')) {
	if (hasClass(li, 'msg-chat-message') && hasClass(li, 'msg-moderator-message')) {
		var msg = li.childNodes[1] ? li.childNodes[1].textContent : '';	
	}
}

не имеет смысла потому что просто заводит переменную, ничего с ней не делая. Следующая строка вызывает setElementRead которая всего-лишь добавляет класс элементу. На этом исполняемая часть видимой программы “все”.

Бонус странность - функции объявлены так что они попадают в глобальную область видимости и становятся доступны любым скриптам на странице. С этой точки зрения оборачивание всего кода в

(function(x) {
...
}(window));

не имеет смысла ибо чаще всего такая обертка нужна чтобы объявленные функции остались видимы только внутри области видимости функции-обертки.

Чтобы понять как работает вся система смотри где и как вызываются эти глобально объявленные функции в других частях скрипта, возможно даже из аттрибутов html элементов.

Этот скрипт нужен для того что бы когда человек в чате сайта напишет 500c fast (ac) type допустим убрать (ac) и моментально написать в чат fast type

В коде нет ничего что бы запускало такую функциональность.

Кстати, в этой строке синтаксическая ошибка из-за которой код даже не запустится. При том ошибка такая что сложно догадаться что автор имел в виду.

if (inputSend) {
		[inputSend.click](https: //vk.com/away.php?to=http%3A%2F%2FinputSend.click&cc_key=)(); 
	}
}