Типы FunPayAPI#

В данном модуле описаны все типы пакета FunPayAPI

class FunPayAPI.types.ChatShortcut(id_: int, name: str, last_message_text: str, unread: bool, html: str, determine_msg_type: bool = True)#

Данный класс представляет виджет чата со страницы https://funpay.com/chat/

Параметры:
  • id (int) – ID чата.

  • name (str) – название чата (никнейм собеседника).

  • last_message_text (str) – текст последнего сообщения в чате (макс. 250 символов).

  • unread (bool) – флаг «непрочитанности» (True, если чат не прочитан (оранжевый). False, если чат прочитан).

  • html (str) – HTML код виджета чата.

  • determine_msg_type (bool, опционально) – определять ли тип последнего сообщения?

id: int#

ID чата.

name: str | None#

Название чата (никнейм собеседника).

last_message_text: str#

Текст последнего сообщения в чате (макс. 250 символов).

unread: bool#

Флаг «непрочитанности» (если True - в чате есть непрочитанные сообщения).

last_message_type: MessageTypes | None#

Тип последнего сообщения.

html: str#

HTML код виджета чата.

get_last_message_type() MessageTypes#

Определяет тип последнего сообщения в чате на основе регулярных выражений из MessageTypesRes.

!Внимание! Результат определения типа сообщения данным методом не является правильным в 100% случаев, т.к. он основан на сравнении с регулярными выражениями. Возможны «ложные срабатывание», если пользователь напишет «поддельное» сообщение, которое совпадет с одним из регулярных выражений.

Результат:

тип последнего сообщения.

Тип результата:

FunPayAPI.common.enums.MessageTypes

class FunPayAPI.types.Chat(id_: int, name: str, looking_link: str | None, looking_text: str | None, html: str, messages: list[FunPayAPI.types.Message] | None = None)#

Данный класс представляет личный чат.

Параметры:
  • id (int) – ID чата.

  • name (str) – название чата (никнейм собеседника).

  • looking_link (str or None) – ссылка на лот, который смотрит собеседник.

  • looking_text (str or None) – название лота, который смотрит собеседник.

  • html (str) – HTML код чата.

  • messages (list of FunPayAPI.types.Message or None) – последние 100 сообщений чата.

id: int#

ID чата.

name: str#

Название чата (никнейм собеседника).

Ссылка на лот, который в данный момент смотрит собеседник.

looking_text: str | None#

Название лота, который в данный момент смотрит собеседник.

html: str#

HTML код чата.

messages: list[FunPayAPI.types.Message]#

Последние 100 сообщений чата.

class FunPayAPI.types.Message(id_: int, text: str | None, chat_id: int | str, chat_name: str | None, author: str | None, author_id: int, html: str, image_link: str | None = None, determine_msg_type: bool = True, badge_text: str | None = None)#

Данный класс представляет отдельное сообщение.

Параметры:
  • id (int) – ID сообщения.

  • text (str or None) – текст сообщения (если есть).

  • chat_id (int or str) – ID чата, в котором находится данное сообщение.

  • chat_name (str or None) – название чата, в котором находится данное сообщение.

  • author (str, or None) – никнейм автора сообщения.

  • author_id (int) – ID автора сообщения.

  • html (str) – HTML код сообщения.

  • image_link (str or None, опционально) – ссылка на изображение из сообщения (если есть).

  • determine_msg_type (bool, опционально) – определять ли тип сообщения.

id: int#

ID сообщения.

text: str | None#

Текст сообщения.

chat_id: int | str#

ID чата.

chat_name: str | None#

Название чата.

type: MessageTypes | None#

Тип сообщения.

author: str | None#

Автор сообщения.

author_id: int#

ID автора сообщения.

html: str#

HTML-код сообщения.

Ссылка на изображение в сообщении (если оно есть).

by_bot: bool#

Отправлено ли сообщение с помощью FunPayAPI.Account.send_message()?

badge: str | None#

Текст бэйджика тех. поддержки.

get_message_type() MessageTypes#

Определяет тип сообщения на основе регулярных выражений из MessageTypesRes.

Внимание! Данный способ определения типа сообщения не является 100% правильным, т.к. он основан на сравнении с регулярными выражениями. Возможно ложное «срабатывание», если пользователь напишет «поддельное» сообщение, которое совпадет с одним из регулярных выражений. Рекомендуется делать проверку на author_id == 0.

