refactor: rename Badge to TwitchBadge (#6706)

this change is made to clarify that the previously-called Badge object
is actually specialized for Twitch badges
This commit is contained in:
pajlada
2026-01-04 12:52:02 +01:00
committed by GitHub
parent 7fed720d18
commit 18e3d7c72b
190 changed files with 1058 additions and 1049 deletions
+4 -4
View File
@@ -95,8 +95,8 @@ ContextMap buildContextMap(const MessagePtr &m, chatterino::Channel *channel)
using MessageFlag = chatterino::MessageFlag; using MessageFlag = chatterino::MessageFlag;
QStringList badges; QStringList badges;
badges.reserve(m->badges.size()); badges.reserve(m->twitchBadges.size());
for (const auto &e : m->badges) for (const auto &e : m->twitchBadges)
{ {
badges << e.key_; badges << e.key_;
} }
@@ -114,9 +114,9 @@ ContextMap buildContextMap(const MessagePtr &m, chatterino::Channel *channel)
continue; continue;
} }
subscribed = true; subscribed = true;
if (m->badgeInfos.find(subBadge) != m->badgeInfos.end()) if (m->twitchBadgeInfos.find(subBadge) != m->twitchBadgeInfos.end())
{ {
subLength = m->badgeInfos.at(subBadge).toInt(); subLength = m->twitchBadgeInfos.at(subBadge).toInt();
} }
} }
ContextMap vars = { ContextMap vars = {
@@ -73,7 +73,7 @@ bool HighlightBadge::hasSound() const
return this->hasSound_; return this->hasSound_;
} }
bool HighlightBadge::isMatch(const Badge &badge) const bool HighlightBadge::isMatch(const TwitchBadge &badge) const
{ {
if (this->isMulti_) if (this->isMulti_)
{ {
@@ -92,7 +92,7 @@ bool HighlightBadge::isMatch(const Badge &badge) const
} }
} }
bool HighlightBadge::compare(const QString &id, const Badge &badge) const bool HighlightBadge::compare(const QString &id, const TwitchBadge &badge) const
{ {
if (this->hasVersions_) if (this->hasVersions_)
{ {
@@ -12,7 +12,7 @@
namespace chatterino { namespace chatterino {
class Badge; class TwitchBadge;
class HighlightBadge class HighlightBadge
{ {
@@ -32,7 +32,7 @@ public:
bool showInMentions() const; bool showInMentions() const;
bool hasAlert() const; bool hasAlert() const;
bool hasSound() const; bool hasSound() const;
bool isMatch(const Badge &badge) const; bool isMatch(const TwitchBadge &badge) const;
/** /**
* @brief Check if this highlight phrase has a custom sound set. * @brief Check if this highlight phrase has a custom sound set.
@@ -55,7 +55,7 @@ public:
static QColor FALLBACK_HIGHLIGHT_COLOR; static QColor FALLBACK_HIGHLIGHT_COLOR;
private: private:
bool compare(const QString &id, const Badge &badge) const; bool compare(const QString &id, const TwitchBadge &badge) const;
QString badgeName_; QString badgeName_;
QString displayName_; QString displayName_;
@@ -13,16 +13,17 @@ namespace chatterino {
struct HighlightResult; struct HighlightResult;
struct MessageParseArgs; struct MessageParseArgs;
class Badge; class TwitchBadge;
enum class MessageFlag : std::int64_t; enum class MessageFlag : std::int64_t;
using MessageFlags = FlagsEnum<MessageFlag>; using MessageFlags = FlagsEnum<MessageFlag>;
struct HighlightCheck { struct HighlightCheck {
using Checker = std::function<std::optional<HighlightResult>( using Checker = std::function<std::optional<HighlightResult>(
const MessageParseArgs &args, const std::vector<Badge> &badges, const MessageParseArgs &args,
const QString &senderName, const QString &originalMessage, const std::vector<TwitchBadge> &twitchBadges, const QString &senderName,
const MessageFlags &messageFlags, bool self)>; const QString &originalMessage, const MessageFlags &messageFlags,
bool self)>;
Checker cb; Checker cb;
}; };
@@ -21,12 +21,12 @@ using namespace chatterino;
auto highlightPhraseCheck(const HighlightPhrase &highlight) -> HighlightCheck auto highlightPhraseCheck(const HighlightPhrase &highlight) -> HighlightCheck
{ {
return HighlightCheck{ return HighlightCheck{
[highlight](const auto &args, const auto &badges, [highlight](const auto &args, const auto &twitchBadges,
const auto &senderName, const auto &originalMessage, const auto &senderName, const auto &originalMessage,
const auto &flags, const auto &flags,
const auto self) -> std::optional<HighlightResult> { const auto self) -> std::optional<HighlightResult> {
(void)args; // unused (void)args; // unused
(void)badges; // unused (void)twitchBadges; // unused
(void)senderName; // unused (void)senderName; // unused
(void)flags; // unused (void)flags; // unused
@@ -72,10 +72,11 @@ void rebuildSubscriptionHighlights(Settings &settings,
// The custom sub highlight color is handled in ColorProvider // The custom sub highlight color is handled in ColorProvider
checks.emplace_back(HighlightCheck{ checks.emplace_back(HighlightCheck{
[=](const auto &args, const auto &badges, const auto &senderName, [=](const auto &args, const auto &twitchBadges,
const auto &originalMessage, const auto &flags, const auto &senderName, const auto &originalMessage,
const auto &flags,
const auto self) -> std::optional<HighlightResult> { const auto self) -> std::optional<HighlightResult> {
(void)badges; // unused (void)twitchBadges; // unused
(void)senderName; // unused (void)senderName; // unused
(void)originalMessage; // unused (void)originalMessage; // unused
(void)flags; // unused (void)flags; // unused
@@ -118,10 +119,11 @@ void rebuildWhisperHighlights(Settings &settings,
// The custom whisper highlight color is handled in ColorProvider // The custom whisper highlight color is handled in ColorProvider
checks.emplace_back(HighlightCheck{ checks.emplace_back(HighlightCheck{
[=](const auto &args, const auto &badges, const auto &senderName, [=](const auto &args, const auto &twitchBadges,
const auto &originalMessage, const auto &flags, const auto &senderName, const auto &originalMessage,
const auto &flags,
const auto self) -> std::optional<HighlightResult> { const auto self) -> std::optional<HighlightResult> {
(void)badges; // unused (void)twitchBadges; // unused
(void)senderName; // unused (void)senderName; // unused
(void)originalMessage; // unused (void)originalMessage; // unused
(void)flags; // unused (void)flags; // unused
@@ -160,7 +162,7 @@ void rebuildReplyThreadHighlight(Settings &settings,
auto highlightInMentions = auto highlightInMentions =
settings.showThreadHighlightInMentions.getValue(); settings.showThreadHighlightInMentions.getValue();
checks.emplace_back(HighlightCheck{ checks.emplace_back(HighlightCheck{
[=](const auto & /*args*/, const auto & /*badges*/, [=](const auto & /*args*/, const auto & /*twitchBadges*/,
const auto & /*senderName*/, const auto & /*originalMessage*/, const auto & /*senderName*/, const auto & /*originalMessage*/,
const auto &flags, const auto &flags,
const auto self) -> std::optional<HighlightResult> { const auto self) -> std::optional<HighlightResult> {
@@ -218,7 +220,7 @@ void rebuildMessageHighlights(Settings &settings,
ColorProvider::instance().color(ColorType::AutomodHighlight); ColorProvider::instance().color(ColorType::AutomodHighlight);
checks.emplace_back(HighlightCheck{ checks.emplace_back(HighlightCheck{
[=](const auto & /*args*/, const auto & /*badges*/, [=](const auto & /*args*/, const auto & /*twitchBadges*/,
const auto & /*senderName*/, const auto & /*originalMessage*/, const auto & /*senderName*/, const auto & /*originalMessage*/,
const auto &flags, const auto &flags,
const auto /*self*/) -> std::optional<HighlightResult> { const auto /*self*/) -> std::optional<HighlightResult> {
@@ -255,11 +257,12 @@ void rebuildUserHighlights(Settings &settings,
checks.emplace_back(HighlightCheck{ checks.emplace_back(HighlightCheck{
[showInMentions]( [showInMentions](
const auto &args, const auto &badges, const auto &senderName, const auto &args, const auto &twitchBadges,
const auto &originalMessage, const auto &flags, const auto &senderName, const auto &originalMessage,
const auto &flags,
const auto self) -> std::optional<HighlightResult> { const auto self) -> std::optional<HighlightResult> {
(void)args; //unused (void)args; //unused
(void)badges; //unused (void)twitchBadges; //unused
(void)senderName; //unused (void)senderName; //unused
(void)flags; //unused (void)flags; //unused
(void)originalMessage; //unused (void)originalMessage; //unused
@@ -281,12 +284,12 @@ void rebuildUserHighlights(Settings &settings,
for (const auto &highlight : *userHighlights) for (const auto &highlight : *userHighlights)
{ {
checks.emplace_back(HighlightCheck{ checks.emplace_back(HighlightCheck{
[highlight](const auto &args, const auto &badges, [highlight](const auto &args, const auto &twitchBadges,
const auto &senderName, const auto &originalMessage, const auto &senderName, const auto &originalMessage,
const auto &flags, const auto &flags,
const auto self) -> std::optional<HighlightResult> { const auto self) -> std::optional<HighlightResult> {
(void)args; // unused (void)args; // unused
(void)badges; // unused (void)twitchBadges; // unused
(void)originalMessage; // unused (void)originalMessage; // unused
(void)flags; // unused (void)flags; // unused
(void)self; // unused (void)self; // unused
@@ -321,7 +324,7 @@ void rebuildBadgeHighlights(Settings &settings,
for (const auto &highlight : *badgeHighlights) for (const auto &highlight : *badgeHighlights)
{ {
checks.emplace_back(HighlightCheck{ checks.emplace_back(HighlightCheck{
[highlight](const auto &args, const auto &badges, [highlight](const auto &args, const auto &twitchBadges,
const auto &senderName, const auto &originalMessage, const auto &senderName, const auto &originalMessage,
const auto &flags, const auto &flags,
const auto self) -> std::optional<HighlightResult> { const auto self) -> std::optional<HighlightResult> {
@@ -331,7 +334,7 @@ void rebuildBadgeHighlights(Settings &settings,
(void)flags; // unused (void)flags; // unused
(void)self; // unused (void)self; // unused
for (const Badge &badge : badges) for (const TwitchBadge &badge : twitchBadges)
{ {
if (highlight.isMatch(badge)) if (highlight.isMatch(badge))
{ {
@@ -460,7 +463,7 @@ void HighlightController::rebuildChecks(Settings &settings)
} }
std::pair<bool, HighlightResult> HighlightController::check( std::pair<bool, HighlightResult> HighlightController::check(
const MessageParseArgs &args, const std::vector<Badge> &badges, const MessageParseArgs &args, const std::vector<TwitchBadge> &twitchBadges,
const QString &senderName, const QString &originalMessage, const QString &senderName, const QString &originalMessage,
const MessageFlags &messageFlags) const const MessageFlags &messageFlags) const
{ {
@@ -475,7 +478,7 @@ std::pair<bool, HighlightResult> HighlightController::check(
for (const auto &check : *checks) for (const auto &check : *checks)
{ {
if (auto checkResult = check.cb(args, badges, senderName, if (auto checkResult = check.cb(args, twitchBadges, senderName,
originalMessage, messageFlags, self); originalMessage, messageFlags, self);
checkResult) checkResult)
{ {
@@ -8,18 +8,17 @@
#include <boost/signals2/connection.hpp> #include <boost/signals2/connection.hpp>
#include <pajlada/settings.hpp> #include <pajlada/settings.hpp>
#include <pajlada/settings/settinglistener.hpp> #include <pajlada/settings/settinglistener.hpp>
#include <pajlada/signals/signalholder.hpp>
#include <QColor> #include <QColor>
#include <QUrl> #include <QUrl>
#include <cstdint> #include <cstdint>
#include <functional>
#include <memory>
#include <optional>
#include <utility> #include <utility>
#include <vector>
namespace chatterino { namespace chatterino {
class Badge; class TwitchBadge;
struct MessageParseArgs; struct MessageParseArgs;
class AccountController; class AccountController;
enum class MessageFlag : std::int64_t; enum class MessageFlag : std::int64_t;
@@ -34,9 +33,9 @@ public:
* @brief Checks the given message parameters if it matches our internal checks, and returns a result * @brief Checks the given message parameters if it matches our internal checks, and returns a result
**/ **/
[[nodiscard]] std::pair<bool, HighlightResult> check( [[nodiscard]] std::pair<bool, HighlightResult> check(
const MessageParseArgs &args, const std::vector<Badge> &badges, const MessageParseArgs &args,
const QString &senderName, const QString &originalMessage, const std::vector<TwitchBadge> &twitchBadges, const QString &senderName,
const MessageFlags &messageFlags) const; const QString &originalMessage, const MessageFlags &messageFlags) const;
private: private:
/** /**
+8 -8
View File
@@ -118,19 +118,19 @@ QJsonObject Message::toJson() const
{"frozen"_L1, this->frozen}, {"frozen"_L1, this->frozen},
}; };
QJsonArray badges; QJsonArray twitchBadges;
for (const auto &badge : this->badges) for (const auto &badge : this->twitchBadges)
{ {
badges.append(badge.key_); twitchBadges.append(badge.key_);
} }
msg["badges"_L1] = badges; msg["twitchBadges"_L1] = twitchBadges;
QJsonObject badgeInfos; QJsonObject twitchBadgeInfos;
for (const auto &[key, value] : this->badgeInfos) for (const auto &[key, value] : this->twitchBadgeInfos)
{ {
badgeInfos.insert(key, value); twitchBadgeInfos.insert(key, value);
} }
msg["badgeInfos"_L1] = badgeInfos; msg["twitchBadgeInfos"_L1] = twitchBadgeInfos;
if (this->highlightColor) if (this->highlightColor)
{ {
+8 -3
View File
@@ -17,7 +17,7 @@ class QJsonObject;
namespace chatterino { namespace chatterino {
class MessageElement; class MessageElement;
class MessageThread; class MessageThread;
class Badge; class TwitchBadge;
class ScrollbarHighlight; class ScrollbarHighlight;
struct Message; struct Message;
@@ -54,8 +54,13 @@ struct Message {
QString channelName; QString channelName;
QColor usernameColor; QColor usernameColor;
QDateTime serverReceivedTime; QDateTime serverReceivedTime;
std::vector<Badge> badges;
std::unordered_map<QString, QString> badgeInfos; /// List of Twitch badges associated with this message
std::vector<TwitchBadge> twitchBadges;
/// Map of extra data associated with each Twitch badge
std::unordered_map<QString, QString> twitchBadgeInfos;
std::shared_ptr<QColor> highlightColor; std::shared_ptr<QColor> highlightColor;
// Each reply holds a reference to the thread. When every reply is dropped, // Each reply holds a reference to the thread. When every reply is dropped,
// the reply thread will be cleaned up by the TwitchChannel. // the reply thread will be cleaned up by the TwitchChannel.
+8 -7
View File
@@ -236,7 +236,7 @@ QString stylizeUsername(const QString &username, const Message &message)
return usernameText; return usernameText;
} }
std::optional<EmotePtr> getTwitchBadge(const Badge &badge, std::optional<EmotePtr> getTwitchBadge(const TwitchBadge &badge,
const TwitchChannel *twitchChannel) const TwitchChannel *twitchChannel)
{ {
if (auto channelBadge = if (auto channelBadge =
@@ -254,7 +254,8 @@ std::optional<EmotePtr> getTwitchBadge(const Badge &badge,
return std::nullopt; return std::nullopt;
} }
void appendBadges(MessageBuilder *builder, const std::vector<Badge> &badges, void appendBadges(MessageBuilder *builder,
const std::vector<TwitchBadge> &badges,
const std::unordered_map<QString, QString> &badgeInfos, const std::unordered_map<QString, QString> &badgeInfos,
const TwitchChannel *twitchChannel) const TwitchChannel *twitchChannel)
{ {
@@ -344,15 +345,15 @@ void appendBadges(MessageBuilder *builder, const std::vector<Badge> &badges,
->setTooltip(tooltip); ->setTooltip(tooltip);
} }
builder->message().badges = badges; builder->message().twitchBadges = badges;
builder->message().badgeInfos = badgeInfos; builder->message().twitchBadgeInfos = badgeInfos;
} }
std::vector<Badge> appendSharedChatBadges( std::vector<TwitchBadge> appendSharedChatBadges(
MessageBuilder *builder, const std::vector<Badge> &sharedBadges, MessageBuilder *builder, const std::vector<TwitchBadge> &sharedBadges,
const QString &sharedChannelName, const TwitchChannel *twitchChannel) const QString &sharedChannelName, const TwitchChannel *twitchChannel)
{ {
auto appendedBadges = std::vector<Badge>{}; auto appendedBadges = std::vector<TwitchBadge>{};
for (const auto &badge : sharedBadges) for (const auto &badge : sharedBadges)
{ {
if (badge.key_ != "moderator" && badge.key_ != "vip") if (badge.key_ != "moderator" && badge.key_ != "vip")
+1 -1
View File
@@ -33,7 +33,7 @@ BadgePredicate::BadgePredicate(const QString &badges, bool negate)
bool BadgePredicate::appliesToImpl(const Message &message) bool BadgePredicate::appliesToImpl(const Message &message)
{ {
for (const Badge &badge : message.badges) for (const TwitchBadge &badge : message.twitchBadges)
{ {
if (this->badges_.contains(badge.key_, Qt::CaseInsensitive)) if (this->badges_.contains(badge.key_, Qt::CaseInsensitive))
{ {
+1 -1
View File
@@ -17,7 +17,7 @@ SubtierPredicate::SubtierPredicate(const QString &subtiers, bool negate)
bool SubtierPredicate::appliesToImpl(const Message &message) bool SubtierPredicate::appliesToImpl(const Message &message)
{ {
for (const Badge &badge : message.badges) for (const TwitchBadge &badge : message.twitchBadges)
{ {
if (badge.key_ == "subscriber") if (badge.key_ == "subscriber")
{ {
+2 -2
View File
@@ -12,7 +12,7 @@ const QSet<QString> channelAuthority{"lead_moderator", "moderator", "vip",
"broadcaster"}; "broadcaster"};
const QSet<QString> subBadges{"subscriber", "founder"}; const QSet<QString> subBadges{"subscriber", "founder"};
Badge::Badge(QString key, QString value) TwitchBadge::TwitchBadge(QString key, QString value)
: key_(std::move(key)) : key_(std::move(key))
, value_(std::move(value)) , value_(std::move(value))
{ {
@@ -34,7 +34,7 @@ Badge::Badge(QString key, QString value)
} }
} }
bool Badge::operator==(const Badge &other) const bool TwitchBadge::operator==(const TwitchBadge &other) const
{ {
return this->key_ == other.key_ && this->value_ == other.value_; return this->key_ == other.key_ && this->value_ == other.value_;
} }
+3 -3
View File
@@ -6,12 +6,12 @@
namespace chatterino { namespace chatterino {
class Badge class TwitchBadge
{ {
public: public:
Badge(QString key, QString value); TwitchBadge(QString key, QString value);
bool operator==(const Badge &other) const; bool operator==(const TwitchBadge &other) const;
// Class members are fetched from both "badges" and "badge-info" tags // Class members are fetched from both "badges" and "badge-info" tags
// E.g.: "badges": "subscriber/18", "badge-info": "subscriber/22" // E.g.: "badges": "subscriber/18", "badge-info": "subscriber/22"
+3 -3
View File
@@ -106,10 +106,10 @@ std::unordered_map<QString, QString> parseBadgeInfoTag(const QVariantMap &tags)
return infoMap; return infoMap;
} }
std::vector<Badge> parseBadgeTag(const QVariantMap &tags, std::vector<TwitchBadge> parseBadgeTag(const QVariantMap &tags,
const QString &tagName) const QString &tagName)
{ {
std::vector<Badge> b; std::vector<TwitchBadge> b;
auto badgesIt = tags.constFind(tagName); auto badgesIt = tags.constFind(tagName);
if (badgesIt == tags.end()) if (badgesIt == tags.end())
@@ -127,7 +127,7 @@ std::vector<Badge> parseBadgeTag(const QVariantMap &tags,
} }
auto pair = slashKeyValue(badge); auto pair = slashKeyValue(badge);
b.emplace_back(Badge{pair.first, pair.second}); b.emplace_back(TwitchBadge{pair.first, pair.second});
} }
return b; return b;
+1 -1
View File
@@ -47,7 +47,7 @@ std::unordered_map<QString, QString> parseBadgeInfoTag(const QVariantMap &tags);
/// @param tags The tags of the IRC message /// @param tags The tags of the IRC message
/// @param tagName The name of the tag to read badges from /// @param tagName The name of the tag to read badges from
/// @returns A list of badges (name and version) /// @returns A list of badges (name and version)
std::vector<Badge> parseBadgeTag(const QVariantMap &tags, std::vector<TwitchBadge> parseBadgeTag(const QVariantMap &tags,
const QString &tagName = "badges"); const QString &tagName = "badges");
/// @brief Parses Twitch emotes in an IRC message /// @brief Parses Twitch emotes in an IRC message
@@ -34,10 +34,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -145,14 +141,14 @@
"searchText": "AutoMod: Held a message for reason: swearing level 4. Allow will post it in chat. Allow Deny", "searchText": "AutoMod: Held a message for reason: swearing level 4. Allow will post it in chat. Allow Deny",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -252,6 +248,10 @@
"searchText": "nerixyz: ass", "searchText": "nerixyz: ass",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -44,10 +44,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -157,14 +153,14 @@
"searchText": "AutoMod: Held a message for reason: matches 1 blocked term \"🍋‍🟩blockedterm😂\". Allow will post it in chat. Allow Deny", "searchText": "AutoMod: Held a message for reason: matches 1 blocked term \"🍋‍🟩blockedterm😂\". Allow will post it in chat. Allow Deny",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -266,6 +262,10 @@
"searchText": "nerixyz: 😂 😂 🍋‍🟩blockedterm😂", "searchText": "nerixyz: 😂 😂 🍋‍🟩blockedterm😂",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -38,10 +38,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -151,14 +147,14 @@
"searchText": "AutoMod: Held a message for reason: matches 1 blocked term \"blockedterm\". Allow will post it in chat. Allow Deny", "searchText": "AutoMod: Held a message for reason: matches 1 blocked term \"blockedterm\". Allow will post it in chat. Allow Deny",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -258,6 +254,10 @@
"searchText": "nerixyz: blockedterm", "searchText": "nerixyz: blockedterm",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -88,10 +88,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -203,14 +199,14 @@
"searchText": "AutoMod: Held a message for reason: matches 3 blocked terms \"🍋‍🟩\", \"blockedterm\", \"🍩\". Allow will post it in chat. Allow Deny", "searchText": "AutoMod: Held a message for reason: matches 3 blocked terms \"🍋‍🟩\", \"blockedterm\", \"🍩\". Allow will post it in chat. Allow Deny",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -316,6 +312,10 @@
"searchText": "nerixyz: 😂 😂 🍋‍🟩 blockedterm 😂 🍩", "searchText": "nerixyz: 😂 😂 🍋‍🟩 blockedterm 😂 🍩",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -34,10 +34,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -145,14 +141,14 @@
"searchText": "AutoMod: Held a message for reason: swearing level 4. Allow will post it in chat. Allow Deny", "searchText": "AutoMod: Held a message for reason: swearing level 4. Allow will post it in chat. Allow Deny",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -252,6 +248,10 @@
"searchText": "testaccount_420(테스트계정420): ass", "searchText": "testaccount_420(테스트계정420): ass",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -74,10 +74,6 @@
], ],
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -185,14 +181,14 @@
"searchText": "AutoMod: Held a message for reason: swearing level 4. Allow will post it in chat. Allow Deny", "searchText": "AutoMod: Held a message for reason: swearing level 4. Allow will post it in chat. Allow Deny",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -292,6 +288,10 @@
"searchText": "nerixyz: ass", "searchText": "nerixyz: ass",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -74,10 +74,6 @@
], ],
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -185,14 +181,14 @@
"searchText": "AutoMod: Held a message for reason: swearing level 4. Allow will post it in chat. Allow Deny", "searchText": "AutoMod: Held a message for reason: swearing level 4. Allow will post it in chat. Allow Deny",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -292,6 +288,10 @@
"searchText": "nerixyz: ass", "searchText": "nerixyz: ass",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -74,10 +74,6 @@
], ],
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -185,14 +181,14 @@
"searchText": "AutoMod: Held a message for reason: swearing level 4. Allow will post it in chat. Allow Deny", "searchText": "AutoMod: Held a message for reason: swearing level 4. Allow will post it in chat. Allow Deny",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -292,6 +288,10 @@
"searchText": "nerixyz: ass", "searchText": "nerixyz: ass",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -21,10 +21,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -99,6 +95,10 @@
"searchText": "AutoMod: Hey! Your message is being checked by mods and has not been sent.", "searchText": "AutoMod: Hey! Your message is being checked by mods and has not been sent.",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -22,10 +22,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -92,6 +88,10 @@
"searchText": "AutoMod: Mods have accepted your message.", "searchText": "AutoMod: Mods have accepted your message.",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -28,10 +28,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -98,6 +94,10 @@
"searchText": "AutoMod: Mods have denied your message.", "searchText": "AutoMod: Mods have denied your message.",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -43,10 +43,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -201,6 +197,10 @@
"searchText": "nerixyz added \"my phrase\", \"two\", and \"three\" as blocked terms on AutoMod. ", "searchText": "nerixyz added \"my phrase\", \"two\", and \"three\" as blocked terms on AutoMod. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -41,10 +41,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -211,6 +207,10 @@
"searchText": "nerixyz added \"my phrase\" as a blocked term on AutoMod. ", "searchText": "nerixyz added \"my phrase\" as a blocked term on AutoMod. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -42,10 +42,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -199,6 +195,10 @@
"searchText": "nerixyz added \"my phrase\" and \"two\" as permitted terms on AutoMod. ", "searchText": "nerixyz added \"my phrase\" and \"two\" as permitted terms on AutoMod. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -41,10 +41,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -211,6 +207,10 @@
"searchText": "nerixyz added \"my phrase\" as a permitted term on AutoMod. ", "searchText": "nerixyz added \"my phrase\" as a permitted term on AutoMod. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -39,10 +39,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -166,6 +162,10 @@
"searchText": "nerixyz banned uint128: my reason ", "searchText": "nerixyz banned uint128: my reason ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "uint128", "timeoutUser": "uint128",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -120,10 +120,6 @@
], ],
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 2, "count": 2,
"displayName": "", "displayName": "",
@@ -229,14 +225,14 @@
"searchText": "nerixyz banned uint128: my reason (2 times) ", "searchText": "nerixyz banned uint128: my reason (2 times) ",
"serverReceivedTime": "2025-02-22T17:53:50Z", "serverReceivedTime": "2025-02-22T17:53:50Z",
"timeoutUser": "uint128", "timeoutUser": "uint128",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -360,6 +356,10 @@
"searchText": "nerixyz banned uint128: my reason ", "searchText": "nerixyz banned uint128: my reason ",
"serverReceivedTime": "2025-02-22T17:54:50Z", "serverReceivedTime": "2025-02-22T17:54:50Z",
"timeoutUser": "uint128", "timeoutUser": "uint128",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -120,10 +120,6 @@
], ],
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 2, "count": 2,
"displayName": "", "displayName": "",
@@ -227,14 +223,14 @@
"searchText": "nerixyz banned uint128. (2 times) ", "searchText": "nerixyz banned uint128. (2 times) ",
"serverReceivedTime": "2025-02-22T17:53:50Z", "serverReceivedTime": "2025-02-22T17:53:50Z",
"timeoutUser": "uint128", "timeoutUser": "uint128",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -342,6 +338,10 @@
"searchText": "nerixyz banned uint128. ", "searchText": "nerixyz banned uint128. ",
"serverReceivedTime": "2025-02-22T17:54:50Z", "serverReceivedTime": "2025-02-22T17:54:50Z",
"timeoutUser": "uint128", "timeoutUser": "uint128",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -39,10 +39,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -150,6 +146,10 @@
"searchText": "nerixyz banned uint128. ", "searchText": "nerixyz banned uint128. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "uint128", "timeoutUser": "uint128",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -34,10 +34,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -114,6 +110,10 @@
"searchText": "nerixyz cleared the chat. ", "searchText": "nerixyz cleared the chat. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "nerixyz", "timeoutUser": "nerixyz",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -40,10 +40,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -168,6 +164,10 @@
"searchText": "testaccount_420 deleted message from testaccount_420 saying: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…", "searchText": "testaccount_420 deleted message from testaccount_420 saying: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "testaccount_420", "timeoutUser": "testaccount_420",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -40,10 +40,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -168,6 +164,10 @@
"searchText": "testaccount_420 deleted message from testaccount_420 saying: asd", "searchText": "testaccount_420 deleted message from testaccount_420 saying: asd",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "testaccount_420", "timeoutUser": "testaccount_420",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -34,10 +34,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -157,6 +153,10 @@
"searchText": "nerixyz turned off emote-only mode. ", "searchText": "nerixyz turned off emote-only mode. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -34,10 +34,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -157,6 +153,10 @@
"searchText": "nerixyz turned on emote-only mode. ", "searchText": "nerixyz turned on emote-only mode. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -36,10 +36,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -159,6 +155,10 @@
"searchText": "nerixyz turned on followers-only mode. ", "searchText": "nerixyz turned on followers-only mode. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -34,10 +34,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -157,6 +153,10 @@
"searchText": "nerixyz turned off followers-only mode. ", "searchText": "nerixyz turned off followers-only mode. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -36,10 +36,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -175,6 +171,10 @@
"searchText": "nerixyz turned on followers-only mode. (15 minutes) ", "searchText": "nerixyz turned on followers-only mode. (15 minutes) ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -38,10 +38,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -149,6 +145,10 @@
"searchText": "uint128 modded forsen. ", "searchText": "uint128 modded forsen. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -39,10 +39,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -153,6 +149,10 @@
"searchText": "pajlada initiated a raid to bajlada. ", "searchText": "pajlada initiated a raid to bajlada. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -44,10 +44,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -203,6 +199,10 @@
"searchText": "nerixyz removed \"my phrase\", \"term\", \"wow\", and \"🥲\" as blocked terms on AutoMod. ", "searchText": "nerixyz removed \"my phrase\", \"term\", \"wow\", and \"🥲\" as blocked terms on AutoMod. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -41,10 +41,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -211,6 +207,10 @@
"searchText": "nerixyz removed \"my phrase\" as a blocked term on AutoMod. ", "searchText": "nerixyz removed \"my phrase\" as a blocked term on AutoMod. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -41,10 +41,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -211,6 +207,10 @@
"searchText": "nerixyz removed \"my phrase\" as a permitted term on AutoMod. ", "searchText": "nerixyz removed \"my phrase\" as a permitted term on AutoMod. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -41,10 +41,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -211,6 +207,10 @@
"searchText": "nerixyz removed \"my phrase\" as a permitted term on AutoMod. ", "searchText": "nerixyz removed \"my phrase\" as a permitted term on AutoMod. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -39,10 +39,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "testaccount_420", "channelName": "testaccount_420",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -200,6 +196,10 @@
"searchText": "nerixyz banned twitchdev in testaccount_420: a reason 😂 ", "searchText": "nerixyz banned twitchdev in testaccount_420: a reason 😂 ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -120,10 +120,6 @@
], ],
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "testaccount_420", "channelName": "testaccount_420",
"count": 2, "count": 2,
"displayName": "", "displayName": "",
@@ -257,14 +253,14 @@
"searchText": "nerixyz banned twitchdev in testaccount_420. (2 times) ", "searchText": "nerixyz banned twitchdev in testaccount_420. (2 times) ",
"serverReceivedTime": "2025-02-22T17:54:05Z", "serverReceivedTime": "2025-02-22T17:54:05Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "forsen", "channelName": "forsen",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -405,6 +401,10 @@
"searchText": "nerixyz banned twitchdev in forsen. ", "searchText": "nerixyz banned twitchdev in forsen. ",
"serverReceivedTime": "2025-02-22T17:54:06Z", "serverReceivedTime": "2025-02-22T17:54:06Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -120,10 +120,6 @@
], ],
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "testaccount_420", "channelName": "testaccount_420",
"count": 3, "count": 3,
"displayName": "", "displayName": "",
@@ -257,6 +253,10 @@
"searchText": "nerixyz banned twitchdev in testaccount_420. (3 times) ", "searchText": "nerixyz banned twitchdev in testaccount_420. (3 times) ",
"serverReceivedTime": "2025-02-22T17:54:06Z", "serverReceivedTime": "2025-02-22T17:54:06Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -39,10 +39,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "testaccount_420", "channelName": "testaccount_420",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -183,6 +179,10 @@
"searchText": "nerixyz banned twitchdev in testaccount_420. ", "searchText": "nerixyz banned twitchdev in testaccount_420. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -40,10 +40,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -201,6 +197,10 @@
"searchText": "testaccount_420 deleted message from testaccount_420 in bajlada saying: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…", "searchText": "testaccount_420 deleted message from testaccount_420 in bajlada saying: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "testaccount_420", "timeoutUser": "testaccount_420",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -40,10 +40,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -201,6 +197,10 @@
"searchText": "testaccount_420 deleted message from testaccount_420 in bajlada saying: dfg", "searchText": "testaccount_420 deleted message from testaccount_420 in bajlada saying: dfg",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "testaccount_420", "timeoutUser": "testaccount_420",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -163,10 +163,6 @@
], ],
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "testaccount_420", "channelName": "testaccount_420",
"count": 2, "count": 2,
"displayName": "", "displayName": "",
@@ -303,14 +299,14 @@
"searchText": "nerixyz timed out twitchdev for 10m in testaccount_420. (2 times) ", "searchText": "nerixyz timed out twitchdev for 10m in testaccount_420. (2 times) ",
"serverReceivedTime": "2025-02-22T17:54:05Z", "serverReceivedTime": "2025-02-22T17:54:05Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -443,14 +439,14 @@
"searchText": "nerixyz timed out twitchdev for 10m. ", "searchText": "nerixyz timed out twitchdev for 10m. ",
"serverReceivedTime": "2025-02-22T17:54:06Z", "serverReceivedTime": "2025-02-22T17:54:06Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "forsen", "channelName": "forsen",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -613,6 +609,10 @@
"searchText": "nerixyz timed out twitchdev for 10m in forsen. ", "searchText": "nerixyz timed out twitchdev for 10m in forsen. ",
"serverReceivedTime": "2025-02-22T17:54:07Z", "serverReceivedTime": "2025-02-22T17:54:07Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -123,10 +123,6 @@
], ],
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "testaccount_420", "channelName": "testaccount_420",
"count": 2, "count": 2,
"displayName": "", "displayName": "",
@@ -263,14 +259,14 @@
"searchText": "nerixyz timed out twitchdev for 10m in testaccount_420. (2 times) ", "searchText": "nerixyz timed out twitchdev for 10m in testaccount_420. (2 times) ",
"serverReceivedTime": "2025-02-22T17:54:05Z", "serverReceivedTime": "2025-02-22T17:54:05Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "forsen", "channelName": "forsen",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -433,6 +429,10 @@
"searchText": "nerixyz timed out twitchdev for 10m in forsen. ", "searchText": "nerixyz timed out twitchdev for 10m in forsen. ",
"serverReceivedTime": "2025-02-22T17:54:06Z", "serverReceivedTime": "2025-02-22T17:54:06Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -123,10 +123,6 @@
], ],
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "testaccount_420", "channelName": "testaccount_420",
"count": 2, "count": 2,
"displayName": "", "displayName": "",
@@ -263,14 +259,14 @@
"searchText": "nerixyz timed out twitchdev for 10m in testaccount_420. (2 times) ", "searchText": "nerixyz timed out twitchdev for 10m in testaccount_420. (2 times) ",
"serverReceivedTime": "2025-02-22T17:54:05Z", "serverReceivedTime": "2025-02-22T17:54:05Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -403,6 +399,10 @@
"searchText": "nerixyz timed out twitchdev for 10m. ", "searchText": "nerixyz timed out twitchdev for 10m. ",
"serverReceivedTime": "2025-02-22T17:54:06Z", "serverReceivedTime": "2025-02-22T17:54:06Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -41,10 +41,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "testaccount_420", "channelName": "testaccount_420",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -207,6 +203,10 @@
"searchText": "nerixyz timed out twitchdev for 10m in testaccount_420. ", "searchText": "nerixyz timed out twitchdev for 10m in testaccount_420. ",
"serverReceivedTime": "2025-02-22T17:54:04Z", "serverReceivedTime": "2025-02-22T17:54:04Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -38,10 +38,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -182,6 +178,10 @@
"searchText": "nerixyz unbanned uint128 in testaccount_420. ", "searchText": "nerixyz unbanned uint128 in testaccount_420. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "uint128", "timeoutUser": "uint128",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -38,10 +38,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -182,6 +178,10 @@
"searchText": "nerixyz untimedout uint128 in testaccount_420. ", "searchText": "nerixyz untimedout uint128 in testaccount_420. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "uint128", "timeoutUser": "uint128",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -34,10 +34,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -157,6 +153,10 @@
"searchText": "nerixyz turned off slow mode. ", "searchText": "nerixyz turned off slow mode. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -36,10 +36,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -175,6 +171,10 @@
"searchText": "nerixyz turned on slow mode. (10 seconds) ", "searchText": "nerixyz turned on slow mode. (10 seconds) ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -34,10 +34,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -157,6 +153,10 @@
"searchText": "nerixyz turned off subscribers-only mode. ", "searchText": "nerixyz turned off subscribers-only mode. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -34,10 +34,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -157,6 +153,10 @@
"searchText": "nerixyz turned on subscribers-only mode. ", "searchText": "nerixyz turned on subscribers-only mode. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -123,10 +123,6 @@
], ],
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 2, "count": 2,
"displayName": "", "displayName": "",
@@ -233,14 +229,14 @@
"searchText": "nerixyz timed out twitchdev for 1s: pajlada (2 times) ", "searchText": "nerixyz timed out twitchdev for 1s: pajlada (2 times) ",
"serverReceivedTime": "2025-02-22T17:53:50Z", "serverReceivedTime": "2025-02-22T17:53:50Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -388,6 +384,10 @@
"searchText": "nerixyz timed out twitchdev for 1s: pajlada ", "searchText": "nerixyz timed out twitchdev for 1s: pajlada ",
"serverReceivedTime": "2025-02-22T17:54:50Z", "serverReceivedTime": "2025-02-22T17:54:50Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -123,10 +123,6 @@
], ],
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 2, "count": 2,
"displayName": "", "displayName": "",
@@ -232,14 +228,14 @@
"searchText": "nerixyz timed out twitchdev for 1s. (2 times) ", "searchText": "nerixyz timed out twitchdev for 1s. (2 times) ",
"serverReceivedTime": "2025-02-22T17:53:50Z", "serverReceivedTime": "2025-02-22T17:53:50Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -372,6 +368,10 @@
"searchText": "nerixyz timed out twitchdev for 1s. ", "searchText": "nerixyz timed out twitchdev for 1s. ",
"serverReceivedTime": "2025-02-22T17:54:50Z", "serverReceivedTime": "2025-02-22T17:54:50Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -41,10 +41,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -192,6 +188,10 @@
"searchText": "nerixyz timed out twitchdev for 1s: test ", "searchText": "nerixyz timed out twitchdev for 1s: test ",
"serverReceivedTime": "2025-02-22T17:53:49Z", "serverReceivedTime": "2025-02-22T17:53:49Z",
"timeoutUser": "twitchdev", "timeoutUser": "twitchdev",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -40,10 +40,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -159,6 +155,10 @@
"searchText": "nerixyz approved the unban request from uint128: Ok you are unbanned ", "searchText": "nerixyz approved the unban request from uint128: Ok you are unbanned ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -40,10 +40,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -155,6 +151,10 @@
"searchText": "nerixyz approved the unban request from uint128. ", "searchText": "nerixyz approved the unban request from uint128. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -40,10 +40,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -160,6 +156,10 @@
"searchText": "nerixyz denied the unban request from uint128: Nah, no unban for you ", "searchText": "nerixyz denied the unban request from uint128: Nah, no unban for you ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -40,10 +40,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -155,6 +151,10 @@
"searchText": "nerixyz denied the unban request from uint128. ", "searchText": "nerixyz denied the unban request from uint128. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -38,10 +38,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -149,6 +145,10 @@
"searchText": "nerixyz unbanned uint128. ", "searchText": "nerixyz unbanned uint128. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "uint128", "timeoutUser": "uint128",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -34,10 +34,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -157,6 +153,10 @@
"searchText": "nerixyz turned off unique-chat mode. ", "searchText": "nerixyz turned off unique-chat mode. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -34,10 +34,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -157,6 +153,10 @@
"searchText": "nerixyz turned on unique-chat mode. ", "searchText": "nerixyz turned on unique-chat mode. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -38,10 +38,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -149,6 +145,10 @@
"searchText": "uint128 unmodded forsen. ", "searchText": "uint128 unmodded forsen. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -38,10 +38,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -152,6 +148,10 @@
"searchText": "pajlada canceled the raid to bajlada. ", "searchText": "pajlada canceled the raid to bajlada. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -38,10 +38,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -149,6 +145,10 @@
"searchText": "nerixyz untimedout uint128. ", "searchText": "nerixyz untimedout uint128. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "uint128", "timeoutUser": "uint128",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -39,10 +39,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -168,6 +164,10 @@
"searchText": "quotrok has warned twitchdev: cut it out ", "searchText": "quotrok has warned twitchdev: cut it out ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -39,10 +39,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -168,6 +164,10 @@
"searchText": "quotrok has warned twitchdev: cut it out ", "searchText": "quotrok has warned twitchdev: cut it out ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -27,10 +27,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -94,14 +90,14 @@
"searchText": "Suspicious User: Restricted", "searchText": "Suspicious User: Restricted",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -201,6 +197,10 @@
"searchText": "nerixyz: FeelsDankMan", "searchText": "nerixyz: FeelsDankMan",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -27,10 +27,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -99,14 +95,14 @@
"searchText": "Suspicious User: Restricted. Detected as possible ban evader", "searchText": "Suspicious User: Restricted. Detected as possible ban evader",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -206,6 +202,10 @@
"searchText": "nerixyz: FeelsDankMan", "searchText": "nerixyz: FeelsDankMan",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -30,10 +30,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -97,14 +93,14 @@
"searchText": "Suspicious User: Restricted", "searchText": "Suspicious User: Restricted",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -204,6 +200,10 @@
"searchText": "nerixyz: Kappa", "searchText": "nerixyz: Kappa",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -27,10 +27,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -94,14 +90,14 @@
"searchText": "Suspicious User: Restricted", "searchText": "Suspicious User: Restricted",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -201,6 +197,10 @@
"searchText": "nerixyz: FeelsDankMan", "searchText": "nerixyz: FeelsDankMan",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -13,10 +13,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -128,6 +124,10 @@
"searchText": "uint128 removed nerixyz from the suspicious user list. ", "searchText": "uint128 removed nerixyz from the suspicious user list. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -13,10 +13,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -128,6 +124,10 @@
"searchText": "uint128 removed nerixyz from the suspicious user list. ", "searchText": "uint128 removed nerixyz from the suspicious user list. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -13,10 +13,6 @@
}, },
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -128,6 +124,10 @@
"searchText": "uint128 added nerixyz as a restricted suspicious chatter. ", "searchText": "uint128 added nerixyz as a restricted suspicious chatter. ",
"serverReceivedTime": "2024-05-14T12:31:47Z", "serverReceivedTime": "2024-05-14T12:31:47Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -2,14 +2,6 @@
"input": "@badge-info=subscriber/80;badges=broadcaster/1,subscriber/3072,partner/1;color=#CC44FF;display-name=pajlada;emote-only=1;emotes=25:0-4;first-msg=0;flags=;id=90ef1e46-8baa-4bf2-9c54-272f39d6fa11;mod=0;returning-chatter=0;room-id=11148817;subscriber=1;tmi-sent-ts=1662206235860;turbo=0;user-id=11148817;user-type= :pajlada!pajlada@pajlada.tmi.twitch.tv PRIVMSG #pajlada :\u0001ACTION Kappa\u0001", "input": "@badge-info=subscriber/80;badges=broadcaster/1,subscriber/3072,partner/1;color=#CC44FF;display-name=pajlada;emote-only=1;emotes=25:0-4;first-msg=0;flags=;id=90ef1e46-8baa-4bf2-9c54-272f39d6fa11;mod=0;returning-chatter=0;room-id=11148817;subscriber=1;tmi-sent-ts=1662206235860;turbo=0;user-id=11148817;user-type= :pajlada!pajlada@pajlada.tmi.twitch.tv PRIVMSG #pajlada :\u0001ACTION Kappa\u0001",
"output": [ "output": [
{ {
"badgeInfos": {
"subscriber": "80"
},
"badges": [
"broadcaster",
"subscriber",
"partner"
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "pajlada", "displayName": "pajlada",
@@ -171,6 +163,14 @@
"searchText": "pajlada pajlada: Kappa ", "searchText": "pajlada pajlada: Kappa ",
"serverReceivedTime": "2022-09-03T11:57:15Z", "serverReceivedTime": "2022-09-03T11:57:15Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
"subscriber": "80"
},
"twitchBadges": [
"broadcaster",
"subscriber",
"partner"
],
"userID": "11148817", "userID": "11148817",
"usernameColor": "#ffcc44ff" "usernameColor": "#ffcc44ff"
} }
@@ -2,12 +2,6 @@
"input": "@tmi-sent-ts=1726689518974;subscriber=1;id=438b85cc-fa67-4c03-bc38-c4ec2527822c;room-id=11148817;user-id=129546453;display-name=nerixyz;badges=subscriber/24;badge-info=subscriber/27;color=#FF0000;flags=;user-type=;emotes= :nerixyz!nerixyz@nerixyz.tmi.twitch.tv PRIVMSG #pajlada :@TwitchDev TwitchDev UserColor @UserColor UserColor! UserColorKappa UserChatter usercolor UserColor2 @UserColor2 ?!", "input": "@tmi-sent-ts=1726689518974;subscriber=1;id=438b85cc-fa67-4c03-bc38-c4ec2527822c;room-id=11148817;user-id=129546453;display-name=nerixyz;badges=subscriber/24;badge-info=subscriber/27;color=#FF0000;flags=;user-type=;emotes= :nerixyz!nerixyz@nerixyz.tmi.twitch.tv PRIVMSG #pajlada :@TwitchDev TwitchDev UserColor @UserColor UserColor! UserColorKappa UserChatter usercolor UserColor2 @UserColor2 ?!",
"output": [ "output": [
{ {
"badgeInfos": {
"subscriber": "27"
},
"badges": [
"subscriber"
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "nerixyz", "displayName": "nerixyz",
@@ -289,6 +283,12 @@
"searchText": "nerixyz nerixyz: @TwitchDev TwitchDev UserColor @UserColor UserColor! UserColorKappa UserChatter usercolor UserColor2 @UserColor2 ?! ", "searchText": "nerixyz nerixyz: @TwitchDev TwitchDev UserColor @UserColor UserColor! UserColorKappa UserChatter usercolor UserColor2 @UserColor2 ?! ",
"serverReceivedTime": "2024-09-18T19:58:38Z", "serverReceivedTime": "2024-09-18T19:58:38Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
"subscriber": "27"
},
"twitchBadges": [
"subscriber"
],
"userID": "129546453", "userID": "129546453",
"usernameColor": "#ffff0000" "usernameColor": "#ffff0000"
} }
@@ -2,14 +2,6 @@
"input": "@badge-info=subscriber/47;badges=broadcaster/1,subscriber/3012,twitchconAmsterdam2020/1;color=#FF0000;display-name=Supinic;emotes=;flags=;id=8c26e1ab-b50c-4d9d-bc11-3fd57a941d90;login=supinic;mod=0;msg-id=announcement;msg-param-color=PRIMARY;room-id=11148817;subscriber=1;system-msg=;tmi-sent-ts=1648762219962;user-id=31400525;user-type= :tmi.twitch.tv USERNOTICE #pajlada :mm test lol", "input": "@badge-info=subscriber/47;badges=broadcaster/1,subscriber/3012,twitchconAmsterdam2020/1;color=#FF0000;display-name=Supinic;emotes=;flags=;id=8c26e1ab-b50c-4d9d-bc11-3fd57a941d90;login=supinic;mod=0;msg-id=announcement;msg-param-color=PRIMARY;room-id=11148817;subscriber=1;system-msg=;tmi-sent-ts=1648762219962;user-id=31400525;user-type= :tmi.twitch.tv USERNOTICE #pajlada :mm test lol",
"output": [ "output": [
{ {
"badgeInfos": {
"subscriber": "47"
},
"badges": [
"broadcaster",
"subscriber",
"twitchconAmsterdam2020"
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "Supinic", "displayName": "Supinic",
@@ -148,14 +140,18 @@
"searchText": "supinic supinic: mm test lol ", "searchText": "supinic supinic: mm test lol ",
"serverReceivedTime": "2022-03-31T21:30:19Z", "serverReceivedTime": "2022-03-31T21:30:19Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
"subscriber": "47"
},
"twitchBadges": [
"broadcaster",
"subscriber",
"twitchconAmsterdam2020"
],
"userID": "31400525", "userID": "31400525",
"usernameColor": "#ffff0000" "usernameColor": "#ffff0000"
}, },
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -212,6 +208,10 @@
"searchText": "Announcement", "searchText": "Announcement",
"serverReceivedTime": "", "serverReceivedTime": "",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -2,11 +2,6 @@
"input": "@badge-info=;badges=no_audio/1;color=#DAA520;display-name=Mm2PL;emote-only=1;emotes=25:04;first-msg=0;flags=;id=7be87072-bf24-4fa3-b3df-0ea6fa5f1474;mod=0;returning-chatter=0;room-id=11148817;subscriber=0;tmi-sent-ts=1662201102276;turbo=0;user-id=117691339;user-type= :mm2pl!mm2pl@mm2pl.tmi.twitch.tv PRIVMSG #pajlada :Kappa", "input": "@badge-info=;badges=no_audio/1;color=#DAA520;display-name=Mm2PL;emote-only=1;emotes=25:04;first-msg=0;flags=;id=7be87072-bf24-4fa3-b3df-0ea6fa5f1474;mod=0;returning-chatter=0;room-id=11148817;subscriber=0;tmi-sent-ts=1662201102276;turbo=0;user-id=117691339;user-type= :mm2pl!mm2pl@mm2pl.tmi.twitch.tv PRIVMSG #pajlada :Kappa",
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
"no_audio"
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "Mm2PL", "displayName": "Mm2PL",
@@ -139,6 +134,11 @@
"searchText": "mm2pl mm2pl: Kappa ", "searchText": "mm2pl mm2pl: Kappa ",
"serverReceivedTime": "2022-09-03T10:31:42Z", "serverReceivedTime": "2022-09-03T10:31:42Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
"no_audio"
],
"userID": "117691339", "userID": "117691339",
"usernameColor": "#ffdaa521" "usernameColor": "#ffdaa521"
} }
@@ -2,11 +2,6 @@
"input": "@badge-info=;badges=no_audio/1;color=#DAA520;display-name=Mm2PL;emote-only=1;emotes=25:4-0;first-msg=0;flags=;id=7be87072-bf24-4fa3-b3df-0ea6fa5f1474;mod=0;returning-chatter=0;room-id=11148817;subscriber=0;tmi-sent-ts=1662201102276;turbo=0;user-id=117691339;user-type= :mm2pl!mm2pl@mm2pl.tmi.twitch.tv PRIVMSG #pajlada :Kappa", "input": "@badge-info=;badges=no_audio/1;color=#DAA520;display-name=Mm2PL;emote-only=1;emotes=25:4-0;first-msg=0;flags=;id=7be87072-bf24-4fa3-b3df-0ea6fa5f1474;mod=0;returning-chatter=0;room-id=11148817;subscriber=0;tmi-sent-ts=1662201102276;turbo=0;user-id=117691339;user-type= :mm2pl!mm2pl@mm2pl.tmi.twitch.tv PRIVMSG #pajlada :Kappa",
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
"no_audio"
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "Mm2PL", "displayName": "Mm2PL",
@@ -139,6 +134,11 @@
"searchText": "mm2pl mm2pl: Kappa ", "searchText": "mm2pl mm2pl: Kappa ",
"serverReceivedTime": "2022-09-03T10:31:42Z", "serverReceivedTime": "2022-09-03T10:31:42Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
"no_audio"
],
"userID": "117691339", "userID": "117691339",
"usernameColor": "#ffdaa521" "usernameColor": "#ffdaa521"
} }
@@ -2,10 +2,6 @@
"input": "@tmi-sent-ts=1662201102276;emotes=84608:0-15 :test!test@test.tmi.twitch.tv PRIVMSG #pajlada :foo bar", "input": "@tmi-sent-ts=1662201102276;emotes=84608:0-15 :test!test@test.tmi.twitch.tv PRIVMSG #pajlada :foo bar",
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -116,6 +112,10 @@
"searchText": "test test: foo bar ", "searchText": "test test: foo bar ",
"serverReceivedTime": "2022-09-03T10:31:42Z", "serverReceivedTime": "2022-09-03T10:31:42Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -2,10 +2,6 @@
"input": "@tmi-sent-ts=1662201102276;emotes=84608:9-10 :test!test@test.tmi.twitch.tv PRIVMSG #pajlada :foo bar", "input": "@tmi-sent-ts=1662201102276;emotes=84608:9-10 :test!test@test.tmi.twitch.tv PRIVMSG #pajlada :foo bar",
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -116,6 +112,10 @@
"searchText": "test test: foo bar ", "searchText": "test test: foo bar ",
"serverReceivedTime": "2022-09-03T10:31:42Z", "serverReceivedTime": "2022-09-03T10:31:42Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -2,11 +2,6 @@
"input": "@tmi-sent-ts=1726764056444;subscriber=1;id=546c42a6-21d0-4f3d-a6a0-c77f78d7b131;room-id=11148817;user-id=123456;display-name=badgy;badges=subscriber24;badge-info=subscriber/27;color=#FF0000;flags=;user-type=;emotes= :badgy!badgy@badgy.tmi.twitch.tv PRIVMSG #pajlada :badge", "input": "@tmi-sent-ts=1726764056444;subscriber=1;id=546c42a6-21d0-4f3d-a6a0-c77f78d7b131;room-id=11148817;user-id=123456;display-name=badgy;badges=subscriber24;badge-info=subscriber/27;color=#FF0000;flags=;user-type=;emotes= :badgy!badgy@badgy.tmi.twitch.tv PRIVMSG #pajlada :badge",
"output": [ "output": [
{ {
"badgeInfos": {
"subscriber": "27"
},
"badges": [
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "badgy", "displayName": "badgy",
@@ -223,6 +218,11 @@
"searchText": "badgy badgy: badge ", "searchText": "badgy badgy: badge ",
"serverReceivedTime": "2024-09-19T16:40:56Z", "serverReceivedTime": "2024-09-19T16:40:56Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
"subscriber": "27"
},
"twitchBadges": [
],
"userID": "123456", "userID": "123456",
"usernameColor": "#ffff0000" "usernameColor": "#ffff0000"
} }
@@ -2,12 +2,6 @@
"input": "@tmi-sent-ts=1726764056444;subscriber=1;id=546c42a6-21d0-4f3d-a6a0-c77f78d7b131;room-id=11148817;user-id=123456;display-name=badgy;badges=subscriber/24;badge-info=subscriber/27;color=#FF0000;flags=;user-type=;emotes= :badgy!badgy@badgy.tmi.twitch.tv PRIVMSG #pajlada :badge", "input": "@tmi-sent-ts=1726764056444;subscriber=1;id=546c42a6-21d0-4f3d-a6a0-c77f78d7b131;room-id=11148817;user-id=123456;display-name=badgy;badges=subscriber/24;badge-info=subscriber/27;color=#FF0000;flags=;user-type=;emotes= :badgy!badgy@badgy.tmi.twitch.tv PRIVMSG #pajlada :badge",
"output": [ "output": [
{ {
"badgeInfos": {
"subscriber": "27"
},
"badges": [
"subscriber"
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "badgy", "displayName": "badgy",
@@ -224,6 +218,12 @@
"searchText": "badgy badgy: badge ", "searchText": "badgy badgy: badge ",
"serverReceivedTime": "2024-09-19T16:40:56Z", "serverReceivedTime": "2024-09-19T16:40:56Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
"subscriber": "27"
},
"twitchBadges": [
"subscriber"
],
"userID": "123456", "userID": "123456",
"usernameColor": "#ffff0000" "usernameColor": "#ffff0000"
} }
@@ -2,10 +2,6 @@
"input": "@badge-info=subscriber/2;badges=subscriber/2,bits/1000;color=#FF4500;display-name=whoopiix;emotes=;flags=;id=d2b32a02-3071-4c52-b2ce-bc3716acdc44;login=whoopiix;mod=0;msg-id=bitsbadgetier;msg-param-threshold=1000;room-id=11148817;subscriber=1;system-msg=bits\\sbadge\\stier\\snotification;tmi-sent-ts=1594520403813;user-id=104252055;user-type= :tmi.twitch.tv USERNOTICE #pajlada", "input": "@badge-info=subscriber/2;badges=subscriber/2,bits/1000;color=#FF4500;display-name=whoopiix;emotes=;flags=;id=d2b32a02-3071-4c52-b2ce-bc3716acdc44;login=whoopiix;mod=0;msg-id=bitsbadgetier;msg-param-threshold=1000;room-id=11148817;subscriber=1;system-msg=bits\\sbadge\\stier\\snotification;tmi-sent-ts=1594520403813;user-id=104252055;user-type= :tmi.twitch.tv USERNOTICE #pajlada",
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
],
"channelName": "", "channelName": "",
"count": 1, "count": 1,
"displayName": "", "displayName": "",
@@ -86,6 +82,10 @@
"searchText": "whoopiix just earned a new 1K Bits badge!", "searchText": "whoopiix just earned a new 1K Bits badge!",
"serverReceivedTime": "", "serverReceivedTime": "",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
],
"userID": "", "userID": "",
"usernameColor": "#ff000000" "usernameColor": "#ff000000"
} }
@@ -2,11 +2,6 @@
"input": "@badge-info=;badges=bits-leader/3;bits=5;color=;display-name=slyckity;emotes=;flags=;id=fd6c5507-3a4e-4d24-8f6e-fadf07f520d3;mod=0;room-id=111448817;subscriber=0;tmi-sent-ts=1567824273752;turbo=0;user-id=143114011;user-type= :slyckity!slyckity@slyckity.tmi.twitch.tv PRIVMSG #pajlada :Cheer1 a Cheer1 Cheer1 Cheer1 Cheer1 b c", "input": "@badge-info=;badges=bits-leader/3;bits=5;color=;display-name=slyckity;emotes=;flags=;id=fd6c5507-3a4e-4d24-8f6e-fadf07f520d3;mod=0;room-id=111448817;subscriber=0;tmi-sent-ts=1567824273752;turbo=0;user-id=143114011;user-type= :slyckity!slyckity@slyckity.tmi.twitch.tv PRIVMSG #pajlada :Cheer1 a Cheer1 Cheer1 Cheer1 Cheer1 b c",
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
"bits-leader"
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "slyckity", "displayName": "slyckity",
@@ -417,6 +412,11 @@
"searchText": "slyckity slyckity: Cheer1 a Cheer1 Cheer1 Cheer1 Cheer1 b c ", "searchText": "slyckity slyckity: Cheer1 a Cheer1 Cheer1 Cheer1 Cheer1 b c ",
"serverReceivedTime": "2019-09-07T02:44:33Z", "serverReceivedTime": "2019-09-07T02:44:33Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
"bits-leader"
],
"userID": "143114011", "userID": "143114011",
"usernameColor": "#ff0000ff" "usernameColor": "#ff0000ff"
} }
@@ -2,11 +2,6 @@
"input": "@badge-info=;badges=bits-leader/3;bits=5;color=;display-name=slyckity;emotes=;flags=;id=fd6c5507-3a4e-4d24-8f6e-fadf07f520d3;mod=0;room-id=111448817;subscriber=0;tmi-sent-ts=1567824273752;turbo=0;user-id=143114011;user-type= :slyckity!slyckity@slyckity.tmi.twitch.tv PRIVMSG #pajlada :Cheer1 a Cheer1 Cheer1 Cheer1 Cheer1 b c", "input": "@badge-info=;badges=bits-leader/3;bits=5;color=;display-name=slyckity;emotes=;flags=;id=fd6c5507-3a4e-4d24-8f6e-fadf07f520d3;mod=0;room-id=111448817;subscriber=0;tmi-sent-ts=1567824273752;turbo=0;user-id=143114011;user-type= :slyckity!slyckity@slyckity.tmi.twitch.tv PRIVMSG #pajlada :Cheer1 a Cheer1 Cheer1 Cheer1 Cheer1 b c",
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
"bits-leader"
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "slyckity", "displayName": "slyckity",
@@ -191,6 +186,11 @@
"searchText": "slyckity slyckity: Cheer1 a Cheer1 Cheer1 Cheer1 Cheer1 b c ", "searchText": "slyckity slyckity: Cheer1 a Cheer1 Cheer1 Cheer1 Cheer1 b c ",
"serverReceivedTime": "2019-09-07T02:44:33Z", "serverReceivedTime": "2019-09-07T02:44:33Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
"bits-leader"
],
"userID": "143114011", "userID": "143114011",
"usernameColor": "#ff0000ff" "usernameColor": "#ff0000ff"
} }
@@ -2,11 +2,6 @@
"input": "@badge-info=;badges=bits-leader/3;bits=5;color=;display-name=slyckity;emotes=;flags=;id=fd6c5507-3a4e-4d24-8f6e-fadf07f520d3;mod=0;room-id=111448817;subscriber=0;tmi-sent-ts=1567824273752;turbo=0;user-id=143114011;user-type= :slyckity!slyckity@slyckity.tmi.twitch.tv PRIVMSG #pajlada :Cheer100", "input": "@badge-info=;badges=bits-leader/3;bits=5;color=;display-name=slyckity;emotes=;flags=;id=fd6c5507-3a4e-4d24-8f6e-fadf07f520d3;mod=0;room-id=111448817;subscriber=0;tmi-sent-ts=1567824273752;turbo=0;user-id=143114011;user-type= :slyckity!slyckity@slyckity.tmi.twitch.tv PRIVMSG #pajlada :Cheer100",
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
"bits-leader"
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "slyckity", "displayName": "slyckity",
@@ -174,6 +169,11 @@
"searchText": "slyckity slyckity: Cheer100 ", "searchText": "slyckity slyckity: Cheer100 ",
"serverReceivedTime": "2019-09-07T02:44:33Z", "serverReceivedTime": "2019-09-07T02:44:33Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
"bits-leader"
],
"userID": "143114011", "userID": "143114011",
"usernameColor": "#ff0000ff" "usernameColor": "#ff0000ff"
} }
@@ -2,11 +2,6 @@
"input": "@badge-info=;badges=bits/1;bits=10;color=#00FF7F;display-name=EXDE_HUN;emotes=;flags=;id=60d8835b-23fa-418c-96ca-5874e5d5e8ba;mod=0;room-id=111448817;subscriber=0;tmi-sent-ts=1566654664248;turbo=0;user-id=129793695;user-type= :exde_hun!exde_hun@exde_hun.tmi.twitch.tv PRIVMSG #pajlada :PogChamp10", "input": "@badge-info=;badges=bits/1;bits=10;color=#00FF7F;display-name=EXDE_HUN;emotes=;flags=;id=60d8835b-23fa-418c-96ca-5874e5d5e8ba;mod=0;room-id=111448817;subscriber=0;tmi-sent-ts=1566654664248;turbo=0;user-id=129793695;user-type= :exde_hun!exde_hun@exde_hun.tmi.twitch.tv PRIVMSG #pajlada :PogChamp10",
"output": [ "output": [
{ {
"badgeInfos": {
},
"badges": [
"bits"
],
"channelName": "pajlada", "channelName": "pajlada",
"count": 1, "count": 1,
"displayName": "EXDE_HUN", "displayName": "EXDE_HUN",
@@ -136,6 +131,11 @@
"searchText": "exde_hun exde_hun: PogChamp10 ", "searchText": "exde_hun exde_hun: PogChamp10 ",
"serverReceivedTime": "2019-08-24T13:51:04Z", "serverReceivedTime": "2019-08-24T13:51:04Z",
"timeoutUser": "", "timeoutUser": "",
"twitchBadgeInfos": {
},
"twitchBadges": [
"bits"
],
"userID": "129793695", "userID": "129793695",
"usernameColor": "#ff00ff7f" "usernameColor": "#ff00ff7f"
} }

Some files were not shown because too many files have changed in this diff Show More