Как такое написать?

В общем, есть класс Bot, а так же в нём имеется 2 метода: on, onText и они принимают 2 параметра. Мой вопрос такой, как добавить событие клика, а также добавление элемента в блок в on и text, но при этом, в этом событии у меня разная реализация.

То есть, у on у меня есть событие клика, после добавляет мое сообщение в блок и дальше своя реализация. Вот мне нужно такое же в text, но там своя реализация. Дублировать код, я считаю это тупо.

Вот мой код:

class Bot {
    on(type, listener) {
        if (events.indexOf(type) !== -1) {
            document.querySelector('form').addEventListener('submit', e => {
                e.preventDefault()
                const message = document.querySelector('.form-control');
                listener({'text': message.value})
                // тут добавление message в блок
            })
        }
    }
    onText(regex, listener) {
        // тут нужно событие клика, а также добавление этого message в блок и своя реализация в это событие
    }
}

message это input text


Ответы (0 шт):