Результат:

тип последнего сообщения в чате.

Тип результата:

FunPayAPI.common.enums.MessageTypes

class FunPayAPI.types.OrderShortcut(id_: str, description: str, price: float, buyer_username: str, buyer_id: int, status: OrderStatuses, date: datetime, subcategory_name: str, html: str, dont_search_amount: bool = False)#

Данный класс представляет виджет заказа со страницы https://funpay.com/orders/trade

Параметры:
  • id (str) – ID заказа.

  • description (str) – описание заказа.

  • price (float) – цена заказа.

  • buyer_username (str) – никнейм покупателя.

  • buyer_id (int) – ID покупателя.

  • status (FunPayAPI.common.enums.OrderStatuses) – статус заказа.

  • date (datetime.datetime) – дата создания заказа.

  • subcategory_name (str) – название подкатегории, к которой относится заказ.

  • html (str) – HTML код виджета заказа.

  • dont_search_amount (bool, опционально) – не искать кол-во товара.

id: str#

ID заказа.

description: str#

Описание заказа.

price: float#

Цена заказа.

amount: int | None#

Кол-во товаров.

buyer_username: str#

Никнейм покупателя.

buyer_id: int#

ID покупателя.

status: OrderStatuses#

Статус заказа.

date: datetime#

Дата создания заказа.

subcategory_name: str#

Название подкатегории, к которой относится заказ.

html: str#

HTML код виджета заказа.

parse_amount() int#

Парсит кол-во купленного товара (ищет подстроку по регулярному выражению).

Результат:

кол-во купленного товара.

Тип результата:

int

class FunPayAPI.types.Order(id_: str, status: OrderStatuses, subcategory: SubCategory, short_description: str | None, full_description: str | None, sum_: float, buyer_id: int, buyer_username: str, seller_id: int, seller_username: str, html: str, review: Review | None)#

Данный класс представляет заказ со страницы https://funpay.com/orders/<ORDER_ID>/

Параметры:
  • id (str) – ID заказа.

  • status (FunPayAPI.common.enums.OrderStatuses) – статус заказа.

  • subcategory (FunPayAPI.types.SubCategory) – подкатегория, к которой относится заказ.

  • short_description (str or None) – краткое описание (название) заказа.

  • full_description (str or None) – полное описание заказа.

  • sum (float) – сумма заказа.

  • buyer_id (int) – ID покупателя.

  • buyer_username (str) – никнейм покупателя.

  • seller_id (int) – ID продавца.

  • seller_username (str) – никнейм продавца.

  • html (str) – HTML код заказа.

  • review (FunPayAPI.types.Review or None) – объект отзыва на заказ.

id: str#

ID заказа.

status: OrderStatuses#

Статус заказа.

subcategory: SubCategory#

Подкатегория, к которой относится заказ.

short_description: str | None#

Краткое описание (название) заказа. То же самое, что и Order.title.

title: str | None#

Краткое описание (название) заказа. То же самое, что и Order.short_description.

full_description: str | None#

Полное описание заказа.

sum: float#

Сумма заказа.

buyer_id: int#

ID покупателя.

buyer_username: str#

Никнейм покупателя.

seller_id: int#

ID продавца.

seller_username: str#

Никнейм продавца.

html: str#

HTML код заказа.

review: Review | None#

Объект отзыва заказа.

class FunPayAPI.types.Category(id_: int, name: str, subcategories: list[FunPayAPI.types.SubCategory] | None = None)#

Класс, описывающий категорию (игру).

Параметры:
  • id (int) – ID категории (game_id / data-id).

  • name (str) – название категории (игры).

  • subcategories (list of FunPayAPI.types.SubCategory or None, опционально) – подкатегории.

id: int#

ID категории (game_id / data-id).

name: str#

Название категории (игры).

add_subcategory(subcategory: SubCategory)#

Добавляет подкатегорию в список подкатегорий.

Параметры:

subcategory (FunPayAPI.types.SubCategory) – объект подкатегории.

get_subcategory(subcategory_type: SubCategoryTypes, subcategory_id: int) SubCategory | None#

Возвращает объект подкатегории.

Параметры:
Результат:

объект подкатегории или None, если подкатегория не найдена.

