Создай объект пользователя, иквелс/хешкод, и объект сообщения, это всё в Map<User, TreeSet<ChatMSG>> вот тебе уже хранение в памяти, а трисет дает возможность ходить по сообщениям последовательно или брать первое/последние только
Яб сделал какие-то стейты флоу енамчиком и при получении сообщения юзера смотрел на текущее состояние - скармливал его фабрике состояний какой-то, в ней бы резолвилось как сохранить/обработать эти данные и возвращал новый Стейт с соотв сообщением
Яб сделал какие-то стейты флоу енамчиком и при получении сообщения юзера смотрел на текущее состояние - скармливал его фабрике состояний какой-то, в ней бы резолвилось как сохранить/обработать эти данные и возвращал новый Стейт с соотв сообщением
Условно у юзера флоу поиска музыки: Search_Music -> берём текст что юзер ввёл -> ищем результат, записываем в юзера статус search_result -> отправляем сообщение
допустим — хочу послушать нирвану — угу, а какую песню? (на этом месте бот должен помнить, что ему сейчас ответят название песни, а также какую группу запросили)
Хмм. Отдельной таблицей answers c userId, answer, flow, action Потом собирать по флоу ответы, по экшнам доставать результаты и после ответа, если надо - чистить
Я пытался текстовую РПГ сделать и при регистрации надо было указывать ник, класс, расу и ещё что то. Вот примерно так сделал. Правда потом я забил, т.к. оказалось что существует 100500 проектов и продумать флоу игры сложно и долго 🙃
допустим — хочу послушать нирвану — угу, а какую песню? (на этом месте бот должен помнить, что ему сейчас ответят название песни, а также какую группу запросили)