5 #include <QRegularExpression> 13 struct AutomodUserAction;
14 struct AutomodInfoAction;
16 using MessagePtr = std::shared_ptr<const Message>;
44 bool disablePingSounds =
false;
45 bool isReceivedWhisper =
false;
46 bool isSentWhisper =
false;
47 bool trimSubscriberUsername =
false;
48 bool isStaffOrBroadcaster =
false;
49 bool isSubscriptionMessage =
false;
50 QString channelPointRewardId =
"";
58 const QTime &time = QTime::currentTime());
60 const QString &sourceUser,
const QString &systemMessageText,
61 int times,
const QTime &time = QTime::currentTime());
63 const QString &durationInSeconds,
bool multipleTimes,
64 const QTime &time = QTime::currentTime());
71 const std::vector<QString> &emoteNames);
74 const std::vector<QString> &emoteNames);
76 const QString &actor,
const QString &emoteName,
77 const QString &oldEmoteName);
79 const QString &actor,
const QString &emoteSetName);
86 std::weak_ptr<Message>
weakOf();
88 void append(std::unique_ptr<MessageElement> element);
89 QString matchLink(
const QString &
string);
90 void addLink(
const QString &origLink,
const QString &matchedLink);
97 void addIrcMessageText(
const QString &text);
99 template <
typename T,
typename...
Args>
105 static_assert(std::is_base_of<MessageElement, T>::value,
106 "T must extend MessageElement");
108 auto unique = std::make_unique<T>(std::forward<Args>(args)...);
109 auto pointer = unique.get();
110 this->append(std::move(unique));
116 virtual void addTextOrEmoji(
const QString &value);
124 TextElement *emplaceSystemTextAndUpdate(
const QString &text,
135 void addIrcWord(
const QString &text,
const QColor &color,
136 bool addSpace =
true);
138 std::shared_ptr<Message> message_;
Definition: MessageColor.hpp:8
Definition: MessageElement.hpp:256
const SystemMessageTag systemMessage
Definition: MessageBuilder.hpp:30
const LiveUpdatesUpdateEmoteMessageTag liveUpdatesUpdateEmoteMessage
Definition: MessageBuilder.hpp:32
Definition: MessageBuilder.hpp:24
Definition: PubSubActions.hpp:148
std::pair< MessagePtr, MessagePtr > makeAutomodMessage(const AutomodAction &action)
Definition: MessageBuilder.cpp:141
const TimeoutMessageTag timeoutMessage
Definition: MessageBuilder.hpp:31
Definition: Application.cpp:48
MessagePtr makeSystemMessage(const QString &text)
Definition: MessageBuilder.cpp:69
T * emplace(Args &&...args)
Definition: MessageBuilder.hpp:102
MessagePtr makeAutomodInfoMessage(const AutomodInfoAction &action)
Definition: MessageBuilder.cpp:88
Definition: MessageBuilder.hpp:22
Definition: MessageColor.hpp:9
std::shared_ptr< const Emote > EmotePtr
Definition: Emote.hpp:38
Definition: PubSubActions.hpp:82
Definition: PubSubActions.hpp:106
Definition: PubSubActions.hpp:164
Definition: MessageBuilder.hpp:26
Command line arguments passed to Chatterino.
Definition: Args.hpp:10
Definition: MessageBuilder.hpp:20
Definition: MessageBuilder.hpp:53
const LiveUpdatesUpdateEmoteSetMessageTag liveUpdatesUpdateEmoteSetMessage
Definition: MessageBuilder.hpp:35
std::shared_ptr< const Message > MessagePtr
Definition: Channel.hpp:18
Definition: Message.hpp:54
Definition: PubSubActions.hpp:136
const LiveUpdatesAddEmoteMessageTag liveUpdatesAddEmoteMessage
Definition: MessageBuilder.hpp:34
Definition: MessageBuilder.hpp:43
Definition: MessageBuilder.hpp:28
Definition: MessageBuilder.hpp:18
std::weak_ptr< T > weakOf(T *element)
Definition: Common.hpp:44
const LiveUpdatesRemoveEmoteMessageTag liveUpdatesRemoveEmoteMessage
Definition: MessageBuilder.hpp:33