Тип результата:

FunPayAPI.types.SubCategory or None

get_subcategories() list[FunPayAPI.types.SubCategory]#

Возвращает все подкатегории данной категории (игры).

Результат:

все подкатегории данной категории (игры).

Тип результата:

list of FunPayAPI.types.SubCategory

get_sorted_subcategories() dict[FunPayAPI.common.enums.SubCategoryTypes, dict[int, FunPayAPI.types.SubCategory]]#

Возвращает все подкатегории данной категории (игры) в виде словаря {type: {ID: подкатегория}}.

Результат:

все подкатегории данной категории (игры) в виде словаря {type: ID: подкатегория}}.

Тип результата:

dict {FunPayAPI.common.enums.SubCategoryTypes: dict {int, FunPayAPI.types.SubCategory}}

class FunPayAPI.types.SubCategory(id_: int, name: str, type_: SubCategoryTypes, category: Category)#

Класс, описывающий подкатегорию.

Параметры:
id: int#

ID подкатегории.

name: str#

Название подкатегории.

type: SubCategoryTypes#

Тип подкатегории.

category: Category#

Родительская категория (игра).

fullname: str#

Полное название подкатегории.

Публичная ссылка на список лотов подкатегории.

Приватная ссылка на список лотов подкатегории (для редактирования лотов).

class FunPayAPI.types.LotFields(lot_id: int, fields: dict)#

Класс, описывающий поля лота со страницы редактирования лота.

Параметры:
  • lot_id (int) – ID лота.

  • fields (dict) – словарь с полями.

lot_id: int#

ID лота.

title_ru: str#

Русское краткое описание (название) лота.

title_en: str#

Английское краткое описание (название) лота.

description_ru: str#

Русское полное описание лота.

description_en: str#

Английское полное описание лота.

amount: int | None#

Кол-во товара.

price: float#

Цена за 1шт.

active: bool#

Активен ли лот.

deactivate_after_sale: bool#

Деактивировать ли лот после продажи.

property fields: dict[str, str]#

Возвращает все поля лота в виде словаря.

Результат:

все поля лота в виде словаря.

Тип результата:

dict {str: str}

edit_fields(fields: dict[str, str])#

Редактирует переданные поля лота.

Параметры:

fields (obj:dict {str: str}) – поля лота, которые нужно заменить, и их значения.

set_fields(fields: dict)#

Сбрасывает текущие поля лота и устанавливает переданные. !НЕ РЕДАКТИРУЕТ СВОЙСТВА ЭКЗЕМЛПЯРА!

Параметры:

fields (dict {str: str}) – поля лота.

renew_fields() LotFields#

Обновляет __fields (возвращается в методе FunPayAPI.types.LotFields.get_fields()), основываясь на свойствах экземпляра. Необходимо вызвать перед сохранением лота на FunPay после изменения любого свойства экземпляра.

Результат:

экземпляр класса FunPayAPI.types.LotFields с новыми полями лота.

Тип результата:

FunPayAPI.types.LotFields

class FunPayAPI.types.LotShortcut(id_: int | str, server: str | None, description: str | None, price: float, subcategory: SubCategory, html: str)#

Данный класс представляет виджет лота.

Параметры:
  • id (int or str) – ID лота.

  • server (str or None) – название сервера (если указан в лоте).

  • description (str or None) – краткое описание (название) лота.

  • price (float) – цена лота.

  • subcategory (FunPayAPI.types.SubCategory) – подкатегория лота.

  • html (str) – HTML код виджета лота.

server: str | None#

Название сервера (если указан).

description: str | None#

Краткое описание (название) лота.

title: str | None#

Краткое описание (название) лота.

price: float#

Цена лота.

subcategory: SubCategory#

Подкатегория лота.

html: str#

HTML-код виджета лота.

Публичная ссылка на лот.

class FunPayAPI.types.UserProfile(id_: int, username: str, profile_photo: str, online: bool, banned: bool, html: str)#

Данный класс представляет пользователя FunPay.

Параметры:
  • id (int) – ID пользователя.

  • username (str) – никнейм пользователя.

  • profile_photo (str) – ссылка на фото профиля.

  • online (bool) – онлайн ли пользователь?

  • banned (bool) – заблокирован ли пользователь?

  • html (str) – HTML код страницы пользователя.

