Skip to content

Клиент

Andrey Shalashov edited this page Jul 10, 2024 · 1 revision

Создание клиента

Для получения клиента по умолчанию можно воспользоваться функцией get_pachca:

from pachca_client import get_pachca

pachca =  get_pachca('MY_ACCESS_TOKEN')

Более детальный способ создания клиента:

from pachca_client import Client, Cache, Pachca

pachca = Pachca(Client('MY_ACCESS_TOKEN'), Cache())

Кеширование

По умолчанию клиент кеширует списки пользователей и чатов. Это полезно, например, при массовой отправке сообщений в чат по его имени. Кеш хранится в памяти с TTL в 1 минуту.

Кеширование можно отключить:

pachca =  get_pachca('MY_ACCESS_TOKEN', cache_enabled=False)
# или
pachca = Pachca(Client('MY_ACCESS_TOKEN'), None)

Можно сделать собственый кеш, например:

class CustomCache:

    def update(self, scope: str, value: Any) -> None:
        pass

    def get(self, scope: str) -> Any:
        pass

TTL можно настроить:

pachca = Pachca(Client('MY_ACCESS_TOKEN'), Cache(ttl=3600))

HTTP/HTTPS Proxy

Если требуется использование http прокси, то можно указать параметр proxies при создании клиента или указать соответсвующие переменные окружения HTTP_PROXY, HTTPS_PROXY (см. https://docs.python-requests.org/en/latest/user/advanced/#proxies).

...
proxies = {
  'http': 'http://10.10.1.10:3128',
  'https': 'http://10.10.1.10:1080',
}
pachca =  get_pachca('MY_ACCESS_TOKEN', proxies=proxies)
# или
pachca = Pachca(Client('MY_ACCESS_TOKEN', proxies=proxies), Cache())
...
Clone this wiki locally