GitHub Репозиторий на GitHub
NPM Пакет в NPM репозитории
Официальная библиотека @depsapi/deps-js предоставляет удобный изоморфный интерфейс для работы с Deps API, работая как в Node.js, так и в браузерах и Deno.
Библиотека разработана и поддерживается командой Deps API.
Установка
pnpm install @depsapi/deps-js
Рекомендуется использовать Node.js v20 (LTS) или выше. import { DepsClient } from "https://esm.sh/@depsapi/deps-js?dts" ;
< script type = "module" >
import { DepsClient } from "https://esm.sh/@depsapi/deps-js" ;
</ script >
Быстрый старт
Простой пример получения статуса API.
import { DepsClient } from "@depsapi/deps-js" ;
async function main () {
// Обязательно используйте ваш API ключ
const client = new DepsClient ({ apiKey: "YOUR_API_KEY" });
const status = await client . status . get ();
console . log ( status );
}
main ();
Ключевые особенности
Библиотека @depsapi/deps-js разработана для максимальной эффективности и удобства разработчика.
Изоморфность Работает в Node.js, Deno и современных браузерах без дополнительной настройки.
Типизация Полная поддержка TypeScript для предсказуемости и удобства разработки.
Легковесность Минимальный размер благодаря использованию ofetch, не перегружая ваши проекты.
Модульность API разделено на логические модули для лучшей организации кода.
Примеры использования
import { DepsClient } from "@depsapi/deps-js" ;
async function main () {
const client = new DepsClient ({ apiKey: "YOUR_API_KEY" });
try {
const player = await client . player . find ({ serverId: 5 , nickname: "Nicolas_Reed" });
console . log ( `Найден игрок: ${ player . nickname } , уровень: ${ player . level } ` );
const isOnline = await client . player . isOnline ({ serverId: 5 , nickname: "Nicolas_Reed" });
console . log ( `Игрок онлайн: ${ isOnline } ` );
} catch ( error ) {
if ( error . data ?. errorCode === 'PLAYER_NOT_FOUND' ) {
console . log ( "Игрок с таким никнеймом не найден." );
} else {
console . error ( `Произошла ошибка: ${ error . message } ` );
}
}
}
main ();
import { DepsClient } from "@depsapi/deps-js" ;
async function main () {
const client = new DepsClient ({ apiKey: "YOUR_API_KEY" });
const online = await client . online . get ({ serverId: 5 });
console . log ( `Всего онлайн на сервере: ${ online . length } ` );
const admins = await client . admins . get ({ serverId: 5 });
console . log ( `Администраторов онлайн: ${ admins . length } ` );
const interviews = await client . sobes . get ({ serverId: 5 });
if ( interviews . length > 0 ) {
console . log ( "Идут собеседования:" );
for ( const interview of interviews ) {
console . log ( `- ${ interview . name } (Лидер: ${ interview . leader } )` );
}
} else {
console . log ( "Собеседования в данный момент не проводятся." );
}
}
main ();
import { DepsClient } from "@depsapi/deps-js" ;
async function main () {
const client = new DepsClient ({ apiKey: "YOUR_API_KEY" });
const fractions = await client . fractions . list ({ serverId: 5 });
console . log ( `Доступные фракции для отслеживания: ${ fractions } ` );
if ( fractions . length > 0 ) {
const fractionId = fractions [ 0 ];
const fractionOnline = await client . fractions . online ({ serverId: 5 , fractionId: fractionId });
console . log ( `Онлайн во фракции ' ${ fractionId } ': ${ fractionOnline . length } ` );
}
}
main ();
Обработка исключений
Библиотека выбрасывает типизированные исключения для удобной обработки ошибок.
import { DepsClient , DepsApiError , ValidationError } from '@depsapi/deps-js' ;
async function main () {
const client = new DepsClient ({ apiKey: "INVALID_API_KEY" });
try {
await client . player . find ({ serverId: 1 , nickname: 'some_player' });
} catch ( error ) {
if ( error instanceof ValidationError ) {
console . error ( 'Ошибка валидации:' , error . data );
} else if ( error instanceof DepsApiError ) {
if ( error . data ?. errorCode === 'UNAUTHORIZED' ) {
console . error ( "Ошибка: Неверный или просроченный API ключ." );
} else if ( error . data ?. errorCode === 'TOO_MANY_REQUESTS' ) {
console . error ( `Превышен лимит запросов. Попробуйте позже.` );
} else {
console . error ( 'Ошибка API:' , error . message , error . data );
}
} else {
console . error ( 'Произошла неизвестная ошибка:' , error );
}
}
}
main ();
Основные ошибки: ValidationError (ошибки валидации входных данных), DepsApiError (обертка для всех ошибок API).
Расширенная настройка клиента
Вы можете тонко настроить клиент DepsClient при его инициализации, передав нужные параметры в конструктор.
import { DepsClient } from "@depsapi/deps-js" ;
const client = new DepsClient ({
apiKey: "YOUR_API_KEY" ,
baseUrl: "https://api.depscian.tech" ,
});
Параметр Тип По умолчанию Описание apiKeystring- Обязательный. Ваш API-ключ.baseUrlstringhttps://api.depscian.techБазовый URL API.