MarchSeven 2.0.1

dotnet add package MarchSeven --version 2.0.1
                    
NuGet\Install-Package MarchSeven -Version 2.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MarchSeven" Version="2.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MarchSeven" Version="2.0.1" />
                    
Directory.Packages.props
<PackageReference Include="MarchSeven" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MarchSeven --version 2.0.1
                    
#r "nuget: MarchSeven, 2.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MarchSeven@2.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MarchSeven&version=2.0.1
                    
Install as a Cake Addin
#tool nuget:?package=MarchSeven&version=2.0.1
                    
Install as a Cake Tool

MarchSeven

Библиотека-обертка для работы с HoyoLab API для получения данных об играх Genshin Impact, Honkai Star Rail и Zenless Zone Zero.

Описание

MarchSeven - это .NET библиотека, которая предоставляет удобный интерфейс для работы с официальными API HoyoLab. Библиотека поддерживает три основные игры:

  • Genshin Impact - получение статистики персонажей, ежедневных заметок, экспедиций
  • Honkai Star Rail - статистика аватаров, ежедневные заметки, экспедиции
  • Zenless Zone Zero - статистика и данные игры

Основные возможности

🎮 Мульти-игровая поддержка

  • Единый клиент для всех поддерживаемых игр
  • Автоматическое управление HTTP-соединениями
  • Поддержка различных регионов и серверов

🔐 Аутентификация

  • Поддержка различных типов cookies (Cookie, CookieV2, RawCookie)
  • Автоматическое управление сессиями
  • Безопасная работа с токенами

📊 Получение данных

  • Статистика пользователя и аккаунта
  • Игровые роли и персонажи
  • Ежедневные заметки и награды
  • Информация об экспедициях и трансформерах

Установка

dotnet add package MarchSeven

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

Создание клиента

using MarchSeven;
using MarchSeven.Models.Core.Cookie;

// Создаем cookie из строки
var cookie = Cookie.Create("your_cookie_string_here");

// Создаем основной клиент
var client = MarchSevenClient.Create(cookie);

Получение базовой информации

// Получаем статистику пользователя
var userStats = await client.FetchUserStats();

// Получаем информацию об аккаунте
var accountInfo = await client.GetUserAccountInfoByLToken();

// Получаем игровые роли
var gameRoles = await client.GetGameRoles();

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

Genshin Impact

// Работа с Genshin Impact
var genshinClient = client.Genshin;

// Получаем статистику персонажей
var stats = await genshinClient.FetchGenshinStatsAsync(uid);

// Получаем ежедневную заметку
var dailyNote = await genshinClient.FetchDailyNoteAsync(uid);

// Получаем информацию об экспедициях
var expeditions = dailyNote.Data.Expeditions;

// Проверяем трансформер
var transformer = dailyNote.Data.Transformer;

Honkai Star Rail

// Работа с Honkai Star Rail
var starRailClient = client.StarRail;

// Получаем статистику аватаров
var stats = await starRailClient.FetchStarRailStatsAsync(uid);

// Получаем ежедневную заметку
var dailyNote = await starRailClient.FetchDailyNoteAsync(uid);

// Получаем информацию об экспедициях
var expeditions = dailyNote.Data.Expeditions;

Zenless Zone Zero

// Работа с Zenless Zone Zero
var zenlessClient = client.Zenless;

// Получаем статистику
var stats = await zenlessClient.FetchZenlessStatsAsync(uid);

Структура проекта

MarchSeven/
├── Models/
│   ├── Abstractions/          # Базовые интерфейсы
│   ├── Core/                  # Основные модели и утилиты
│   ├── GenshinImpact/         # Модели для Genshin Impact
│   ├── HonkaiStarRail/        # Модели для Honkai Star Rail
│   ├── HoYoLab/               # Общие модели HoyoLab
│   └── ZenlessZoneZero/       # Модели для Zenless Zone Zero
├── Util/                      # Утилиты и вспомогательные классы
└── MarchSevenClient.cs        # Основной клиент

Обработка ошибок

Библиотека предоставляет специализированные исключения для различных типов ошибок:

try
{
    var stats = await client.FetchUserStats();
}
catch (AccountNotFoundException)
{
    Console.WriteLine("Аккаунт не найден");
}
catch (LoginExpiredException)
{
    Console.WriteLine("Сессия истекла, требуется повторная авторизация");
}
catch (HoyoLabApiBadRequestException ex)
{
    Console.WriteLine($"Ошибка API: {ex.Message}");
}
catch (DailyRewardAlreadyReceivedException)
{
    Console.WriteLine("Ежедневная награда уже получена");
}

Требования

  • .NET 9.0 или выше
  • Подключение к интернету для работы с HoyoLab API
  • Валидные cookies от HoyoLab

Лицензия

MIT License - см. файл LICENSE.txt

Поддержка

Если у вас есть вопросы или предложения, создайте Issue в репозитории проекта.

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

Мы приветствуем вклад в развитие проекта! Пожалуйста, создайте Pull Request или обсудите изменения в Issues.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.1 139 8/16/2025
2.0.0 120 8/16/2025