• Public
  • Public/Protected
  • All

Sending & Receiving Location


Sending Location


    client.sendLocation(chatId, latitude, longitude, 'London!')

Receiving Location

Check the Message reference to learn how to extract the coordinates from a location message

    client.onMessage(message=> {
        if(message.type==="location") {
            //Using destructuring
            const {
                // The text associated with the location
            } = message

Listening to Live Locations

onLiveLocation fires a LiveLocationChangedEvent event. onLiveLocation requires a chat id to listen to so you need to detect exactly when a chat starts sharing a live location with your host account. This example detects when a live location is started and then registers a new callback to listen to updates in that live location session.

    const liveLocationCallback = currentLiveLocation => {
        console.log('Live location update', currentLiveLocation.id, currentLiveLocation.lat, currentLiveLocation.lng);
    client.onMessage(message=> {
        //This is how to detect when someone has started a live location with you
            client.onLiveLocation(message.from, liveLocationCallback)

Forcing Live Locations to Update

The updates of live locations are very passive. If you require updates at regular intervals then you can force it using forceUpdateLiveLocation. It is recomended to keep an array of chat ids that have live location sessions and map through them at regular intervals

    await client.forceUpdateLiveLocation(chatId);

    //or force update live locations of multiple chats
    await Promise.all([