Package moe.kyokobot.koe.internal
Class EventDispatcher
java.lang.Object
moe.kyokobot.koe.internal.EventDispatcher
- All Implemented Interfaces:
KoeEventListener
-
Method Summary
Modifier and TypeMethodDescriptionvoidexternalIPDiscovered(InetSocketAddress address) voidgatewayClosed(int code, String reason, boolean byRemote) Called when the gateway connection is closed.voidgatewayError(Throwable cause) voidgatewayReady(InetSocketAddress target, int ssrc) voidsessionDescription(JsonObject session) voidsessionLost(int code, String reason) Called afterKoeEventListener.gatewayClosed(int, java.lang.String, boolean)when the voice server no longer knows the session and Koe couldn't start a new one.voidCalled when one or more users have disconnected from the voice channel.voidusersConnected(List<String> userIds) Called when one or more users have connected to the voice channel.voiduserStreamsChanged(String id, int audioSSRC, int videoSSRC, int rtxSSRC) Called when the stream information for a user has changed.
-
Method Details
-
gatewayError
- Specified by:
gatewayErrorin interfaceKoeEventListener
-
gatewayReady
- Specified by:
gatewayReadyin interfaceKoeEventListener
-
gatewayClosed
Description copied from interface:KoeEventListenerCalled when the gateway connection is closed.- Specified by:
gatewayClosedin interfaceKoeEventListener- Parameters:
code- the WebSocket close code.reason- the close reason if present, null otherwise.byRemote- true if the connection was closed by the gateway, false if it was closed by Koe.
-
sessionLost
Description copied from interface:KoeEventListenerCalled afterKoeEventListener.gatewayClosed(int, java.lang.String, boolean)when the voice server no longer knows the session and Koe couldn't start a new one. Koe can't recover from this on its own, the bot has to rejoin the voice channel through the main gateway (opcode 4) to get a new session and pass the new server info toMediaConnection.connect(moe.kyokobot.koe.VoiceServerInfo).- Specified by:
sessionLostin interfaceKoeEventListener- Parameters:
code- the WebSocket close code.reason- the close reason if present, null otherwise.
-
userStreamsChanged
Description copied from interface:KoeEventListenerCalled when the stream information for a user has changed. Not state tracked by Koe, provides data frommoe.kyokobot.koe.gateway.Op#USER_SPEAKINGas-is.- Specified by:
userStreamsChangedin interfaceKoeEventListener- Parameters:
id- the user ID of the user whose stream information has changed.audioSSRC- the SSRC of the user's audio stream, or 0 if not present or just disabled.videoSSRC- the SSRC of the user's video stream, or 0 if not present or just disabled.rtxSSRC- the SSRC of the user's retransmission stream, or 0 if not present or just disabled.
-
usersConnected
Description copied from interface:KoeEventListenerCalled when one or more users have connected to the voice channel. Not state tracked by Koe, provides data fromOp.CLIENT_CONNECTas-is.- Specified by:
usersConnectedin interfaceKoeEventListener- Parameters:
userIds- the list of user IDs that have connected, as provided by the gateway.
-
userDisconnected
Description copied from interface:KoeEventListenerCalled when one or more users have disconnected from the voice channel. Not state tracked by Koe, provides data fromOp.CLIENT_DISCONNECTas-is.- Specified by:
userDisconnectedin interfaceKoeEventListener
-
externalIPDiscovered
- Specified by:
externalIPDiscoveredin interfaceKoeEventListener
-
sessionDescription
- Specified by:
sessionDescriptionin interfaceKoeEventListener
-