Автоответ [для чата на сайте gamdom]

С игнорированием регистра просто. Есть флаг i. Подробнее читай тут: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Syntax

Флагом эту задачу не решить. Это задача регулярки. Я бы писал ее так: under( ?me)?. Тут можно поиграться с тем какие строки найдет эта регулярка https://regexr.com/4rh0r

Спасибо

    let words = ["underme", "under me", "under", "n"];

let observer = new MutationObserver(() => {
	let message = document.querySelector(".messages li:last-child .chat_cont").textContent.toLowerCase();

	// Перебираем слова
	for (let word of words) {
		if (message.includes(word)) {
			console.log(word);
			break;
		}
	}
});

observer.observe(document.querySelector(".messages"), {
  childList: true,
  subtree: true,
});

Во многом хороший вариант. Но код будет срабатывать там где не ожидалось. Например код поведет себя так будто есть слово under в предложении my underware.

1 Симпатия
 Полный код.
let words = ["underme", "under me", "under", "n"];

let observer = new MutationObserver(() => {
	let message = document.querySelector(".messages li:last-child .chat_cont").textContent.toLowerCase();

	// Перебираем слова
	for (let word of words) {
		if (message.includes(word)) {
			document.querySelector(".chat_input").value = "Ваше сообщение/буква";
			document.querySelector(".chat_send").click();
			console.log(word);
			break;
		}
	}
});

observer.observe(document.querySelector(".messages"), {
  childList: true,
  subtree: true,
});

Спасибо за вариант решения,если у меня не получится сделать на regexp я возьму твой вариант.

Как можно запретить в твоем варианте если в чате будет under me test что бы скрпит не писал?

let words = ["underme", "under me", "under", "n"];

let observer = new MutationObserver(() => {
	let message = document.querySelector(".messages li:last-child .chat_cont").textContent.toLowerCase();

	// Перебираем слова
	for (let word of words) {
		if (message.includes(word) && message !== "under me test") {
			sendMessage("Ваше сообщение/буква", 1000); // 1000 - 1sec задержки
			break;
		}
	}
});

observer.observe(document.querySelector(".messages"), {
  childList: true,
  subtree: true,
});

function sendMessage(message, delay) {
	setTimeout(() => {
		document.querySelector(".chat_input").value = message;
		document.querySelector(".chat_send").click();
	}, delay, message);
}

Спасибо

Не знаю в чем проблема,но если модератор отправляет любое сообщение твой скрипт пишет то сообщение которое я задал,даже если там нет ключевых слов

Я решил проблему