API Reference#

class pyspw.api.SpApi(card_id: str, card_token: str)#

Bases: object

API класс для работы с spworlds api

Parameters:
  • card_id (str) – Индефикатор карты

  • card_token (str) – Секретный ключ доступа карты

ping() bool#

Проверка работоспособности API.

Returns:

Состояние API.

get_user(discord_id: str) User#

Получение пользователя.

Parameters:

discord_id (bool) – ID пользователя дискорда.

Returns:

Объект пользователя.

Raises:

SpwUserNotFound – Пользователь не был найден.

check_access(discord_id: str) bool#

Получение статуса проходки.

Parameters:

discord_id (bool) – ID пользователя дискорда.

Returns:

Состояние проходки пользователя.

check_webhook(webhook_data: str, X_Body_Hash: str) bool#

Валидирует webhook.

Parameters:
  • webhook_data (str) – Тело webhook’а.

  • X_Body_Hash (str) – Хэдер X-Body-Hash из webhook.

Returns:

Верефецирован или нет вебхук.

create_payment(payment: Payment) str#

Создание ссылки на оплату.

Parameters:

payment (Payment) – Параметры оплаты.

Returns:

Ссылку на страницу оплаты, на которую стоит перенаправить пользователя.

send_transaction(transaction: Transaction)#

Отправка транзакции.

Parameters:

transaction (Transaction) – Параметры транзакции.

Raises:
  • SpwInsufficientFunds – Недостаточно средств на карте.

  • SpwCardNotFound – Карта получателя не найдена.

card() SelfCard#

Получение информации о токен-карте.

Returns:

Card класс с информации о карте.

get_balance() int#

Получение баланса.

Returns:

Значения баланса карты.

set_transaction_webhook(url: Optional[str])#

Установка адреса для получения вебхуков о транзакциях по карте.

Parameters:

url (Optional[str]) – Адрес вебхука.

me() SelfUser#

Получения пользователя владельца карты.

Returns:

Пользователь владельца карты.

get_user_cards(username: str) List[Card]#

Получения карта пользователя.

Parameters:

username (str) – Имя пользователя у которого надо получить карты.

Returns:

Список карт пользователя.

get_users(discord_ids: List[str], delay: float = 0.3) List[User]#

Получение пользователей.

Parameters:
  • delay (float) – Значение задержки между запросами, указывается в секундах.

  • discord_ids (List[str]) – Список discord id пользователей, которых вы бы хотели получить.

Returns:

Список с пользователями.

Raises:

SpwUserNotFound – Пользователь не был найден.

check_accesses(discord_ids: List[str], delay: float = 0.3) List[bool]#

Получение статуса проходок.

Parameters:
  • delay (float) – Значение задержки между запросами, указывается в секундах.

  • discord_ids (List[str]) – Список discord id пользователей статусы проходок, которых вы бы хотели получить.

Returns:

Список со статусами проходок.

create_payments(payments: List[Payment], delay: float = 0.5) List[str]#

Создание ссылок на оплату.

Parameters:
  • delay (float) – Значение задержки между запросами, указывается в секундах.

  • payments (List[Payment]) – Список параметров оплаты.

Returns:

Список ссылок на оплату.

send_transactions(transactions: List[Transaction], delay: float = 0.5, safe: bool = True) None#

Отправка транзакций.

Warning

Важно: Если safe=true, то перед множетсвенной отправки транзаций проводится дополнительная проверка на количество средств на карте. В случае если во время совершения транзакций кто-либо еще спишет с этой карты сумму, после которой остаток на карте не будет достаточен для проведения транзакции, то выполнение транзакций прервется, а предыдущие транзации не откатятся.

Parameters:
  • safe (bool) – Значение задержки между запросами, указывается в секундах.

  • delay (float) – Значение задержки между запросами, указывается в секундах.

  • transactions (List[Transaction]) – Список параметров транзакций

Raises:
  • SpwInsufficientFunds – Недостаточно средств на карте.

  • SpwCardNotFound – Карта получателя не найдена.