19 using EmotePtr = std::shared_ptr<const Emote>;
32 return std::tie(this->start, this->end, this->ptr, this->name) ==
43 const Communi::IrcPrivateMessage *_ircMessage,
46 const Communi::IrcMessage *_ircMessage,
48 QString content,
bool isAction);
52 [[nodiscard]]
bool isIgnored()
const override;
53 void triggerHighlights()
override;
56 void setThread(std::shared_ptr<MessageThread> thread);
57 void setMessageOffset(
int offset);
59 static void appendChannelPointRewardMessage(
64 static void liveMessage(
const QString &channelName,
68 static void liveSystemMessage(
const QString &channelName,
70 static void offlineSystemMessage(
const QString &channelName,
72 static void hostingSystemMessage(
const QString &channelName,
74 static void deletionMessage(
const MessagePtr originalMessage,
78 static void listOfUsersSystemMessage(QString prefix, QStringList users,
81 static void listOfUsersSystemMessage(
82 QString prefix,
const std::vector<HelixModerator> &users,
86 static std::unordered_map<QString, QString> parseBadgeInfoTag(
87 const QVariantMap &tags);
89 static std::vector<TwitchEmoteOccurrence> parseTwitchEmotes(
90 const QVariantMap &tags,
const QString &originalMessage,
94 void parseUsernameColor()
override;
95 void parseUsername()
override;
96 void parseMessageID();
98 void appendUsername();
100 void runIgnoreReplaces(std::vector<TwitchEmoteOccurrence> &twitchEmotes);
102 boost::optional<EmotePtr> getTwitchBadge(
const Badge &badge);
103 Outcome tryAppendEmote(
const EmoteName &
name)
override;
105 void addWords(
const QStringList &words,
106 const std::vector<TwitchEmoteOccurrence> &twitchEmotes);
108 void addTextOrEmoji(
const QString &value)
override;
110 void appendTwitchBadges();
111 void appendChatterinoBadges();
112 void appendFfzBadges();
113 void appendSeventvBadges();
114 Outcome tryParseCheermote(
const QString &
string);
116 bool shouldAddModerationElements()
const;
119 bool hasBits_ =
false;
122 bool bitsStacked =
false;
123 bool historicalMessage_ =
false;
124 std::shared_ptr<MessageThread> thread_;
136 int messageOffset_ = 0;
139 bool senderIsBroadcaster{};
int start
Definition: TwitchMessageBuilder.hpp:25
Definition: TwitchChannel.hpp:60
Definition: Application.cpp:48
Definition: TwitchMessageBuilder.hpp:24
Definition: TwitchMessageBuilder.hpp:37
bool operator==(const TwitchEmoteOccurrence &other) const
Definition: TwitchMessageBuilder.hpp:30
std::shared_ptr< const Emote > EmotePtr
Definition: Emote.hpp:38
Definition: PubSubActions.hpp:97
Definition: Channel.hpp:30
Definition: MessageBuilder.hpp:53
TwitchChannel * twitchChannel
Definition: TwitchMessageBuilder.hpp:50
Definition: SharedMessageBuilder.hpp:14
Definition: ChannelPointReward.hpp:14
Definition: TwitchBadge.hpp:9
std::shared_ptr< const Message > MessagePtr
Definition: Channel.hpp:18
int end
Definition: TwitchMessageBuilder.hpp:26
Definition: MessageBuilder.hpp:43
EmoteName name
Definition: TwitchMessageBuilder.hpp:28
EmotePtr ptr
Definition: TwitchMessageBuilder.hpp:27
Definition: Outcome.hpp:14