Skip to content

# API Extensions

API extensions is a module which you may include in your project in addition to core part. In most cases this module will allow just use syntax like `bot.getUpdates()` instead of `bot.execute(GetUpdates())`, but there are several other things you will achieve with that syntax.

## Bot builder

This functionality allow you to build bot in more unified and comfortable way than standard creating with `telegramBot` function

    buildBot(
        "TOKEN"
    ) {
      proxy = ProxyBuilder.socks(host = "127.0.0.1", port = 4001) // just an example, more info on https://ktor.io/docs/proxy.html
      ktorClientConfig = {
        // configuring of ktor client
      }
      ktorClientEngineFactory = {
       // configuring of ktor client engine
      }
    }

## Downloading of files

In standard library requests there are no way to download some file retrieved in updates or after requests. You may use syntax like `bot.downloadFile(file)` where `file` is `TelegramMediaFile` from telegram, `FileId` or even `PathedFile` from GetFile request (sources).

## Live location

By default, you should handle updates of Live location by your code. But with extension bot#startLiveLocation you may provide all necessary startup parameters and handle updates with just calling `updateLocation` for retrieved LiveLocationProvider.

## What is next?

There are several things you may read next:

- Updates retrieving
- Read about second level of working with library
- Read about BehaviourBuilder