VeeFriends.WikiImporter 5.0.11

There is a newer version of this package available.
See the version list below for details.
dotnet add package VeeFriends.WikiImporter --version 5.0.11                
NuGet\Install-Package VeeFriends.WikiImporter -Version 5.0.11                
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="VeeFriends.WikiImporter" Version="5.0.11" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add VeeFriends.WikiImporter --version 5.0.11                
#r "nuget: VeeFriends.WikiImporter, 5.0.11"                
#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.
// Install VeeFriends.WikiImporter as a Cake Addin
#addin nuget:?package=VeeFriends.WikiImporter&version=5.0.11

// Install VeeFriends.WikiImporter as a Cake Tool
#tool nuget:?package=VeeFriends.WikiImporter&version=5.0.11                

VeeFriends.WikiImporter 📘🌍

NuGet Version

VeeFriends.WikiImporter is a .NET library designed to automate the import and transformation of character data from ClickUp into a structured format, incorporating AI-driven enhancements and media assets. The library integrates with multiple services, including Google Drive, Cloudinary, and ChatGPT, to enrich character data with link previews, images, and more.

Features

  • Automated import of character data from ClickUp
  • AI-driven content processing via ChatGPT
  • Integration with Google Drive for media assets
  • Cloudinary support for optimized image storage
  • Link preview generation for social and media content
  • Caching and error handling for efficient processing
  • Dependency Injection support for seamless integration

Installation

Install the VeeFriends.WikiImporter NuGet package in your project:

dotnet add package VeeFriends.WikiImporter

Usage

1. Configuration

Configure the necessary services in your Startup.cs or Program.cs file:

using Microsoft.Extensions.DependencyInjection;
using VeeFriends.WikiImporter;

var services = new ServiceCollection();
services.AddWikiImporter(
    configureChatGpt: options => { options.ApiKey = "your-api-key"; options.Model = "gpt-4"; },
    configureSystemPrompt: options => { options.Prompt = "Your system prompt here"; },
    configureClickUp: options => { options.ApiKey = "your-clickup-api-key"; },
    configureCloudinary: options => { options.CloudName = "your-cloudinary-name"; },
    configureGoogleDrive: options => { options.ApiKey = "your-google-drive-api-key"; },
    linkPreviewOptions: options => { options.ApiKey = "your-link-preview-api-key"; },
    configureDZineAi: options => { options.ApiKey = "your-dzine-ai-api-key"; }
);

2. Executing an Import

Inject the CharacterImporter service and call ExecuteImport to start importing character data:

public class WikiImportService
{
    private readonly CharacterImporter _characterImporter;

    public WikiImportService(CharacterImporter characterImporter)
    {
        _characterImporter = characterImporter;
    }

    public async Task ImportCharactersAsync()
    {
        var importOptions = new ImportOptions
        {
            OnProgress = (progress, _) => Console.WriteLine($"Progress: {progress}%"),
            OnError = (error, _) => Console.WriteLine($"Error: {error.Message}"),
            DelayBetweenRequests = TimeSpan.FromSeconds(1),
            SkipCache = false
        };

        await _characterImporter.ExecuteImport(importOptions, CancellationToken.None);
    }
}

3. Error Handling

The library provides structured error handling using logging and event-driven error reporting:

try
{
    await _characterImporter.ExecuteImport(importOptions, CancellationToken.None);
}
catch (Exception ex)
{
    Console.WriteLine($"Import failed: {ex.Message}");
}

Extending the Library

Adding a New Data Source

To extend the importer with a new data source:

  1. Implement a new data provider service that retrieves content.
  2. Modify CharacterImporter to include the new source.
  3. Integrate processing logic using ModifyWithGoogleDrive or ModifyWithLinkPreview patterns.
  4. Register the new service in ServiceCollectionExtensions.

Dependencies

VeeFriends.WikiImporter relies on several external services:

  • ClickUp: For retrieving character wiki pages
  • ChatGPT: For AI-driven text processing
  • Google Drive: For media file storage and retrieval
  • Cloudinary: For optimized image hosting
  • Link Preview: For generating link previews of media content
  • Microsoft.Extensions.DependencyInjection: For dependency injection support

License

This project is licensed under the MIT License. See the LICENSE file for more details.

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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
5.0.14 57 2/18/2025
5.0.13 73 2/18/2025
5.0.12 63 2/18/2025
5.0.11 73 2/17/2025
5.0.10 65 2/17/2025
5.0.9 67 2/14/2025
5.0.8 60 2/14/2025
5.0.7 63 2/13/2025
5.0.5 80 2/12/2025