#pragma once #include "messages/message.hpp" #include #include namespace chatterino { namespace messages { class MessageBuilder { public: MessageBuilder(); SharedMessage getMessage(); void appendWord(const Word &&word); void appendTimestamp(); void appendTimestamp(QDateTime &time); void setHighlight(bool value); QString matchLink(const QString &string); QRegularExpression linkRegex; QString originalMessage; protected: std::shared_ptr message; private: std::vector _words; bool highlight = false; std::chrono::time_point _parseTime; }; } // namespace messages } // namespace chatterino