# StanzaJS Events
*
```
(args: any[]) => void
```
activity
```
UserActivityEvent
```
attention
```
ReceivedMessage
```
auth:failed
```
void
```
auth:success
```
Credentials
```
available
```
ReceivedPresence
```
avatar
```
AvatarsEvent
```
block
```
{ jids: string[] }
```
bosh:terminate
```
any
```
carbon:received
```
ReceivedCarbon
```
carbon:sent
```
SentCarbon
```
chat
```
ReceivedMessage
```
chat:state
```
ChatStateMessage
```
connected
```
void
```
credentials:update
```
Credentials
```
```
FormsMessage
```
disco:caps
```
{ caps: LegacyEntityCaps[]; jid: string }
```
disconnected
```
Error
```
features
```
StreamFeatures
```
geoloc
```
UserLocationEvent
```
groupchat
```
ReceivedMessage
```
iq
```
ReceivedIQ
```
iq:get:disco
```
ReceivedIQGet & { disco: Disco }
```
iq:get:ping
```
IQ & { ping: boolean }
```
iq:get:softwareVersion
```
ReceivedIQGet & { softwareVersion: SoftwareVersion }
```
iq:get:time
```
IQ & { time: EntityTime }
```
iq:set:blockList
```
ReceivedIQSet & { blockList: Blocking & { action: block | unblock } }
```
iq:set:jingle
```
IQ & { jingle: JingleRequest }
```
iq:set:roster
```
IQ & { roster: Roster }
```
jingle:created
```
Jingle.Session
```
jingle:hold
```
(session: Jingle.Session, info: JingleInfo) => void
```
jingle:incoming
```
Jingle.Session
```
jingle:mute
```
(session: Jingle.Session, info: JingleInfo) => void
```
jingle:outgoing
```
Jingle.Session
```
jingle:resumed
```
(session: Jingle.Session, info: JingleInfo) => void
```
jingle:ringing
```
(session: Jingle.Session, info: JingleInfo) => void
```
jingle:terminated
```
(session: Jingle.Session, reason: JingleReason) => void
```
jingle:unmute
```
(session: Jingle.Session, info: JingleInfo) => void
```
mam:item
```
ReceivedMessage
```
marker:acknowledged
```
ReceivedMessage
```
marker:displayed
```
ReceivedMessage
```
marker:received
```
ReceivedMessage
```
message
```
ReceivedMessage
```
message:acked
```
Message
```
message:error
```
Message
```
message:failed
```
Message
```
message:hibernated
```
Message
```
message:retry
```
Message
```
message:sent
```
(msg: Message, viaCarbon: boolean) => void
```
mood
```
UserMoodEvent
```
muc:available
```
ReceivedMUCPresence
```
muc:declined
```
MUCDeclinedEvent
```
muc:destroyed
```
MUCDestroyedEvent
```
muc:error
```
Presence
```
muc:failed
```
Presence
```
muc:invite
```
MUCInviteEvent
```
muc:join
```
ReceivedMUCPresence
```
muc:leave
```
ReceivedMUCPresence
```
muc:other
```
ReceivedMessage
```
muc:topic
```
MUCTopicEvent
```
muc:unavailable
```
ReceivedMUCPresence
```
nick
```
UserNickEvent
```
presence
```
ReceivedPresence
```
presence:error
```
ReceivedPresence
```
probe
```
ReceivedPresence
```
pubsub:affiliations
```
PubsubMessage & { pubsub: PubsubAffiliationChange }
```
pubsub:config
```
PubsubEventMessage & { pubsub: PubsubEventConfiguration }
```
pubsub:deleted
```
PubsubEventMessage & { pubsub: PubsubEventDelete }
```
pubsub:event
```
PubsubEventMessage
```
pubsub:published
```
PubsubPublish
```
pubsub:purged
```
PubsubEventMessage & { pubsub: PubsubEventPurge }
```
pubsub:retracted
```
PubsubRetract
```
pubsub:subscription
```
PubsubEventMessage & { pubsub: PubsubEventSubscription }
```
raw
```
(direction: incoming | outgoing, data: string) => void
```
raw:*
```
(direction: incoming | outgoing, data: string) => void
```
raw:incoming
```
string
```
raw:outgoing
```
string
```
receipt
```
ReceiptMessage
```
replace
```
CorrectionMessage
```
roster:update
```
IQ & { roster: Roster }
```
roster:ver
```
string
```
rtt
```
RTTMessage
```
sasl
```
SASL
```
session:bound
```
string
```
session:end
```
undefined
```
session:prebind
```
string
```
session:started
```
string | void
```
sm
```
StreamManagement
```
stanza
```
Message | Presence | IQ
```
stanza:acked
```
{ kind: message; stanza: Message } | { kind: presence; stanza: Presence } | { kind: iq; stanza: IQ }
```
stanza:failed
```
{ kind: message; stanza: Message } | { kind: presence; stanza: Presence } | { kind: iq; stanza: IQ }
```
stanza:hibernated
```
{ kind: message; stanza: Message } | { kind: presence; stanza: Presence } | { kind: iq; stanza: IQ }
```
stream:data
```
(json: any, kind: string) => void
```
stream:end
```
void
```
stream:error
```
(streamError: StreamError, error: Error) => void
```
stream:management:ack
```
StreamManagementAck
```
stream:management:resumed
```
StreamManagementResume
```
stream:start
```
Stream
```
subscribe
```
ReceivedPresence
```
subscribed
```
ReceivedPresence
```
tune
```
UserTuneEvent
```
unavailable
```
ReceivedPresence
```
unblock
```
{ jids: string[] }
```
unsubscribe
```
ReceivedPresence
```
unsubscribed
```
ReceivedPresence
```