Можно посмотреть на примере
VK:
1. Когда пользователь начинает вводить что-то, отправляется запрос на изменение статуса. Да, тут нужен слушатель.
2. Сервер временно (10 секунд) хранит информацию о том, что пользователь набирает сообщение.
3. Если через секунд 5 и более ввод текста продолжается, отправляется повторный запрос, чтобы статус продлился ещё на 10 секунд.