id: int#

ID пользователя.

username: str#

Никнейм пользователя.

profile_photo: str#

Ссылка на фото профиля.

online: bool#

Онлайн ли пользователь.

banned: bool#

Заблокирован ли пользователь.

html: str#

HTML код страницы пользователя.

get_lot(lot_id: int | str) LotShortcut | None#

Возвращает объект лота со страницы пользователя.

Параметры:

lot_id (int or str) – ID лота.

Результат:

объект лота со страницы пользователя или None, если объект не найден.

Тип результата:

FunPayAPI.types.LotShortcut or None

get_lots() list[FunPayAPI.types.LotShortcut]#

Возвращает список всех лотов пользователя.

Результат:

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

Тип результата:

list of FunPayAPI.types.LotShortcut

get_sorted_lots(mode: Literal[1]) dict[int | str, FunPayAPI.types.LotShortcut]#
get_sorted_lots(mode: Literal[2]) dict[FunPayAPI.types.SubCategory, dict[int | str, FunPayAPI.types.LotShortcut]]
get_sorted_lots(mode: Literal[3]) dict[FunPayAPI.common.enums.SubCategoryTypes, dict[int | str, FunPayAPI.types.LotShortcut]]

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

Параметры:

mode

вариант словаря.

1 - {ID: лот}

2 - {подкатегория: {ID: лот}}

3 - {тип лота: {ID: лот}}

Результат:

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

Тип результата:

dict {int or str: FunPayAPI.types.LotShortcut} (mode==1)

dict {FunPayAPI.types.SubCategory: dict {int or str: FunPayAPI.types.LotShortcut}} (mode==2)

dict {FunPayAPI.common.enums.SubCategoryTypes: dict {int or str: FunPayAPI.types.LotShortcut}} (mode==3)

add_lot(lot: LotShortcut)#

Добавляет лот в список лотов.

Параметры:

lot – объект лота.

get_common_lots() list[FunPayAPI.types.LotShortcut]#

Возвращает список стандартных лотов со страницы пользователя.

Результат:

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

Тип результата:

list of FunPayAPI.types.LotShortcut

get_currency_lots() list[FunPayAPI.types.LotShortcut]#

Возвращает список лотов-валют со страницы пользователя.

Результат:

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

Тип результата:

list of FunPayAPI.types.LotShortcut

class FunPayAPI.types.Review(stars: int | None, text: str | None, reply: str | None, anonymous: bool, html: str, order_id: str | None = None, author: str | None = None, author_id: int | None = None)#

Данный класс представляет отзыв на заказ.

Параметры:
  • stars (int or None) – кол-во звезд в отзыве.

  • text (str or None) – текст отзыва.

  • reply (str or None) – текст ответа на отзыв.

  • anonymous (bool) – анонимный ли отзыв?

  • html (str) – HTML код отзыва.

  • order_id (str or None, опционально) – ID заказа, к которому относится отзыв.

  • author (str or None, опционально) – автор отзыва.

  • author_id (int or None, опционально) – ID автора отзыва.

stars: int | None#

Кол-во звезде в отзыве.

text: str | None#

Текст отзыва.

reply: str | None#

Текст ответа на отзыв.

anonymous: bool#

Анонимный ли отзыв?

html: str#

HTML код отзыва.

order_id: str | None#

ID заказа, к которому относится отзыв.

author: str | None#

Автор отзыва.

author_id: int | None#

ID автора отзыва.

class FunPayAPI.types.Balance(total_rub: float, available_rub: float, total_usd: float, available_usd: float, total_eur: float, available_eur: float)#

Данный класс представляет информацию о балансе аккаунта.

Параметры:
  • total_rub (float) – общий рублёвый баланс.

  • available_rub (float) – доступный к выводу рублёвый баланс.

  • total_usd (float) – общий долларовый баланс.

  • available_usd (float) – доступный к выводу долларовый баланс.

  • total_eur – общий евро баланс.

  • available_eurfloat

total_rub: float#

Общий рублёвый баланс.

available_rub: float#

Доступный к выводу рублёвый баланс.

total_usd: float#

Общий долларовый баланс.

available_usd: float#

Доступный к выводу долларовый баланс.

total_eur: float#

Общий евро баланс.

available_eur: float#

Доступный к выводу евро баланс.