#ifndef RANDOMRESPONSES_H #define RANDOMRESPONSES_H #include #include #include #include #include #include #include // Структура для хранения группы ответов struct ResponseGroup { QString name; // Имя группы QStringList responses; // Список возможных ответов }; class RandomResponses : public QObject { Q_OBJECT public: explicit RandomResponses(QObject *parent = nullptr); // Получить случайный ответ из группы QString getResponse(const QString &groupName); // Добавить группу или дополнить существующую bool addResponse(const QString &groupName, const QString &response); // Удалить конкретный ответ из группы bool removeResponse(const QString &groupName, const QString &response); // Удалить всю группу bool removeGroup(const QString &groupName); // Получить список всех групп QStringList getGroupNames() const; // Получить все ответы группы QStringList getGroupResponses(const QString &groupName) const; // Проверить существование группы bool hasGroup(const QString &groupName) const; // Очистить все данные void clear(); private: QMap m_groups; // Хранение групп по имени QRandomGenerator m_randomGenerator; // Генератор случайных чисел }; #endif // RANDOMRESPONSES_H