HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Python
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 16.06.2025, 20:13
fakelag28
Познающий
Регистрация: 23.08.2022
Сообщений: 58
С нами: 1961408

Репутация: 23
По умолчанию

DepsPy​
Асинхронная библиотека для работы с Deps API на Python.

Библиотека доступна на PyPI, исходный код на GitHub.

Установка​

Код:





Код:
pip install depspy


Использование​

Python:





Код:
import
asyncio
from
depspy
import
DepsClient
async
def
main
(
)
:
async
with
DepsClient
(
"YOUR_API_KEY"
)
as
client
:
# Получение информации об игроке
player
=
await
client
.
get_player
(
"Nicolas_Reed"
,
5
)
print
(
player
)
await
asyncio
.
sleep
(
3
)
# Получение списка онлайн игроков
online
=
await
client
.
get_online_players
(
5
)
print
(
f"Онлайн игроков:{len(online.data)}"
)
await
asyncio
.
sleep
(
3
)
# Получение списка фракций
fractions
=
await
client
.
get_fractions
(
5
)
print
(
f"Доступно{len(fractions.data)}фракций:{fractions.data}"
)
await
asyncio
.
sleep
(
3
)
# Пробив каждой доступной фракции
for
fraction_id
in
fractions
.
data
:
try
:
fraction_online
=
await
client
.
get_fraction_online
(
5
,
fraction_id
)
print
(
f"Онлайн во фракции '{fraction_id}':{len(fraction_online.data)}"
)
await
asyncio
.
sleep
(
5
)
except
Exception
as
e
:
print
(
f"Не удалось получить онлайн для фракции '{fraction_id}':{e}"
)
await
asyncio
.
sleep
(
5
)
if
__name__
==
"__main__"
:
asyncio
.
run
(
main
(
)
)


Особенности​
  • Полностью асинхронный API
  • Автоматическая обработка ошибок
  • Поддержка корпоративных ключей
  • Автоматические повторные попытки при ошибках
  • Типизация данных с помощью Pydantic
  • Поддержка контекстного менеджера
  • Встроенное кэширование запросов
  • Валидация входных данных
  • Подробное логирование
  • Поддержка прокси
  • Настраиваемые таймауты
  • SSL верификация

Методы API​Основные методы:
  • Код:
    get_player(nickname: str, server_id: int)
    - Информация об игроке
  • Код:
    get_interviews(server_id: int)
    - Информация о собеседованиях
  • Код:
    get_online_players(server_id: int)
    - Список онлайн игроков
  • Код:
    get_fractions(server_id: int)
    - Список фракций
  • Код:
    get_fraction_online(server_id: int, fraction_id: str)
    - Онлайн фракции
  • Код:
    get_admins(server_id: int)
    - Список администраторов
  • Код:
    get_status()
    - Статус серверов

Дополнительные методы:
  • Код:
    get_player_by_id(player_id: int, server_id: int)
  • Код:
    get_server_info(server_id: int)
  • Код:
    get_online_count(server_id: int)
  • Код:
    get_fraction_members_count(server_id: int, fraction_id: str)
  • Код:
    is_player_online(nickname: str, server_id: int)
  • Код:
    get_player_level(nickname: str, server_id: int)
  • Код:
    get_player_money(nickname: str, server_id: int)
  • Код:
    get_player_organization(nickname: str, server_id: int)
  • Код:
    get_player_property(nickname: str, server_id: int)
  • Код:
    get_player_vip_info(nickname: str, server_id: int)

Обработка ошибок​Основные ошибки:
  • UnauthorizedError - Ошибка авторизации
  • RateLimitError - Превышен лимит запросов
  • PlayerNotFoundError - Игрок не найден
  • ServerNotFoundError - Сервер не найден
  • APIError - Общая ошибка API

Дополнительные ошибки:
  • InvalidAPIKeyError
  • ExpiredAPIKeyError
  • InsufficientPermissionsError
  • InvalidServerIDError
  • InvalidNicknameError
  • InvalidFractionIDError
  • ValidationError
  • MaintenanceError
  • TimeoutError
  • ConnectionError
  • ProxyError
  • SSLError
  • DNSResolutionError

Настройка клиента​

Python:





Код:
client
=
DepsClient
(
api_key
=
"YOUR_API_KEY"
,
corporate_key
=
False
,
# Использовать корпоративный ключ
base_url
=
"https://api.depscian.tech/v2"
,
# Базовый URL API
timeout
=
30
,
# Таймаут запросов (сек)
max_retries
=
3
,
# Макс. попыток
cache_ttl
=
300
,
# Время жизни кэша (сек)
proxy
=
"http://proxy.example.com:8080"
,
# Прокси
verify_ssl
=
True
,
# Проверка SSL
log_level
=
logging
.
INFO
# Уровень логирования
)


Требования​
  • Python 3.8+
  • aiohttp>=3.8.0
  • pydantic>=2.0.0
 
Ответить с цитированием

  #2  
Старый 01.07.2025, 23:38
fakelag28
Познающий
Регистрация: 23.08.2022
Сообщений: 58
С нами: 1961408

Репутация: 23
По умолчанию

Добавил новые методы:

Python:





Код:
get_map
(
server_id
:
int
)
-
>
MapResponse
get_ghetto
(
server_id
:
int
)
-
>
GhettoResponse


Новые данные в объект игрока:

Код:
status: str
timestamp: int
Два примера для работы с новыми методами - ghetto_example.py и map_example.py

Обновление до новой версии:

Bash:





Код:
pip
install
depspy --upgrade
 
Ответить с цитированием

  #3  
Старый 11.07.2025, 19:44
fakelag28
Познающий
Регистрация: 23.08.2022
Сообщений: 58
С нами: 1961408

Репутация: 23
По умолчанию

Обновил модели под новую структуру ответов.

Bash:





Код:
pip
install
depspy --upgrade
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.