private void handleGroupChannel ( JsonNode channel ) { long channelId = channel . get ( "id" ) . asLong ( ) ; api . getGroupChannelById ( channelId ) . ifPresent ( groupChannel -> { GroupChannelDeleteEvent event = new GroupChannelDeleteEventImpl ( groupChannel ) ; api . getEventDispatcher ( ) . dispatchGroupChannelDeleteEvent ( api , Collections . singleton ( groupChannel ) , groupChannel . getMembers ( ) , event ) ; api . removeObjectListeners ( GroupChannel . class , channelId ) ; api . removeObjectListeners ( VoiceChannel . class , channelId ) ; api . removeObjectListeners ( TextChannel . class , channelId ) ; api . removeObjectListeners ( Channel . class , channelId ) ; api . forEachCachedMessageWhere ( msg -> msg . getChannel ( ) . getId ( ) == groupChannel . getId ( ) , msg -> api . removeMessageFromCache ( msg . getId ( ) ) ) ; } ) ; }
Handles a group channel deletion .