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.String NONCE_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 boolean canEqual​(java.lang.Object other)  
    boolean equals​(java.lang.Object o)  
    java.util.Map<java.lang.String,​java.lang.String> getBadgeInfo()
    Metadata related to the chat badges in the badges tag
    java.util.Map<java.lang.String,​java.lang.String> getBadges()
    Badges
    com.github.twitch4j.common.events.domain.EventChannel getChannel()
    Get ChatChannel
    java.lang.String getChannelId()
    Channel Id
    java.util.Optional<java.lang.String> getChannelName()
    Channel Name
    java.util.OptionalInt getCheererTier()  
    java.util.Optional<java.lang.String> getClientName()
    Client
    java.util.Set<com.github.twitch4j.common.enums.CommandPermission> getClientPermissions()
    Client Permissions
    java.lang.String getCommandType()
    Message Type
    java.util.List<AutoModFlag> getFlags()
    AutoMod Message Flag Indicators, relevant for PRIVMSG and USERNOTICE
    java.util.Optional<java.lang.String> getMessage()
    Message
    java.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 Payload
    java.lang.String getRawMessage()
    RAW Message
    java.util.Map<java.lang.String,​java.lang.Object> getRawTags()
    Raw Tags
    java.util.OptionalInt getSubscriberMonths()  
    java.util.OptionalInt getSubscriptionTier()  
    java.util.Map<java.lang.String,​java.lang.String> getTags()
    Tags
    java.util.Optional<java.lang.String> getTagValue​(java.lang.String tagName)
    Gets a optional tag from the irc message
    com.github.twitch4j.common.events.domain.EventUser getTargetUser()
    Get Target User
    java.lang.String getTargetUserId()
    Gets the Target User Id (from Tags)
    com.github.twitch4j.common.events.domain.EventUser getUser()
    Get User
    java.lang.String getUserId()
    Gets the User Id (from Tags)
    java.lang.String getUserName()
    Gets the User Name (from Tags)
    int hashCode()  
    java.lang.Boolean isValid()
    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.Map parseTags​(java.lang.String raw)
    Parse Tags from raw list
    java.lang.String toString()  

    Methods inherited from class com.github.twitch4j.chat.events.TwitchEvent

    getTwitchChat

    Methods inherited from class com.github.philippheuer.events4j.core.domain.Event

    getEventId, getFiredAt, getFiredAtInstant, getServiceMediator, setEventId, setFiredAt, setFiredAtInstant, setServiceMediator

    Methods 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 event
      channelNameToChannelId - Mapping used to lookup a missing channel id in the event
      botOwnerIds - 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:
      toString in class TwitchEvent
    • 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:
      equals in class TwitchEvent
    • canEqual

      protected boolean canEqual​(java.lang.Object other)
      Overrides:
      canEqual in class TwitchEvent
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class TwitchEvent
    • getFlags

      public java.util.List<AutoModFlag> getFlags()
      AutoMod Message Flag Indicators, relevant for PRIVMSG and USERNOTICE