Skip to content

k1nky/pachca-client

Repository files navigation

RU EN

Pachca Client

Python клиент для мессенджера Пачка (pachca.com).

Поддерживаемый функционал

  • чаты
  • участники чата
  • загрузка файлов
  • сообщения
  • реакции
  • статус
  • задачи
  • теги
  • треды
  • пользователи

Установка

python -m pip install pachca-client

Pachca Client требует Python 3.6 или выше.

Примеры

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

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())

Сообщения

Отправка сообщения

# по ID чата
message = pachca.new_message(chat_id=111111, content="My message")

# по имени чата
message = pachca.new_message(chat_id='MyChatName', content="My message")

# по ID пользователя
message = pachca.new_message(chat_id=222222, chat_type='user', content="My message")

# по имени пользователя
message = pachca.new_message(chat_id='User Name', chat_type='user', content="My message")

# по ID треда
message = pachca.new_message(chat_id=333333, chat_type='thread', content="My message")

Отправка сообщений в тред

message = pachca.new_message(chat_id=111111, content="My message")
thread = pachca.new_thread(message['id'])
thread_message = pachca.new_message(chat_id=thread['id'], content="My message in the thread", chat_type='thread')

Отправка сообщения с вложением

from pachca_client import File
files = [
    File('file_a.txt'),
    File('image_a.png', file_type='image')
]
message = pachca.new_message(chat_id=123456, content="Test message!", files=files)

Отправка сообщения с кнопками

from pachca_client import Button
buttons = [
  [Button.data('Yes', 'yes'), Button.data('No', 'no')],
  [Button.url('Home', 'https://mycompany.org'),]
]
message = pachca.new_message(chat_id=123456, content="Test message!", buttons=buttons)

Закрепление/Открепить сообщение

from pachca_client.api.exceptions import PachcaAlreadyExists
try:
    pachca.pin_message(12345678)
except PachcaAlreadyExists:
    # сообщение уже закреплено
    pass

# открепить сообщение
pachca.unpin_message(12345678)

HTTP/HTTPS Proxy

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

from pachca_client import get_pachca

proxies = {
  'http': 'http://10.10.1.10:3128',
  'https': 'http://10.10.1.10:1080',
}
pachca =  get_pachca('MY_ACCESS_TOKEN', proxies=proxies)