refactor: merge adjecent words into one TextElement (#5847)

This commit is contained in:
nerix
2025-01-22 23:25:00 +01:00
committed by GitHub
parent ea02a42162
commit 0a3cc1deed
42 changed files with 289 additions and 2719 deletions
+1
View File
@@ -17,6 +17,7 @@
- Dev: Updated Conan dependencies. (#5776) - Dev: Updated Conan dependencies. (#5776)
- Dev: Replaced usage of `parseTime` with `serverReceivedTime` for clearchat messages. (#5824) - Dev: Replaced usage of `parseTime` with `serverReceivedTime` for clearchat messages. (#5824)
- Dev: Support Boost 1.87. (#5832) - Dev: Support Boost 1.87. (#5832)
- Dev: Words from `TextElement`s are now combined where possible. (#5847)
## 2.5.2 ## 2.5.2
+49 -19
View File
@@ -526,8 +526,7 @@ MessageBuilder::MessageBuilder(SystemMessageTag, const QString &text,
continue; continue;
} }
this->emplace<TextElement>(word, MessageElementFlag::Text, this->appendOrEmplaceText(word, MessageColor::System);
MessageColor::System);
} }
this->message().flags.set(MessageFlag::System); this->message().flags.set(MessageFlag::System);
this->message().flags.set(MessageFlag::DoNotTriggerNotification); this->message().flags.set(MessageFlag::DoNotTriggerNotification);
@@ -552,8 +551,7 @@ MessagePtrMut MessageBuilder::makeSystemMessageWithUser(
continue; continue;
} }
builder.emplace<TextElement>(word, MessageElementFlag::Text, builder.appendOrEmplaceText(word, MessageColor::System);
MessageColor::System);
} }
builder->flags.set(MessageFlag::System); builder->flags.set(MessageFlag::System);
@@ -619,8 +617,7 @@ MessagePtrMut MessageBuilder::makeSubgiftMessage(const QString &text,
continue; continue;
} }
builder.emplace<TextElement>(word, MessageElementFlag::Text, builder.appendOrEmplaceText(word, MessageColor::System);
MessageColor::System);
} }
builder->flags.set(MessageFlag::System); builder->flags.set(MessageFlag::System);
@@ -743,18 +740,18 @@ MessageBuilder::MessageBuilder(const BanAction &action, uint32_t count)
this->emplaceSystemTextAndUpdate("were", text); this->emplaceSystemTextAndUpdate("were", text);
if (action.isBan()) if (action.isBan())
{ {
this->emplaceSystemTextAndUpdate("banned", text); this->appendOrEmplaceSystemTextAndUpdate("banned", text);
} }
else else
{ {
this->emplaceSystemTextAndUpdate( this->appendOrEmplaceSystemTextAndUpdate(
QString("timed out for %1").arg(formatTime(action.duration)), QString("timed out for %1").arg(formatTime(action.duration)),
text); text);
} }
if (!action.source.login.isEmpty()) if (!action.source.login.isEmpty())
{ {
this->emplaceSystemTextAndUpdate("by", text); this->appendOrEmplaceSystemTextAndUpdate("by", text);
this->emplaceSystemTextAndUpdate( this->emplaceSystemTextAndUpdate(
action.source.login + (action.reason.isEmpty() ? "." : ":"), action.source.login + (action.reason.isEmpty() ? "." : ":"),
text) text)
@@ -763,7 +760,7 @@ MessageBuilder::MessageBuilder(const BanAction &action, uint32_t count)
if (!action.reason.isEmpty()) if (!action.reason.isEmpty())
{ {
this->emplaceSystemTextAndUpdate( this->appendOrEmplaceSystemTextAndUpdate(
QString("\"%1\".").arg(action.reason), text); QString("\"%1\".").arg(action.reason), text);
} }
} }
@@ -812,7 +809,7 @@ MessageBuilder::MessageBuilder(const BanAction &action, uint32_t count)
if (count > 1) if (count > 1)
{ {
this->emplaceSystemTextAndUpdate( this->appendOrEmplaceSystemTextAndUpdate(
QString("(%1 times)").arg(count), text); QString("(%1 times)").arg(count), text);
} }
} }
@@ -1226,6 +1223,42 @@ bool MessageBuilder::isIgnored(const QString &originalMessage,
}); });
} }
void MessageBuilder::appendOrEmplaceText(const QString &text,
MessageColor color)
{
auto fallback = [&] {
this->emplace<TextElement>(text, MessageElementFlag::Text, color);
};
if (this->message_->elements.empty())
{
fallback();
return;
}
auto *back =
dynamic_cast<TextElement *>(this->message_->elements.back().get());
if (!back || //
dynamic_cast<MentionElement *>(back) || //
dynamic_cast<LinkElement *>(back) || //
!back->hasTrailingSpace() || //
back->getFlags() != MessageElementFlag::Text || //
back->color() != color)
{
fallback();
return;
}
back->appendText(text);
}
void MessageBuilder::appendOrEmplaceSystemTextAndUpdate(const QString &text,
QString &toUpdate)
{
toUpdate.append(text);
toUpdate.append(' ');
this->appendOrEmplaceText(text, MessageColor::System);
}
void MessageBuilder::triggerHighlights(const Channel *channel, void MessageBuilder::triggerHighlights(const Channel *channel,
const HighlightAlert &alert) const HighlightAlert &alert)
{ {
@@ -1759,22 +1792,19 @@ MessagePtr MessageBuilder::makeAutomodInfoMessage(
QString info("Hey! Your message is being checked " QString info("Hey! Your message is being checked "
"by mods and has not been sent."); "by mods and has not been sent.");
text += info; text += info;
builder.emplace<TextElement>(info, MessageElementFlag::Text, builder.appendOrEmplaceText(info, MessageColor::Text);
MessageColor::Text);
} }
break; break;
case AutomodInfoAction::Denied: { case AutomodInfoAction::Denied: {
QString info("Mods have removed your message."); QString info("Mods have removed your message.");
text += info; text += info;
builder.emplace<TextElement>(info, MessageElementFlag::Text, builder.appendOrEmplaceText(info, MessageColor::Text);
MessageColor::Text);
} }
break; break;
case AutomodInfoAction::Approved: { case AutomodInfoAction::Approved: {
QString info("Mods have accepted your message."); QString info("Mods have accepted your message.");
text += info; text += info;
builder.emplace<TextElement>(info, MessageElementFlag::Text, builder.appendOrEmplaceText(info, MessageColor::Text);
MessageColor::Text);
} }
break; break;
} }
@@ -2019,7 +2049,7 @@ MessagePtrMut MessageBuilder::makeClearChatMessage(const QDateTime &now,
if (count > 1) if (count > 1)
{ {
builder.emplaceSystemTextAndUpdate( builder.appendOrEmplaceSystemTextAndUpdate(
'(' % QString::number(count) % u" times)", messageText); '(' % QString::number(count) % u" times)", messageText);
} }
@@ -2332,7 +2362,7 @@ void MessageBuilder::addTextOrEmote(TextState &state, QString string)
} }
} }
this->emplace<TextElement>(string, MessageElementFlag::Text, textColor); this->appendOrEmplaceText(string, textColor);
} }
bool MessageBuilder::isEmpty() const bool MessageBuilder::isEmpty() const
+4
View File
@@ -168,6 +168,10 @@ public:
return pointer; return pointer;
} }
void appendOrEmplaceText(const QString &text, MessageColor color);
void appendOrEmplaceSystemTextAndUpdate(const QString &text,
QString &toUpdate);
static void triggerHighlights(const Channel *channel, static void triggerHighlights(const Channel *channel,
const HighlightAlert &alert); const HighlightAlert &alert);
+6
View File
@@ -17,6 +17,12 @@ struct MessageColor {
QString toString() const; QString toString() const;
bool operator==(const MessageColor &other) const noexcept
{
return this->type_ == other.type_ &&
this->customColor_ == other.customColor_;
}
private: private:
Type type_; Type type_;
QColor customColor_; QColor customColor_;
+43
View File
@@ -674,6 +674,49 @@ void TextElement::addToContainer(MessageLayoutContainer &container,
} }
} }
const MessageColor &TextElement::color() const noexcept
{
return this->color_;
}
FontStyle TextElement::fontStyle() const noexcept
{
return this->style_;
}
void TextElement::appendText(QStringView text)
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
for (auto word : text.split(' ')) // creates a QList
#else
for (auto word : text.tokenize(u' '))
#endif
{
this->words_.append(word.toString());
}
}
void TextElement::appendText(const QString &text)
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
this->appendText(QStringView{text});
#else
qsizetype firstSpace = text.indexOf(u' ');
if (firstSpace == -1)
{
// reuse (ref) `text`
this->words_.emplace_back(text);
return;
}
this->words_.emplace_back(text.sliced(0, firstSpace));
for (auto word : QStringView{text}.sliced(firstSpace + 1).tokenize(u' '))
{
this->words_.emplace_back(word.toString());
}
#endif
}
QJsonObject TextElement::toJson() const QJsonObject TextElement::toJson() const
{ {
auto base = MessageElement::toJson(); auto base = MessageElement::toJson();
+6
View File
@@ -250,6 +250,12 @@ public:
QJsonObject toJson() const override; QJsonObject toJson() const override;
const MessageColor &color() const noexcept;
FontStyle fontStyle() const noexcept;
void appendText(QStringView text);
void appendText(const QString &text);
protected: protected:
QStringList words_; QStringList words_;
@@ -178,21 +178,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"!" "!",
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"UserColorKappa" "UserColorKappa"
] ]
}, },
@@ -132,36 +132,8 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"mm" "mm",
] "test",
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"test"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"lol" "lol"
] ]
}, },
@@ -89,21 +89,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"foo" "foo",
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"bar" "bar"
] ]
}, },
@@ -89,21 +89,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"foo" "foo",
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"bar" "bar"
] ]
}, },
@@ -67,96 +67,12 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"just" "just",
] "earned",
}, "a",
{ "new",
"color": "System", "1K",
"flags": "Text", "Bits",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"earned"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"a"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"new"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"1K"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Bits"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"badge!" "badge!"
] ]
} }
+1 -15
View File
@@ -550,21 +550,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"b" "b",
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"c" "c"
] ]
}, },
+2 -30
View File
@@ -195,36 +195,8 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"a" "a",
] "b",
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"b"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"c" "c"
] ]
}, },
@@ -55,21 +55,7 @@
"cleared", "cleared",
"by", "by",
"a", "a",
"moderator." "moderator.",
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"(4", "(4",
"times)" "times)"
] ]
@@ -55,21 +55,7 @@
"cleared", "cleared",
"by", "by",
"a", "a",
"moderator." "moderator.",
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"(2", "(2",
"times)" "times)"
] ]
@@ -49,96 +49,12 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"This" "This",
] "room",
}, "is",
{ "now",
"color": "System", "in",
"flags": "Text", "emote-only",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"room"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"is"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"now"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"in"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"emote-only"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"mode." "mode."
] ]
} }
+1 -15
View File
@@ -238,21 +238,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"a" "a",
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"b" "b"
] ]
}, },
+1 -15
View File
@@ -123,21 +123,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"oo" "oo",
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"bar" "bar"
] ]
}, },
+1 -15
View File
@@ -123,21 +123,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"o" "o",
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"bar" "bar"
] ]
}, },
@@ -91,36 +91,8 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"something" "something",
] "my-highlight",
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"my-highlight"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"*" "*"
] ]
}, },
@@ -91,21 +91,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"foo" "foo",
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"no-mention-highlight" "no-mention-highlight"
] ]
}, },
@@ -206,36 +206,8 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"Hype" "Hype",
] "Chat",
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Chat"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"USD5.00" "USD5.00"
] ]
} }
+12 -180
View File
@@ -133,111 +133,13 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"Title:" "Title:",
] "Beating",
}, "the",
{ "record.",
"color": "Text", "but",
"flags": "Text", "who",
"link": { "is",
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Beating"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"the"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"record."
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"but"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"who"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"is"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"recordingLOL" "recordingLOL"
] ]
}, },
@@ -313,81 +215,11 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"Level" "Level",
] "1",
}, "Hype",
{ "Chat",
"color": "System", "(30s)",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"1"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Hype"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Chat"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"(30s)"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"NOK14.00" "NOK14.00"
] ]
} }
+12 -180
View File
@@ -131,96 +131,12 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"forsen" "forsen",
] "please",
}, "read",
{ "my",
"color": "Text", "super",
"flags": "Text", "chat.",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"please"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"read"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"my"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"super"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"chat."
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Please." "Please."
] ]
}, },
@@ -296,96 +212,12 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"Level" "Level",
] "2",
}, "Hype",
{ "Chat",
"color": "System", "(2m",
"flags": "Text", "30s)",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"2"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Hype"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Chat"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"(2m"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"30s)"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"USD5.00" "USD5.00"
] ]
} }
@@ -91,96 +91,12 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"Too" "Too",
] "many",
}, "replacements",
{ "-",
"color": "Text", "check",
"flags": "Text", "your",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"many"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"replacements"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"-"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"check"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"your"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"ignores!" "ignores!"
] ]
}, },
@@ -223,96 +223,12 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"&baz2[1+\\2]" "&baz2[1+\\2]",
] "&baz3[1+\\42]",
}, "&bi1",
{ "&biii1",
"color": "Text", "&baz4[i+420+i]",
"flags": "Text", "&baz1[oo+123]&baz1[o+2]",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"&baz3[1+\\42]"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"&bi1"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"&biii1"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"&baz4[i+420+i]"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"&baz1[oo+123]&baz1[o+2]"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"{" "{"
] ]
}, },
@@ -362,21 +278,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"}" "}",
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"woah->" "woah->"
] ]
}, },
+3 -45
View File
@@ -49,36 +49,8 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"2" "2",
] "raiders",
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"raiders"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"from" "from"
] ]
}, },
@@ -112,21 +84,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"have" "have",
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"joined!" "joined!"
] ]
} }
@@ -239,21 +239,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"reward" "reward",
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"1" "1"
] ]
}, },
@@ -185,21 +185,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"reward" "reward",
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"1" "1"
] ]
}, },
@@ -91,21 +91,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"reward" "reward",
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"2" "2"
] ]
}, },
@@ -160,21 +160,7 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"my7TVEmote" "my7TVEmote",
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"hi" "hi"
] ]
}, },
@@ -148,96 +148,12 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"hi" "hi",
] "this",
}, "is",
{ "an",
"color": "Text", "announcement",
"flags": "Text", "from",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"this"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"is"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"an"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"announcement"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"from"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"1" "1"
] ]
}, },
@@ -67,81 +67,11 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"gifted" "gifted",
] "a",
}, "Tier",
{ "1",
"color": "System", "sub",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"a"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Tier"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"1"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"sub"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"to" "to"
] ]
}, },
@@ -175,141 +105,15 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"!" "!",
] "This",
}, "is",
{ "their",
"color": "System", "first",
"flags": "Text", "Gift",
"link": { "Sub",
"type": "None", "in",
"value": "" "the",
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"This"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"is"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"their"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"first"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Gift"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Sub"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"in"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"the"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"channel!" "channel!"
] ]
} }
@@ -67,66 +67,10 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"just" "just",
] "subscribed",
}, "with",
{ "Twitch",
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"subscribed"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"with"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Twitch"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Prime!" "Prime!"
] ]
} }
@@ -67,81 +67,11 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"gifted" "gifted",
] "a",
}, "Tier",
{ "1",
"color": "System", "sub",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"a"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Tier"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"1"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"sub"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"to" "to"
] ]
}, },
@@ -150,81 +150,11 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"Great" "Great",
] "stream",
}, "--",
{ "keep",
"color": "Text", "it",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"stream"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"--"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"keep"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"it"
]
},
{
"color": "Text",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"up!" "up!"
] ]
}, },
@@ -319,66 +249,10 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"has" "has",
] "subscribed",
}, "for",
{ "6",
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"subscribed"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"for"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"6"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"months!" "months!"
] ]
} }
@@ -49,171 +49,17 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"An" "An",
] "anonymous",
}, "user",
{ "gifted",
"color": "System", "6",
"flags": "Text", "months",
"link": { "of",
"type": "None", "a",
"value": "" "Tier",
}, "1",
"style": "ChatMedium", "sub",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"anonymous"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"user"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"gifted"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"6"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"months"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"of"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"a"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Tier"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"1"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"sub"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"to" "to"
] ]
}, },
@@ -67,126 +67,14 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"gifted" "gifted",
] "6",
}, "months",
{ "of",
"color": "System", "a",
"flags": "Text", "Tier",
"link": { "1",
"type": "None", "sub",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"6"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"months"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"of"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"a"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Tier"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"1"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"sub"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"to" "to"
] ]
}, },
@@ -220,111 +108,13 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"!" "!",
] "They've",
}, "gifted",
{ "334",
"color": "System", "months",
"flags": "Text", "in",
"link": { "the",
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"They've"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"gifted"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"334"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"months"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"in"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"the"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"channel." "channel."
] ]
} }
@@ -67,126 +67,14 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"gifted" "gifted",
] "12",
}, "months",
{ "of",
"color": "System", "a",
"flags": "Text", "Tier",
"link": { "1",
"type": "None", "sub",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"12"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"months"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"of"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"a"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Tier"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"1"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"sub"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"to" "to"
] ]
}, },
@@ -67,216 +67,20 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"subscribed" "subscribed",
] "at",
}, "Tier",
{ "3",
"color": "System", "for",
"flags": "Text", "6",
"link": { "months",
"type": "None", "in",
"value": "" "advance,",
}, "reaching",
"style": "ChatMedium", "9",
"tooltip": "", "months",
"trailingSpace": true, "cumulatively",
"type": "TextElement", "so",
"words": [
"at"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Tier"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"3"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"for"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"6"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"months"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"in"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"advance,"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"reaching"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"9"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"months"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"cumulatively"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"so"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"far!" "far!"
] ]
} }
@@ -67,126 +67,14 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"subscribed" "subscribed",
] "at",
}, "Tier",
{ "1",
"color": "System", "for",
"flags": "Text", "6",
"link": { "months",
"type": "None", "in",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"at"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Tier"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"1"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"for"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"6"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"months"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"in"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"advance!" "advance!"
] ]
} }
@@ -67,96 +67,12 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"just" "just",
] "subscribed",
}, "with",
{ "a",
"color": "System", "Tier",
"flags": "Text", "2",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"subscribed"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"with"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"a"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"Tier"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"2"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"sub." "sub."
] ]
}, },
@@ -190,96 +106,12 @@
"trailingSpace": true, "trailingSpace": true,
"type": "TextElement", "type": "TextElement",
"words": [ "words": [
"subscribed" "subscribed",
] "for",
}, "12",
{ "months",
"color": "System", "in",
"flags": "Text", "a",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"for"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"12"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"months"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"in"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"a"
]
},
{
"color": "System",
"flags": "Text",
"link": {
"type": "None",
"value": ""
},
"style": "ChatMedium",
"tooltip": "",
"trailingSpace": true,
"type": "TextElement",
"words": [
"row!" "row!"
] ]
} }