Files
chatterino2/src/messages/MessageFlag.hpp

71 lines
2.5 KiB
C++

#pragma once
#include "common/FlagsEnum.hpp"
#include <magic_enum/magic_enum.hpp>
namespace chatterino {
enum class MessageFlag : std::int64_t {
None = 0LL,
System = (1LL << 0),
Timeout = (1LL << 1),
Highlighted = (1LL << 2),
DoNotTriggerNotification = (1LL << 3), // disable notification sound
Centered = (1LL << 4),
Disabled = (1LL << 5),
DisableCompactEmotes = (1LL << 6),
Collapsed = (1LL << 7),
ConnectedMessage = (1LL << 8),
DisconnectedMessage = (1LL << 9),
Untimeout = (1LL << 10),
PubSub = (1LL << 11),
Subscription = (1LL << 12),
DoNotLog = (1LL << 13),
AutoMod = (1LL << 14),
RecentMessage = (1LL << 15),
Whisper = (1LL << 16),
HighlightedWhisper = (1LL << 17),
Debug = (1LL << 18),
Similar = (1LL << 19),
RedeemedHighlight = (1LL << 20),
RedeemedChannelPointReward = (1LL << 21),
ShowInMentions = (1LL << 22),
FirstMessage = (1LL << 23),
ReplyMessage = (1LL << 24),
ElevatedMessage = (1LL << 25),
SubscribedThread = (1LL << 26),
CheerMessage = (1LL << 27),
LiveUpdatesAdd = (1LL << 28),
LiveUpdatesRemove = (1LL << 29),
LiveUpdatesUpdate = (1LL << 30),
/// The header of a message caught by AutoMod containing allow/disallow
AutoModOffendingMessageHeader = (1LL << 31),
/// The message caught by AutoMod containing the user who sent the message & its contents
AutoModOffendingMessage = (1LL << 32),
LowTrustUsers = (1LL << 33),
/// The message is sent by a user marked as restricted with Twitch's "Low Trust"/"Suspicious User" feature
RestrictedMessage = (1LL << 34),
/// The message is sent by a user marked as monitor with Twitch's "Low Trust"/"Suspicious User" feature
MonitoredMessage = (1LL << 35),
/// The message is an ACTION message (/me)
Action = (1LL << 36),
/// The message is sent in a different source channel as part of a Shared Chat session
SharedMessage = (1LL << 37),
/// AutoMod message that showed up due to containing a blocked term in the channel
AutoModBlockedTerm = (1LL << 38),
/// The message is a full clear chat message (/clear)
ClearChat = (1LL << 39),
/// The message is built from EventSub
EventSub = (1LL << 40),
};
using MessageFlags = FlagsEnum<MessageFlag>;
} // namespace chatterino
template <>
struct magic_enum::customize::enum_range<chatterino::MessageFlag> {
// NOLINTNEXTLINE(readability-identifier-naming)
static constexpr bool is_flags = true;
};