pybotters.Client

class pybotters.Client(apis: dict[str, list[str]] | str | None = None, base_url: str = '', **kwargs: Any)

HTTP / WebSocket API Client.

自動認証を備えた HTTP クライアントです。

パラメータ:
  • apis -- API 認証情報

  • base_url -- ベース URL

  • **kwargs -- aiohttp.ClientSession にバイパスされる引数

Methods

__init__([apis, base_url])

HTTP / WebSocket API Client.

close()

Close client session.

delete(url, *[, data])

HTTP DELETE request.

fetch(method, url, *[, params, data])

Fetch API.

get(url, *[, params])

HTTP GET request.

post(url, *[, data])

HTTP POST request.

put(url, *[, data])

HTTP PUT request.

request(method, url, *[, params, data])

HTTP request.

ws_connect(url, *[, send_str, send_bytes, ...])

WebSocket request.

async close() None

Close client session.

delete(url: str, *, data: Any | None = None, **kwargs: Any) _RequestContextManager

HTTP DELETE request.

パラメータ:
  • url -- リクエスト URL

  • params -- リクエスト URL のクエリ文字列

  • data -- リクエストの本文で送信するデータ

  • auth -- 認証オプション (デフォルトで有効、None で無効)

  • **kwargs -- aiohttp.ClientSession.request にバイパスされる引数

戻り値:

aiohttp.ClientResponse

Usage example: HTTP method API

async fetch(method: Literal['GET', 'POST', 'PUT', 'DELETE'], url: str, *, params: Mapping[str, str] | None = None, data: Any | None = None, **kwargs: Any) FetchResult

Fetch API.

パラメータ:
  • method -- HTTP メソッド

  • url -- リクエスト URL

  • params -- リクエスト URL のクエリ文字列

  • data -- リクエストの本文で送信するデータ

  • auth -- 認証オプション (デフォルトで有効、None で無効)

  • **kwargs -- aiohttp.ClientSession.request にバイパスされる引数

戻り値:

FetchResult

Usage example: Fetch API

get(url: str, *, params: Mapping[str, str] | None = None, **kwargs: Any) _RequestContextManager

HTTP GET request.

パラメータ:
  • url -- リクエスト URL

  • params -- リクエスト URL のクエリ文字列

  • auth -- 認証オプション (デフォルトで有効、None で無効)

  • **kwargs -- aiohttp.ClientSession.request にバイパスされる引数

戻り値:

aiohttp.ClientResponse

Usage example: HTTP method API

post(url: str, *, data: Any | None = None, **kwargs: Any) _RequestContextManager

HTTP POST request.

パラメータ:
  • url -- リクエスト URL

  • data -- リクエストの本文で送信するデータ

  • auth -- 認証オプション (デフォルトで有効、None で無効)

  • **kwargs -- aiohttp.ClientSession.request にバイパスされる引数

戻り値:

aiohttp.ClientResponse

Usage example: HTTP method API

put(url: str, *, data: Any | None = None, **kwargs: Any) _RequestContextManager

HTTP PUT request.

パラメータ:
  • url -- リクエスト URL

  • params -- リクエスト URL のクエリ文字列

  • data -- リクエストの本文で送信するデータ

  • auth -- 認証オプション (デフォルトで有効、None で無効)

  • **kwargs -- aiohttp.ClientSession.request にバイパスされる引数

戻り値:

aiohttp.ClientResponse

Usage example: HTTP method API

request(method: str, url: str, *, params: Mapping[str, str] | None = None, data: Any | None = None, **kwargs: Any) _RequestContextManager

HTTP request.

パラメータ:
  • method -- HTTP メソッド

  • url -- リクエスト URL

  • params -- リクエスト URL のクエリ文字列

  • data -- リクエストの本文で送信するデータ

  • auth -- 認証オプション (デフォルトで有効、None で無効)

  • **kwargs -- aiohttp.ClientSession.request にバイパスされる引数

戻り値:

aiohttp.ClientResponse

Usage example: HTTP method API

ws_connect(url: str, *, send_str: str | list[str] | None = None, send_bytes: bytes | list[bytes] | None = None, send_json: dict | list[dict] | None = None, hdlr_str: ~typing.Callable[[str, ~aiohttp.client_ws.ClientWebSocketResponse], None] | list[~typing.Callable[[str, ~aiohttp.client_ws.ClientWebSocketResponse], None]] | None = None, hdlr_bytes: ~typing.Callable[[bytes, ~aiohttp.client_ws.ClientWebSocketResponse], None] | list[~typing.Callable[[bytes, ~aiohttp.client_ws.ClientWebSocketResponse], None]] | None = None, hdlr_json: ~typing.Callable[[~typing.Any, ~aiohttp.client_ws.ClientWebSocketResponse], None] | list[~typing.Callable[[~typing.Any, ~aiohttp.client_ws.ClientWebSocketResponse], None]] | None = None, backoff: tuple[float, float, float, float] = (1.92, 60.0, 1.618, 5.0), autoping: bool = True, heartbeat: float = 10.0, auth: ~pybotters.auth.Auth | None = <class 'pybotters.auth.Auth'>, **kwargs: ~typing.Any) WebSocketApp

WebSocket request.

パラメータ:
  • url -- リクエスト WebSocket URL

  • send_str -- 送信する WebSocket メッセージ (文字列)

  • send_bytes -- 送信する WebSocket メッセージ (バイト)

  • send_json -- 送信する WebSocket メッセージ (JSON)

  • hdlr_str -- WebSocket メッセージをハンドリングするコールバック (文字列)

  • hdlr_bytes -- WebSocket メッセージをハンドリングするコールバック (バイト)

  • hdlr_json -- WebSocket メッセージをハンドリングするコールバック (JSON)

  • backoff -- 再接続の指数バックオフ (最小、最大、係数、初期値)

  • autoping -- Ping に対する自動 Pong 応答 (デフォルト True)

  • heartbeat -- WebSocket ハートビート (デフォルト 10.0 秒)

  • auth -- 認証オプション (デフォルトで有効、None で無効)

  • **kwargs -- aiohttp.ClientSession.ws_connect にバイパスされる引数

戻り値:

WebSocketApp

Usage example: WebSocket API