🎮 Client#
Base#
Bases:
ABC,APIClientAbstract Base API client for shared endpoints.
Retrieve available game server regions.
- Return type:
list[RegionInfo]- Returns:
List of regions.
Get current emission state.
- Parameters:
region (optional) – Game server region. Defaults to ru.
- Return type:
- Returns:
Emission state.
Retrieve public character profile including alliance, stats, and clan affiliation.
- Parameters:
username (
str) – Character name.region (optional) – Game server region. Defaults to ru.
- Return type:
- Returns:
Public character profile data.
List all registered clans.
Returns list of operation sessions.
- Parameters:
limit (optional) – Amount of sessions to return, starting from offset, (0-100). Defaults to 20.
offset (optional) – Amount of sessions to skip. Defaults to 0.
sort (optional) – Sorting field. Defaults to date_finish.
order (optional) – Sorting direction. Defaults to descending.
map (optional) – Filter by operations map name.
username (optional) – Filter by character name.
before (optional) – Filter sessions finished before ISO date (%Y-%m-%dT%H:%M:%SZ).
after (optional) – Filter sessions finished after ISO date (%Y-%m-%dT%H:%M:%SZ).
region (optional) – Game server region. Defaults to ru.
- Return type:
- Returns:
Paginated operations sessions listing.
Factory method for auction endpoint.
- Parameters:
item_id (
str) – Item identifier.region (optional) – Game server region. Defaults to ru.
- Return type:
- Returns:
Auction endpoint instance.
App#
- class AppClient(*, token=None, client_id=None, client_secret=None, base_url='http://eapi.stalcraft.net', timeout=60, json=False, region=None)[source]#
Bases:
SharedBaseClientAPI Client for application specific endpoints.
User#
- class UserClient(*, token, base_url='http://eapi.stalcraft.net', timeout=60, json=False, region=None)[source]#
Bases:
SharedBaseClientAPI Client for user specific endpoints.
- async characters(region=None)[source]#
Retrieve user characters.
- Parameters:
region (optional) – Game server region. Defaults to ru.
- Return type:
List[Character]- Returns:
List of user characters.
- async friends(character, region=None)[source]#
Retrieve user character friends list.
- Parameters:
character (
str) – User character name.region (optional) – Game server region. Defaults to ru.
- Return type:
List[str]- Returns:
List of user friends character names.
Models#
- class ClientModel(**data)[source]#
Bases:
BaseModelBase model for API response.
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class RegionInfo(**data)[source]#
Bases:
ClientModelGame server region information.
Endpoint: https://eapi.stalcraft.net/reference#/paths/regions/get
-
id:
str#
-
name:
str#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
id:
- class EmissionState(**data)[source]#
Bases:
ClientModelCurrent and previous emission status.
Reference: https://eapi.stalcraft.net/reference#/schemas/EmissionResponse
-
current_start:
Optional[datetime]#
-
previous_start:
Optional[datetime]#
-
previous_end:
Optional[datetime]#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
current_start:
- class ClanInfo(**data)[source]#
Bases:
ClientModelClan details and statistics.
Reference: https://eapi.stalcraft.net/reference#/schemas/ClanInfo
-
name:
str#
-
uuid:
str#
-
tag:
str#
-
level:
int#
-
level_points:
int#
-
registration_time:
datetime#
-
description:
str#
-
leader:
str#
-
member_count:
int#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
name:
- class ClanMember(**data)[source]#
Bases:
ClientModelClan member details.
Reference: https://eapi.stalcraft.net/reference#/schemas/ClanMember
-
name:
str#
-
join_time:
datetime#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
name:
- class ClanAffiliation(**data)[source]#
Bases:
ClientModelCharacter clan affiliation.
Reference: https://eapi.stalcraft.net/reference#/schemas/CharacterClanInfo
-
member:
ClanMember#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
member:
- class CharacterInfo(**data)[source]#
Bases:
ClientModelBasic character metadata.
-
name:
str#
-
uuid:
str#
-
creation_time:
datetime#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
name:
- class Character(**data)[source]#
Bases:
ClientModelUser Character details.
Endpoint: https://eapi.stalcraft.net/reference#/paths/region–characters/get
-
info:
CharacterInfo#
-
clan:
Optional[ClanAffiliation]#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
info:
- class Statistic(**data)[source]#
Bases:
ClientModelCharacter statistic.
Reference: https://eapi.stalcraft.net/reference#/schemas/CharacterStatValue
-
id:
str#
-
value:
Any#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
id:
- class CharacterProfile(**data)[source]#
Bases:
ClientModelPublic character profile.
Reference: https://eapi.stalcraft.net/reference#/schemas/CharacterProfileData
-
name:
str#
-
uuid:
str#
-
status:
str#
-
last_login:
Optional[datetime]#
-
displayed_achievements:
list[str]#
-
clan:
Optional[ClanAffiliation]#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
name:
- class AuctionLot(**data)[source]#
Bases:
ClientModelActual auction item lot.
Reference: https://eapi.stalcraft.net/reference#/schemas/Lot
-
item_id:
str#
-
amount:
int#
-
start_price:
int#
-
current_price:
Optional[int]#
-
buyout_price:
int#
-
start_time:
datetime#
-
end_time:
datetime#
-
additional:
Optional[Dict[str,Any]]#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
item_id:
- class AuctionPrice(**data)[source]#
Bases:
ClientModelHistorical auction price entry.
Reference: https://eapi.stalcraft.net/reference#/schemas/PriceEntry
-
amount:
int#
-
price:
int#
-
time:
datetime#
-
additional:
Optional[Dict[str,Any]]#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
amount:
- class OperationParticipant(**data)[source]#
Bases:
ClientModelPlayer statistics in an operation session.
Reference: https://eapi.stalcraft.net/reference#/schemas/OperationSessionParticipant
-
username:
str#
-
death:
int#
-
mob_kills:
int#
-
damage_received:
float#
-
damage_dealt:
float#
-
armor_class:
str#
-
armor_item_id:
Optional[str]#
-
armor_level:
int#
-
primary_weapon_item_id:
Optional[str]#
-
primary_weapon_level:
int#
-
secondary_weapon_item_id:
Optional[str]#
-
secondary_weapon_level:
int#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
username:
- class OperationSession(**data)[source]#
Bases:
ClientModelOperation session details.
Reference: https://eapi.stalcraft.net/reference#/schemas/OperationSession
-
id:
int#
-
map:
str#
-
start_time:
datetime#
-
end_time:
datetime#
-
difficulty:
int#
-
duration_seconds:
float#
-
reward:
int#
-
participants:
list[OperationParticipant]#
- model_config: ClassVar[ConfigDict] = {}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
-
id: