Class PresenceChangeEvent

java.lang.Object
com.slack.api.model.event.PresenceChangeEvent
All Implemented Interfaces:
Event, java.io.Serializable

public class PresenceChangeEvent
extends java.lang.Object
implements Event
The presence_change event is sent to connections for a workspace when a user changes presence status and the app has subscribed using presence_sub. Clients can use this to update their local list of users' presence.

If a user updates their presence manually, the manual_presence_change event will also be sent to all connected clients for that user.

There are two forms of this event. When only one user's presence is being communicated, you'll receive a user field with a single user ID present within. This form is deprecated.

Pass the batch_presence_aware=1 parameter to rtm.start or rtm.connect to instruct the Slack message server to batch your presence messages and send a users attribute instead, containing an array of users changing to the same status.

Sometimes you'll get a single event for a single user but if you use batch_presence_aware=1, that single user event will be single item in the users array.

In case you missed that: if you send batch_presence_aware=1 then the shape of presence_change events changes. Instead of a string-based user field, you'll get users, an array.

If you're writing a library that supports presence_change events, you should be prepared to handle both kinds of presence events.

RTM API Presence is now only available via subscription. As of January 2018, presence_change events are not dispatched without presence subscriptions established with presence_sub. Relatedly, current user presence status is no longer communicated in rtm.start. Learn more.

See Also:
Serialized Form
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.lang.String TYPE_NAME  
  • Constructor Summary

    Constructors 
    Constructor Description
    PresenceChangeEvent()  
  • Method Summary

    Modifier and Type Method Description
    protected boolean canEqual​(java.lang.Object other)  
    boolean equals​(java.lang.Object o)  
    java.lang.String getPresence()  
    java.lang.String getType()  
    java.lang.String getUser()  
    java.util.List<java.lang.String> getUsers()  
    int hashCode()  
    void setPresence​(java.lang.String presence)  
    void setUser​(java.lang.String user)  
    void setUsers​(java.util.List<java.lang.String> users)  
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.slack.api.model.event.Event

    getSubtype
  • Field Details

  • Constructor Details

  • Method Details

    • getType

      public java.lang.String getType()
      Specified by:
      getType in interface Event
    • getUser

      public java.lang.String getUser()
    • getUsers

      public java.util.List<java.lang.String> getUsers()
    • getPresence

      public java.lang.String getPresence()
    • setUser

      public void setUser​(java.lang.String user)
    • setUsers

      public void setUsers​(java.util.List<java.lang.String> users)
    • setPresence

      public void setPresence​(java.lang.String presence)
    • equals

      public boolean equals​(java.lang.Object o)
      Overrides:
      equals in class java.lang.Object
    • canEqual

      protected boolean canEqual​(java.lang.Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class java.lang.Object
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object