Class IRCMessageEvent
java.lang.Object
com.github.philippheuer.events4j.core.domain.Event
com.github.twitch4j.chat.events.TwitchEvent
com.github.twitch4j.chat.events.channel.IRCMessageEvent
- All Implemented Interfaces:
com.github.philippheuer.events4j.api.domain.IEvent
public class IRCMessageEvent extends TwitchEvent
This event gets called when we receive a raw irc message.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringNONCE_TAG_NAME -
Constructor Summary
Constructors Constructor Description IRCMessageEvent(java.lang.String rawMessage, java.util.Map<java.lang.String,java.lang.String> channelIdToChannelName, java.util.Map<java.lang.String,java.lang.String> channelNameToChannelId, java.util.Collection<java.lang.String> botOwnerIds)Event Constructor -
Method Summary
Modifier and Type Method Description protected booleancanEqual(java.lang.Object other)booleanequals(java.lang.Object o)java.util.Map<java.lang.String,java.lang.String>getBadgeInfo()Metadata related to the chat badges in the badges tagjava.util.Map<java.lang.String,java.lang.String>getBadges()Badgescom.github.twitch4j.common.events.domain.EventChannelgetChannel()Get ChatChanneljava.lang.StringgetChannelId()Channel Idjava.util.Optional<java.lang.String>getChannelName()Channel Namejava.util.OptionalIntgetCheererTier()java.util.Optional<java.lang.String>getClientName()Clientjava.util.Set<com.github.twitch4j.common.enums.CommandPermission>getClientPermissions()Client Permissionsjava.lang.StringgetCommandType()Message Typejava.util.List<AutoModFlag>getFlags()AutoMod Message Flag Indicators, relevant for PRIVMSG and USERNOTICEjava.util.Optional<java.lang.String>getMessage()Messagejava.util.Optional<java.lang.String>getMessageId()The message UUID that is used for deletion by a moderator or a chat reply (from Tags)java.util.Optional<java.lang.String>getNonce()java.util.Optional<java.lang.String>getPayload()IRC Command Payloadjava.lang.StringgetRawMessage()RAW Messagejava.util.Map<java.lang.String,java.lang.Object>getRawTags()Raw Tagsjava.util.OptionalIntgetSubscriberMonths()java.util.OptionalIntgetSubscriptionTier()java.util.Map<java.lang.String,java.lang.String>getTags()Tagsjava.util.Optional<java.lang.String>getTagValue(java.lang.String tagName)Gets a optional tag from the irc messagecom.github.twitch4j.common.events.domain.EventUsergetTargetUser()Get Target Userjava.lang.StringgetTargetUserId()Gets the Target User Id (from Tags)com.github.twitch4j.common.events.domain.EventUsergetUser()Get Userjava.lang.StringgetUserId()Gets the User Id (from Tags)java.lang.StringgetUserName()Gets the User Name (from Tags)inthashCode()java.lang.BooleanisValid()Checks if the Event was parsed correctly.java.util.Optional<java.lang.String>parseClientName(java.lang.String raw)Gets the ClientName from the IRC User Identifier (:user!java.util.MapparseTags(java.lang.String raw)Parse Tags from raw listjava.lang.StringtoString()Methods inherited from class com.github.twitch4j.chat.events.TwitchEvent
getTwitchChatMethods inherited from class com.github.philippheuer.events4j.core.domain.Event
getEventId, getFiredAt, getFiredAtInstant, getServiceMediator, setEventId, setFiredAt, setFiredAtInstant, setServiceMediatorMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Field Details
-
NONCE_TAG_NAME
@Unofficial public static final java.lang.String NONCE_TAG_NAME- See Also:
- Constant Field Values
-
-
Constructor Details
-
IRCMessageEvent
public IRCMessageEvent(java.lang.String rawMessage, java.util.Map<java.lang.String,java.lang.String> channelIdToChannelName, java.util.Map<java.lang.String,java.lang.String> channelNameToChannelId, java.util.Collection<java.lang.String> botOwnerIds)Event Constructor- Parameters:
rawMessage- The raw message.channelIdToChannelName- Mapping used to lookup a missing channel name in the eventchannelNameToChannelId- Mapping used to lookup a missing channel id in the eventbotOwnerIds- The bot owner ids.
-
-
Method Details
-
isValid
public java.lang.Boolean isValid()Checks if the Event was parsed correctly.- Returns:
- Is the Event valid?
-
parseTags
public java.util.Map parseTags(java.lang.String raw)Parse Tags from raw list- Parameters:
raw- The raw list of tags.- Returns:
- A key-value map of the tags.
-
parseClientName
public java.util.Optional<java.lang.String> parseClientName(java.lang.String raw)Gets the ClientName from the IRC User Identifier (:user!user@user.tmi.twitch.tv)- Parameters:
raw- Raw ClientName- Returns:
- Client name, or empty.
-
getUserId
public java.lang.String getUserId()Gets the User Id (from Tags)- Returns:
- Long userId
-
getUserName
public java.lang.String getUserName()Gets the User Name (from Tags)- Returns:
- String userName
-
getTargetUserId
public java.lang.String getTargetUserId()Gets the Target User Id (from Tags)- Returns:
- Long targetUserId
-
getMessageId
public java.util.Optional<java.lang.String> getMessageId()The message UUID that is used for deletion by a moderator or a chat reply (from Tags)- Returns:
- the unique ID for the message
-
getNonce
@Unofficial public java.util.Optional<java.lang.String> getNonce()- Returns:
- the client nonce for the message.
-
getSubscriberMonths
public java.util.OptionalInt getSubscriberMonths()- Returns:
- the exact number of months the user has been a subscriber, or empty if they are not subscribed
-
getSubscriptionTier
public java.util.OptionalInt getSubscriptionTier()- Returns:
- the tier at which the user is subscribed, or empty if they are not subscribed
-
getCheererTier
public java.util.OptionalInt getCheererTier()- Returns:
- the tier of the bits badge of the user, or empty if there is no bits badge present (which can also occur for bits leaders)
-
getTagValue
public java.util.Optional<java.lang.String> getTagValue(java.lang.String tagName)Gets a optional tag from the irc message- Parameters:
tagName- The tag of the irc message- Returns:
- String tagValue
-
getUser
public com.github.twitch4j.common.events.domain.EventUser getUser()Get User- Returns:
- ChatUser
-
getTargetUser
public com.github.twitch4j.common.events.domain.EventUser getTargetUser()Get Target User- Returns:
- ChatUser
-
getChannel
public com.github.twitch4j.common.events.domain.EventChannel getChannel()Get ChatChannel- Returns:
- ChatChannel
-
toString
public java.lang.String toString()- Overrides:
toStringin classTwitchEvent
-
getTags
public java.util.Map<java.lang.String,java.lang.String> getTags()Tags -
getRawTags
public java.util.Map<java.lang.String,java.lang.Object> getRawTags()Raw Tags -
getBadges
public java.util.Map<java.lang.String,java.lang.String> getBadges()Badges -
getBadgeInfo
public java.util.Map<java.lang.String,java.lang.String> getBadgeInfo()Metadata related to the chat badges in the badges tag -
getClientName
public java.util.Optional<java.lang.String> getClientName()Client -
getCommandType
public java.lang.String getCommandType()Message Type -
getChannelId
public java.lang.String getChannelId()Channel Id -
getChannelName
public java.util.Optional<java.lang.String> getChannelName()Channel Name -
getMessage
public java.util.Optional<java.lang.String> getMessage()Message -
getPayload
public java.util.Optional<java.lang.String> getPayload()IRC Command Payload -
getClientPermissions
public java.util.Set<com.github.twitch4j.common.enums.CommandPermission> getClientPermissions()Client Permissions -
getRawMessage
public java.lang.String getRawMessage()RAW Message -
equals
public boolean equals(java.lang.Object o)- Overrides:
equalsin classTwitchEvent
-
canEqual
protected boolean canEqual(java.lang.Object other)- Overrides:
canEqualin classTwitchEvent
-
hashCode
public int hashCode()- Overrides:
hashCodein classTwitchEvent
-
getFlags
AutoMod Message Flag Indicators, relevant for PRIVMSG and USERNOTICE
-