любой бот ведет себя по паттерну наблюдатель (observer)
в ноде этот паттерн реаклизован через класс EventEmitter
любой бот это набор событий и реакций на них, цепочки реакций для управления логикой используют замыкания, в которых сохраняется контекст события и методы для ответных действий
более сложное поведение можно моделировать через bpmn процессы и реализовывать эту логику в своем коде
по написанному выше рекомендую погуглить. успехов.