handle Live Location
suspend fun TelegramBot.handleLiveLocation(chatId: ChatIdentifier, locationsFlow: Flow<EditLiveLocationInfo>, liveTimeMillis: Long = defaultLivePeriodDelayMillis, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageId? = null, allowSendingWithoutReply: Boolean? = null, sentMessageDeferred: CompletableDeferred<ContentMessage<LocationContent>>? = null)
Will sendLiveLocation with the first EditLiveLocationInfo data and update than. Each liveTimeMillis passing, the message will be sent again and new edits will be applied to the new message
suspend fun TelegramBot.handleLiveLocation(chatId: ChatIdentifier, locationsFlow: Flow<Location>, liveTimeMillis: Long = defaultLivePeriodDelayMillis, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageId? = null, allowSendingWithoutReply: Boolean? = null, sentMessageDeferred: CompletableDeferred<ContentMessage<LocationContent>>? = null)
suspend fun TelegramBot.handleLiveLocation(chatId: ChatIdentifier, locationsFlow: Flow<Pair<Double, Double>>, liveTimeMillis: Long = defaultLivePeriodDelayMillis, threadId: MessageThreadId? = chatId.threadId, disableNotification: Boolean = false, protectContent: Boolean = false, replyToMessageId: MessageId? = null, allowSendingWithoutReply: Boolean? = null, sentMessageDeferred: CompletableDeferred<ContentMessage<LocationContent>>? = null)
Will apply Flow.map to the locationsFlow to create EditLiveLocationInfo and pass the result flow to the handleLiveLocation with Flow typed by EditLiveLocationInfo