Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Warning

Проект создан исключительно в ознакомительных целях. Автор осуждает создание авторегов, ботов для накрутки лайков, спам-ботов и любых других инструментов, направленных на абуз или злоупотребление API Anixart.


AnixartJS

TypeScript-библиотека для работы с API Anixart в Node.js

npm license language issues

О проекте

AnixartJS — это имплементация API Anixart на TypeScript для Node.js.

Библиотека предоставляет удобный интерфейс для получения данных из Anixart: релизов, профилей, каналов, статей, ленты и других сущностей.

Можно использовать как готовые методы класса Anixart, так и прямой доступ к эндпоинтам через endpoints.

Возможности

  • работа с API Anixart через удобный TypeScript-интерфейс;
  • поддержка авторизации через логин и пароль;
  • возможность использовать уже существующий токен;
  • получение релизов, профилей, каналов, статей и ленты;
  • прямой доступ к эндпоинтам API;
  • поддержка CommonJS и ESM / TypeScript.

Установка

npm install anixartjs

Быстрый старт

CommonJS

const { Anixart } = require("anixartjs");

const anixart = new Anixart();

async function main() {
  const release = await anixart.getReleaseById(101, true);

  if (!release) {
    console.log("Релиз не найден.");
    return;
  }

  console.log(`Релиз: ${release.titleRu}`);
}

main().catch(console.error);

ESM / TypeScript

import { Anixart } from "anixartjs";

const anixart = new Anixart();

const release = await anixart.getReleaseById(101, true);

if (release) {
  console.log(`Релиз: ${release.titleRu}`);
}

Инициализация

Клиент можно создать без параметров:

import { Anixart } from "anixartjs";

const anixart = new Anixart();

Также можно передать дополнительные параметры:

const anixart = new Anixart({
  baseUrl: "https://api.anixart.tv",
  token: "your-token"
});
Параметр Тип Описание
baseUrl string Базовый URL API. По умолчанию используется URL Anixart API.
token string Токен для выполнения авторизованных запросов.

Авторизация

Для входа в аккаунт используйте метод login.

После успешной авторизации токен сохраняется внутри экземпляра клиента и используется для последующих запросов.

import { Anixart, DefaultResult } from "anixartjs";

const anixart = new Anixart();

const responseCode = await anixart.login("username", "password");

if (responseCode === DefaultResult.Ok) {
  console.log("Вход выполнен успешно.");
} else {
  console.log("Не удалось выполнить вход. Код:", responseCode);
}

Также можно сразу создать клиент с уже полученным токеном:

const anixart = new Anixart({
  token: "your-token"
});

Примеры использования

Получить канал по ID
const channel = await anixart.getChannelById(123);

if (channel) {
  console.log(`Название канала: ${channel.title}`);
} else {
  console.log("Канал не найден.");
}
Получить профиль пользователя по ID
const profile = await anixart.getProfileById(456);

if (profile) {
  console.log(`Имя пользователя: ${profile.login}`);
  console.log(`ID: ${profile.id}`);
} else {
  console.log("Профиль не найден.");
}
Получить последние статьи ленты
const articles = await anixart.getLatestFeed(1);

articles.forEach((article) => {
  console.log(`ID статьи: ${article.id}`);
});
Получить случайный релиз
const release = await anixart.getRandomRelease(true);

if (release) {
  console.log(`Случайный релиз: ${release.titleRu}`);
} else {
  console.log("Релиз не найден.");
}
Получить статью по ID
const article = await anixart.getArticleById(789);

if (article) {
  console.log(`ID статьи: ${article.id}`);
} else {
  console.log("Статья не найдена.");
}
Получить релиз по ID
const release = await anixart.getReleaseById(101, true);

if (release) {
  console.log(`Заголовок релиза: ${release.titleRu}`);
} else {
  console.log("Релиз не найден.");
}
Прямое использование эндпоинтов
const rawResponse = await anixart.endpoints.release.info(789, true);

console.log(rawResponse);

Полный пример

const { Anixart } = require("anixartjs");

const anixart = new Anixart();

async function main() {
  const article = await anixart.getArticleById(123);

  if (article) {
    console.log("Статья найдена:");
    console.log(`ID: ${article.id}`);
  } else {
    console.log("Статья не найдена.");
  }

  const profile = await anixart.getProfileById(456);

  if (profile) {
    console.log("Профиль пользователя:");
    console.log(`Имя пользователя: ${profile.login}`);
    console.log(`ID: ${profile.id}`);
  } else {
    console.log("Профиль не найден.");
  }

  const releaseInfo = await anixart.endpoints.release.info(789, true);

  console.log("Информация о релизе:");
  console.log(releaseInfo);
}

main().catch(console.error);

TODO

  • Добавить все эндпоинты API
  • Добавить классы для коллекций
  • Расширить документацию
  • Добавить полноценную поддержку использования библиотеки в браузере
  • Добавить больше примеров использования

Проекты, использующие AnixartJS

Проект Описание
AniDesk Неофициальный десктоп-клиент Anixart.
AnixApp Неофициальное приложение Anixart для ПК с функционалом совместного просмотра.

Вклад в проект

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

Можно помочь проекту несколькими способами:

  • сообщить об ошибке через issue;
  • предложить улучшение;
  • добавить новый эндпоинт;
  • улучшить документацию;
  • отправить pull request.

Лицензия

Проект распространяется под лицензией GPL-2.0.

Подробности можно найти в файле LICENSE.


Если у вас есть вопросы, идеи или вы нашли проблему, откройте issue в репозитории.

Releases

Packages

Used by

Contributors

Languages