diff --git a/.env.example b/.env.example deleted file mode 100644 index 56d0e8a..0000000 --- a/.env.example +++ /dev/null @@ -1 +0,0 @@ -DISCORD_APP_ID=your_app_id_here \ No newline at end of file diff --git a/DiscordPresence.cs b/DiscordPresence.cs deleted file mode 100644 index 3c22c3d..0000000 --- a/DiscordPresence.cs +++ /dev/null @@ -1,40 +0,0 @@ -using DiscordRPC; -using DiscordRPC.Logging; -using System; - -class DiscordPresence -{ - private static DiscordRpcClient client; - - public static void Init(string clientId) - { - client = new DiscordRpcClient(clientId); - client.Logger = new ConsoleLogger() { Level = LogLevel.Warning }; - client.Initialize(); - } - - public static void SetPresence(string image, string texte, string sousTexte) - { - if (client == null) - { - Console.WriteLine("Erreur : Discord RPC non initialisé. Appelle Init(clientId) avant."); - return; - } - - client.SetPresence(new RichPresence() - { - Details = texte, - State = sousTexte, - Assets = new Assets() - { - LargeImageKey = image, - LargeImageText = texte - } - }); - } - - public static void Close() - { - client.Dispose(); - } -} \ No newline at end of file diff --git a/Meio.Api/Api.cs b/Meio.Api/Api.cs deleted file mode 100644 index 22dcb45..0000000 --- a/Meio.Api/Api.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System.Runtime.CompilerServices; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Console; -using PrettyLogging.Console; - -namespace Meio.Api; - -public class Api -{ - private static ILoggerFactory? LoggerFactory { get; set; } - - public static ILogger? Logger { get; private set; } - - [ModuleInitializer] - public static void Init() - { - // Create and configure PrettyLogger - LoggerFactory = Microsoft.Extensions.Logging.LoggerFactory.Create(builder => - { - builder.ClearProviders(); - builder.AddPrettyConsole(opt => - { - opt.ShowLogLevel = true; - opt.ShowEventId = false; - opt.ShowManagedThreadId = false; - opt.SingleLine = true; - opt.IncludeScopes = true; - opt.ShowTimestamp = true; - opt.LogLevelCase = LogLevelCase.Upper; - opt.CategoryMode = LoggerCategoryMode.Short; - opt.ColorBehavior = LoggerColorBehavior.Enabled; - opt.UseUtcTimestamp = false; - }); - -#if DEBUG - builder.SetMinimumLevel(LogLevel.Trace); -#else - builder.SetMinimumLevel(LogLevel.Information); -#endif - }); - - Logger = LoggerFactory.CreateLogger(); - Logger.LogInformation("Meio API started."); - } - - public static void Main() - { - Init(); - } -} \ No newline at end of file diff --git a/Meio.Api/Interfaces/Services/IAudioMetadataService.cs b/Meio.Api/Interfaces/Services/IAudioMetadataService.cs new file mode 100644 index 0000000..c87603c --- /dev/null +++ b/Meio.Api/Interfaces/Services/IAudioMetadataService.cs @@ -0,0 +1,9 @@ +using System.Threading; +using System.Threading.Tasks; + +namespace Meio.Api.Interfaces.Services; + +public interface IAudioMetadataService +{ + public Task GetReleasePictureAsync(string releaseId, CancellationToken cancellationToken = default); +} \ No newline at end of file diff --git a/Meio.Api/Interfaces/Services/IAudioPlayerService.cs b/Meio.Api/Interfaces/Services/IAudioPlayerService.cs new file mode 100644 index 0000000..9736d47 --- /dev/null +++ b/Meio.Api/Interfaces/Services/IAudioPlayerService.cs @@ -0,0 +1,23 @@ +using System; +using LibVLCSharp.Shared; + +namespace Meio.Api.Interfaces.Services; + +public interface IAudioPlayerService +{ + public Media? Play(string audioFilePath); + + public Media? Play(Uri audioUri); + + public void Stop(); + + public void Pause(); + + public void ChangeVolume(int newVolume); + + public void ChangePlaybackSpeed(float speed); + + public void Mute(); + + public void Unmute(); +} \ No newline at end of file diff --git a/Meio.Api/Meio.Api.csproj b/Meio.Api/Meio.Api.csproj index cefad2b..254efc8 100644 --- a/Meio.Api/Meio.Api.csproj +++ b/Meio.Api/Meio.Api.csproj @@ -7,12 +7,17 @@ - + + + + + + diff --git a/Meio.Api/MeioLogger.cs b/Meio.Api/MeioLogger.cs new file mode 100644 index 0000000..4227c3c --- /dev/null +++ b/Meio.Api/MeioLogger.cs @@ -0,0 +1,47 @@ +using System; +using Microsoft.Extensions.Logging; + +namespace Meio.Api; + +public interface IMeioLogger +{ + public void LogDebug(string message, params object[] args); + + public void LogInformation(string message, params object[] args); + + public void LogWarning(string message, params object[] args); + + public void LogError(string message, params object[] args); + + public void LogError(Exception ex, string message, params object[] args); +} + +internal sealed class MeioLogger(ILoggerFactory loggerFactory) : IMeioLogger +{ + private readonly ILogger _logger = loggerFactory.CreateLogger("Meio.Api"); + + public void LogDebug(string message, params object[] args) + { + _logger.LogDebug(message, args); + } + + public void LogInformation(string message, params object[] args) + { + _logger.LogInformation(message, args); + } + + public void LogWarning(string message, params object[] args) + { + _logger.LogWarning(message, args); + } + + public void LogError(string message, params object[] args) + { + _logger.LogError(message, args); + } + + public void LogError(Exception ex, string message, params object[] args) + { + _logger.LogError(ex, message, args); + } +} \ No newline at end of file diff --git a/Meio.Api/Program.cs b/Meio.Api/Program.cs new file mode 100644 index 0000000..5b84df2 --- /dev/null +++ b/Meio.Api/Program.cs @@ -0,0 +1,56 @@ +using System; +using Meio.Api; +using Meio.Api.Interfaces.Services; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; +using PrettyLogging.Console; + +/* This demonstrates how to set up and use the Meio.Api with + * - Dependency Injection + * - Logging with PrettyConsole + * - HTTP client configuration + * - AudioPlayerService example usage + * + * We build a generic host, that will handle the container for dependencies, + * manage the application's lifetime and provide a basic logging infrastructure. + */ +var host = Host.CreateDefaultBuilder(args).ConfigureServices((_, services) => +{ + // Configure logging via PrettyConsole + services.AddLogging(builder => + { + builder.ClearProviders(); + builder.SetMinimumLevel(LogLevel.Debug); + builder.AddPrettyConsole(opt => + { + opt.ShowLogLevel = true; + opt.SingleLine = true; + opt.IncludeScopes = true; + opt.LogLevelCase = LogLevelCase.Upper; + }); + }); + + // Configure HTTP client for external API calls (MusicBrainz, etc.). + services.AddHttpClient("Meio", + client => + { + client.DefaultRequestHeaders.Add("User-Agent", "Meio/1.0"); + client.Timeout = TimeSpan.FromSeconds(30); + }); + + services.AddMeioApi(); // Services are registered here. +}).Build(); + +host.Start(); // Start the host to initialize registered services. + +// Resolve the audio player service. +var audioPlayerService = host.Services.GetRequiredService(); +// var metadataService = host.Services.GetRequiredService(); // Uncomment when needed + +Console.WriteLine("Playing example audio"); +audioPlayerService.Play("/example/audio/path"); // TODO: Add audio samples + +// Waiting until graceful shutdown (CTRL+C) +Console.WriteLine("Press CTRL+C to exit..."); +host.WaitForShutdown(); \ No newline at end of file diff --git a/Meio.Api/ServiceCollectionExtensions.cs b/Meio.Api/ServiceCollectionExtensions.cs new file mode 100644 index 0000000..b010ceb --- /dev/null +++ b/Meio.Api/ServiceCollectionExtensions.cs @@ -0,0 +1,16 @@ +using Meio.Api.Interfaces.Services; +using Meio.Api.Services; +using Microsoft.Extensions.DependencyInjection; + +namespace Meio.Api; + +public static class ServiceCollectionExtensions +{ + public static IServiceCollection AddMeioApi(this IServiceCollection services) + { + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + return services; + } +} \ No newline at end of file diff --git a/Meio.Api/Services/AudioMetadataService.cs b/Meio.Api/Services/AudioMetadataService.cs index 42e5c3c..dacfb64 100644 --- a/Meio.Api/Services/AudioMetadataService.cs +++ b/Meio.Api/Services/AudioMetadataService.cs @@ -1,71 +1,38 @@ -using System.IO; -using Microsoft.Extensions.Logging; -using TagLib; -using File = TagLib.File; +using System.Linq; +using System.Net.Http; +using System.Text.Json; +using System.Threading; +using System.Threading.Tasks; +using Meio.Api.Interfaces.Services; namespace Meio.Api.Services; -public class MetadataInfo +internal sealed class AudioMetadataService(IMeioLogger logger, IHttpClientFactory httpClientFactory) : IAudioMetadataService { - public string? Title { get; init; } + // https://musicbrainz.org/ws/2/ + // https://coverartarchive.org/release/(id) - public string[]? Artists { get; init; } + private const string CoverBaseUrl = "https://coverartarchive.org/release/"; - public string? Album { get; init; } - public uint Year { get; init; } + public async Task GetReleasePictureAsync(string releaseId, CancellationToken cancellationToken = default) + { + var releaseCoverUrl = $"{CoverBaseUrl}{releaseId}"; - public string[]? Genres { get; init; } + var client = httpClientFactory.CreateClient("Meio"); - public byte[]? AlbumArt { get; init; } -} + var response = await client.GetAsync(releaseCoverUrl, cancellationToken); -public static class AudioMetadataService -{ - /// - /// Loads the metadata info of a given audio file. - /// - /// Path of the audio file to get the metadata from. - /// The metadata info of the audio file. - public static MetadataInfo? LoadMetadata(string filePath) - { - try + if (response.IsSuccessStatusCode) { - var file = File.Create(filePath); - var tag = file.Tag; + var jsonString = await response.Content.ReadAsStringAsync(cancellationToken); + var deserializedResult = JsonSerializer.Deserialize(jsonString); - Api.Logger?.LogDebug("Current metadata of {filePath}.", filePath); - Api.Logger?.LogTrace("Title: {tagTitle}", tag.Title); - Api.Logger?.LogTrace("Artists: {tagArtists}", string.Join(", ", tag.AlbumArtists)); - Api.Logger?.LogTrace("Album: {tagAlbum}", tag.Album); - Api.Logger?.LogTrace("Year: {tagYear}", tag.Year); - Api.Logger?.LogTrace("Genre: {tagGenres}", string.Join(", ", tag.Genres)); - Api.Logger?.LogTrace(tag.Pictures.Length > 0 ? "Got an album art." : "No album art was found."); - - return new MetadataInfo - { - Title = tag.Title, - Artists = tag.AlbumArtists, - Album = tag.Album, - Genres = tag.Genres, - Year = tag.Year, - AlbumArt = tag.Pictures.Length > 0 ? tag.Pictures[0].Data.Data : null - }; - } - catch (CorruptFileException corruptFileException) - { - Api.Logger?.LogError(corruptFileException, "Failed to load metadata. File is corrupted."); - return null; - } - catch (UnsupportedFormatException unsupportedFormatException) - { - Api.Logger?.LogError(unsupportedFormatException, "Failed to load metadata. File format is unsupported."); - return null; - } - catch (FileNotFoundException fileNotFoundException) - { - Api.Logger?.LogError(fileNotFoundException, "Failed to load metadata. File not found."); - return null; + logger.LogInformation("Retrieved cover art picture for release {releaseId}.", releaseId); + return deserializedResult!.Images.First().ImageUrl; } + + logger.LogWarning("Could not retrieve cover art picture for release {releaseId}: {error}", releaseId, response.StatusCode); + return null; } } \ No newline at end of file diff --git a/Meio.Api/Services/AudioPlayerService.cs b/Meio.Api/Services/AudioPlayerService.cs index 0735684..ff7ac3d 100644 --- a/Meio.Api/Services/AudioPlayerService.cs +++ b/Meio.Api/Services/AudioPlayerService.cs @@ -1,82 +1,77 @@ using System; +using System.IO; using LibVLCSharp.Shared; -using Microsoft.Extensions.Logging; - -// ReSharper disable UnusedMember.Global +using Meio.Api.Interfaces.Services; +using Microsoft.Extensions.Hosting; namespace Meio.Api.Services; -public class AudioPlayerService : IDisposable +internal sealed class AudioPlayerService : IAudioPlayerService, IDisposable { - // ReSharper disable once InconsistentNaming - private readonly LibVLC _libVLC; - private readonly MediaPlayer _mediaPlayer; + private readonly LibVLC _libVlc = null!; + private readonly IMeioLogger _logger; + private readonly MediaPlayer _mediaPlayer = null!; + + private bool _disposed; - public AudioPlayerService() + public AudioPlayerService(IMeioLogger logger, IHostApplicationLifetime applicationLifetime) { + _logger = logger; + try { - _libVLC = new LibVLC(); - _mediaPlayer = new MediaPlayer(_libVLC); - Api.Logger!.LogDebug("Initialized AudioPlayerService."); + _libVlc = new LibVLC(); + _mediaPlayer = new MediaPlayer(_libVlc); + + applicationLifetime.ApplicationStopping.Register(() => + { + _logger.LogInformation("Application stopping, disposing AudioPlayerService..."); + Dispose(); + }); + + _logger.LogDebug("Initialized AudioPlayerService."); } catch (VLCException ex) { - Api.Logger!.LogCritical("An error occured trying to initialize AudioPlayerService. {Exception}", ex.Message); - Api.Logger!.LogInformation( + _logger.LogError("An error occured trying to initialize AudioPlayerService. {Exception}", ex.Message); + _logger.LogInformation( "!! READ THIS !!\n If you are on a linux host, please make sure you have installed the libvlc library, you will not be able to read any audio otherwise !!!"); - Environment.Exit(-1); + Dispose(); } } /// - /// To be called when done using. + /// Plays the given audio file. /// - public void Dispose() - { - _mediaPlayer.Stop(); // Make sure it stops first to avoid potential unwanted behaviour. - _mediaPlayer.Dispose(); - Api.Logger!.LogTrace("Disposed media player."); - - _libVLC.Dispose(); - Api.Logger!.LogTrace("Disposed libVLC."); - - GC.SuppressFinalize(this); // Dispose AudioPlayerService. - Api.Logger!.LogDebug("Disposed."); - - Environment.Exit(0); // Exit after this. - } - - /// - /// Starts playing the given audio file. - /// - /// Audio file path. + /// Audio file's path. public Media? Play(string audioFilePath) { + ObjectDisposedException.ThrowIf(_disposed, "AudioPlayerService is disposed."); + try { if (_mediaPlayer.IsPlaying) - { - Api.Logger!.LogError("An audio file is already being played. Please stop it first."); - return null; - } + throw new InvalidOperationException("Cannot play media player. Already playing."); + + if (!File.Exists(audioFilePath)) + throw new FileNotFoundException("The given audio file doesn't exist."); - var media = new Media(_libVLC, audioFilePath); + var media = new Media(_libVlc, audioFilePath); _mediaPlayer.Play(media); - Api.Logger!.LogInformation("Playing media file {AudioFilePath} .", audioFilePath); + _logger.LogInformation("Playing media file {AudioFilePath}.", audioFilePath); _mediaPlayer.EndReached += (_, _) => { - Api.Logger!.LogDebug("Media playback ended."); - // _mediaPlayer.Stop() + _logger.LogDebug("Media playback ended."); + _mediaPlayer.Stop(); }; return media; } catch (Exception e) { - Api.Logger?.LogError("An error occured trying to play the audio file. {e}", e.Message); + _logger.LogError("Cannot play audio file. {e}", e.Message); return null; } @@ -85,27 +80,33 @@ public void Dispose() /// /// Starts playing the given audio file. /// - /// Audio file Uri. + /// Audio file's Uri. public Media? Play(Uri audioUri) { try { if (_mediaPlayer.IsPlaying) - { - Api.Logger!.LogError("An audio file is already being played. Please stop it first."); - return null; - } + throw new InvalidOperationException("Cannot play media player. Already playing."); + + if (!audioUri.IsFile) + throw new FileNotFoundException("The given audio uri isn't valid."); - var media = new Media(_libVLC, audioUri.AbsolutePath, FromType.FromLocation); + var media = new Media(_libVlc, audioUri.AbsolutePath, FromType.FromLocation); _mediaPlayer.Play(media); - Api.Logger!.LogInformation("Playing media file from url {AudioFilePath}.", audioUri.AbsolutePath); + _logger.LogInformation("Playing media file from url {AudioFilePath}.", audioUri.AbsolutePath); + + _mediaPlayer.EndReached += (_, _) => + { + _logger.LogDebug("Media playback ended."); + _mediaPlayer.Stop(); + }; return media; } catch (Exception e) { - Api.Logger?.LogError("An error occured trying to play the audio file from url. {e}", e.Message); + _logger.LogError("Cannot play audio Uri. {e}", e.Message); return null; } } @@ -116,13 +117,11 @@ public void Dispose() public void Stop() { if (!_mediaPlayer.IsPlaying) - { - Api.Logger!.LogError("Cannot stop the media player. No media is playing."); - } + _logger.LogWarning("Cannot stop the media player. No media is playing."); _mediaPlayer.Stop(); _mediaPlayer.Media?.Dispose(); - Api.Logger!.LogDebug("Stopped media player."); + _logger.LogDebug("Stopped media player."); } /// @@ -131,7 +130,7 @@ public void Stop() public void Pause() { _mediaPlayer.Pause(); - Api.Logger!.LogDebug("Paused media player."); + _logger.LogDebug("Paused media player."); } /// @@ -143,11 +142,11 @@ public void ChangeVolume(int newVolume) try { _mediaPlayer.Volume = newVolume; - Api.Logger!.LogTrace("Changed audio volume to {NewAudioVolume}.", newVolume); + _logger.LogDebug("Changed audio volume to {NewAudioVolume}.", newVolume); } catch (Exception e) { - Api.Logger!.LogError("An error occured trying to change audio volume. {Exception}", e.Message); + _logger.LogError("An error occured trying to change audio volume. {Exception}", e.Message); } } @@ -159,12 +158,12 @@ public void ChangePlaybackSpeed(float speed) { if (!_mediaPlayer.IsPlaying) { - Api.Logger!.LogError("Cannot change audio rate, no media is playing."); + _logger.LogError("Cannot change audio rate, no media is playing."); } else { _mediaPlayer.SetRate(speed); - Api.Logger!.LogTrace("Changed audio rate to {Speed}.", speed); + _logger.LogDebug("Changed audio rate to {Speed}.", speed); } } @@ -174,7 +173,7 @@ public void ChangePlaybackSpeed(float speed) public void Mute() { _mediaPlayer.Mute = true; - Api.Logger!.LogDebug("Muted media."); + _logger.LogDebug("Muted media."); } /// @@ -183,6 +182,36 @@ public void Mute() public void Unmute() { _mediaPlayer.Mute = false; - Api.Logger!.LogDebug("Unuted media."); + _logger.LogDebug("Unmuted media."); + } + + /// + /// To be called when done using. + /// + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); // Dispose AudioPlayerService. + _logger.LogDebug("Disposed."); + } + + ~AudioPlayerService() + { + Dispose(false); + } + + private void Dispose(bool disposing) + { + if (_disposed) return; + if (disposing) + { + _mediaPlayer.Stop(); // Make sure it stops first to avoid potential unwanted behavior. + _mediaPlayer.Media?.Dispose(); // Dispose the loaded media. + } + + _mediaPlayer.Dispose(); + _libVlc.Dispose(); + + _disposed = true; } } \ No newline at end of file diff --git a/Meio.Api/Services/CoverArtArchiveResponse.cs b/Meio.Api/Services/CoverArtArchiveResponse.cs new file mode 100644 index 0000000..6f732e0 --- /dev/null +++ b/Meio.Api/Services/CoverArtArchiveResponse.cs @@ -0,0 +1,12 @@ +using System.Collections.Generic; +using System.Text.Json.Serialization; + +namespace Meio.Api.Services; + +public record CoverArtArchiveResponse( + [property: JsonPropertyName("images")] List Images +); + +public record CoverArtImage( + [property: JsonPropertyName("image")] string ImageUrl +); \ No newline at end of file diff --git a/Meio.App/App.axaml.cs b/Meio.App/App.axaml.cs index 23be316..8dc5a8c 100644 --- a/Meio.App/App.axaml.cs +++ b/Meio.App/App.axaml.cs @@ -1,17 +1,18 @@ using Avalonia; using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Markup.Xaml; +using Meio.Api; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Console; -using PrettyLogging.Console; namespace Meio.app; public class App : Application { - private static ILoggerFactory? LoggerFactory { get; set; } + private IHost _host = null!; - public static ILogger? Logger { get; private set; } + public static ILogger Logger { get; private set; } = null!; public override void Initialize() { @@ -20,37 +21,28 @@ public override void Initialize() public override void OnFrameworkInitializationCompleted() { - // Create and configure PrettyLogger - LoggerFactory = Microsoft.Extensions.Logging.LoggerFactory.Create(builder => - { - builder.ClearProviders(); - builder.AddPrettyConsole(opt => + _host = Host.CreateDefaultBuilder() + .ConfigureServices((_, services) => { - opt.ShowLogLevel = true; - opt.ShowEventId = false; - opt.ShowManagedThreadId = false; - opt.SingleLine = true; - opt.IncludeScopes = true; - opt.ShowTimestamp = true; - opt.LogLevelCase = LogLevelCase.Upper; - opt.CategoryMode = LoggerCategoryMode.Short; - opt.ColorBehavior = LoggerColorBehavior.Enabled; - opt.UseUtcTimestamp = false; - }); - -#if DEBUG - builder.SetMinimumLevel(LogLevel.Trace); -#else - builder.SetMinimumLevel(LogLevel.Information); -#endif - }); - - Logger = LoggerFactory.CreateLogger(); + services.AddHttpClient(); + services.AddPrettyConsole(); + services.AddMeioApi(); + services.AddCommonServices(); + }) + .Build(); + + _host.StartAsync().GetAwaiter().GetResult(); + + var loggerFactory = _host.Services.GetRequiredService(); + Logger = loggerFactory.CreateLogger("Meio.App"); Logger.LogInformation("Meio Application started."); if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) { - desktop.MainWindow = new MainWindow(); + var mainWindow = _host.Services.GetRequiredService(); + desktop.MainWindow = mainWindow; + + desktop.Exit += async (_, _) => await _host.StopAsync(); } base.OnFrameworkInitializationCompleted(); diff --git a/Meio.App/Interfaces/Services/IDiscordService.cs b/Meio.App/Interfaces/Services/IDiscordService.cs new file mode 100644 index 0000000..b3de000 --- /dev/null +++ b/Meio.App/Interfaces/Services/IDiscordService.cs @@ -0,0 +1,15 @@ +using System.Threading.Tasks; +using TagLib; + +namespace Meio.app.Interfaces.Services; + +public interface IDiscordService +{ + bool IsConnected { get; } + + Task SetPresence(string text = "", string state = "Idling..."); + + Task SetPresencePlay(File audioFile); + + void ClearPresence(); +} \ No newline at end of file diff --git a/Meio.App/MainWindow.axaml.cs b/Meio.App/MainWindow.axaml.cs index 7487096..00b0bf4 100644 --- a/Meio.App/MainWindow.axaml.cs +++ b/Meio.App/MainWindow.axaml.cs @@ -1,29 +1,37 @@ using System; +using System.Linq; using System.Threading; using System.Threading.Tasks; using Avalonia.Controls; using Avalonia.Controls.Primitives; using Avalonia.Interactivity; -using Meio.Api.Services; +using Meio.Api.Interfaces.Services; +using Meio.app.Interfaces.Services; using Meio.app.Services; using Microsoft.Extensions.Logging; +using TagLib; namespace Meio.app; public partial class MainWindow : Window { - private readonly AudioPlayerService _audioPlayerService; - private string? _author = "unknown"; // this is a cheap fix, but it is because this Window is just for testing, so it's alright. + private readonly IAudioPlayerService _audioPlayerService; + private readonly IDiscordService _discordService; + private readonly ILogger _logger; private bool _debounce; private string? _filePath; private CancellationTokenSource? _volumeDebounceToken; // DIS WHOLE CODE IS HORIRBLE AAAAAAAAAA - public MainWindow() + public MainWindow(ILogger logger, IAudioPlayerService audioPlayerService, IDiscordService discordService) { + _logger = logger; + _audioPlayerService = audioPlayerService; + _discordService = discordService; + InitializeComponent(); - _audioPlayerService = new AudioPlayerService(); + Task.Run(() => _discordService.SetPresence()); } private void Button_OnClick(object? sender, RoutedEventArgs e) @@ -34,16 +42,18 @@ private void Button_OnClick(object? sender, RoutedEventArgs e) if (_filePath == null) return; - var metadata = AudioMetadataService.LoadMetadata(_filePath); + var metadata = File.Create(_filePath); if (metadata == null) return; _audioPlayerService.Play(_filePath); PlayButton.Content = "Stop"; - _author = metadata.Artists is { Length: 0 } ? "unknown" : metadata.Artists?[0]; - CurrentMusicText.Text = $"{metadata.Title} - {_author}"; - AlbumArtImage.Source = metadata.AlbumArt != null ? ImageHelper.LoadBitmapFromBytes(metadata.AlbumArt) : null; + CurrentMusicText.Text = $"{metadata.Tag.Title} - {metadata.Tag.Performers.FirstOrDefault("unknown")}"; + AlbumArtImage.Source = + metadata.Tag.Pictures != null ? ImageHelper.LoadBitmapFromBytes(metadata.Tag.Pictures.First().Data.Data) : null; + + Task.Run(() => _discordService.SetPresencePlay(metadata)); } else { @@ -53,6 +63,7 @@ private void Button_OnClick(object? sender, RoutedEventArgs e) _audioPlayerService.Stop(); _debounce = false; + Task.Run(() => _discordService.SetPresence()); } } @@ -89,7 +100,7 @@ private async void UploadButton_OnClick(object? sender, RoutedEventArgs e) } catch (Exception exception) { - App.Logger!.LogError("There was an error trying to parse the URI unescape data. {exception}", exception.Message); + _logger.LogError("There was an error trying to parse the URI unescape data. {exception}", exception.Message); } } } \ No newline at end of file diff --git a/Meio.App/Meio.App.csproj b/Meio.App/Meio.App.csproj index 28fb93c..00c599b 100644 --- a/Meio.App/Meio.App.csproj +++ b/Meio.App/Meio.App.csproj @@ -20,7 +20,8 @@ All - + + diff --git a/Meio.App/Program.cs b/Meio.App/Program.cs index 0ced40d..c039408 100644 --- a/Meio.App/Program.cs +++ b/Meio.App/Program.cs @@ -1,7 +1,5 @@ using System; -using System.IO; using Avalonia; -using DotNetEnv; namespace Meio.app; @@ -13,9 +11,6 @@ internal abstract class Program [STAThread] public static void Main(string[] args) { - var envPath = Path.Combine(AppContext.BaseDirectory, "../../../../.env"); - Env.Load(envPath); - BuildAvaloniaApp() .StartWithClassicDesktopLifetime(args); } diff --git a/Meio.App/ServiceCollectionExtensions.cs b/Meio.App/ServiceCollectionExtensions.cs new file mode 100644 index 0000000..3fba0ea --- /dev/null +++ b/Meio.App/ServiceCollectionExtensions.cs @@ -0,0 +1,58 @@ +using System; +using Meio.app.Interfaces.Services; +using Meio.app.Services; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Console; +using PrettyLogging.Console; + +namespace Meio.app; + +public static class ServiceCollectionExtensions +{ + public static void AddPrettyConsole(this IServiceCollection services) + { + services.AddLogging(builder => + { + builder.ClearProviders(); + builder.AddPrettyConsole(opt => + { + opt.ShowLogLevel = true; + opt.ShowEventId = false; + opt.ShowManagedThreadId = false; + opt.SingleLine = true; + opt.IncludeScopes = true; + opt.ShowTimestamp = true; + opt.LogLevelCase = LogLevelCase.Upper; + opt.CategoryMode = LoggerCategoryMode.Short; + opt.ColorBehavior = LoggerColorBehavior.Enabled; + opt.UseUtcTimestamp = false; + }); + +#if DEBUG + builder.SetMinimumLevel(LogLevel.Trace); +#else + builder.SetMinimumLevel(LogLevel.Information); +#endif + }); + } + + public static void AddCommonServices(this IServiceCollection services) + { + // Services + services.AddSingleton(); + + // ViewModels + services.AddSingleton(); + } + + public static void AddHttpClient(this IServiceCollection services) + { + services.AddHttpClient("Meio", + client => + { + client.DefaultRequestHeaders.Add("User-Agent", "Meio/1.0"); + client.Timeout = TimeSpan.FromSeconds(30); + }); + } +} \ No newline at end of file diff --git a/Meio.App/Services/DiscordService.cs b/Meio.App/Services/DiscordService.cs index b5397cb..2537ada 100644 --- a/Meio.App/Services/DiscordService.cs +++ b/Meio.App/Services/DiscordService.cs @@ -1,71 +1,47 @@ using System; -using System.IO; +using System.Linq; using System.Threading; using System.Threading.Tasks; using DiscordRPC; -using DiscordRPC.Logging; +using Meio.Api.Interfaces.Services; +using Meio.app.Interfaces.Services; using Microsoft.Extensions.Logging; -using LogLevel = DiscordRPC.Logging.LogLevel; +using TagLib; +using static System.GC; namespace Meio.app.Services; -public class DiscordService : IDisposable +public class DiscordPresence : IDiscordService, IDisposable { + private readonly IAudioMetadataService _audioMetadataService; + private readonly DiscordRpcClient? _client; + private readonly TimeSpan _cooldown = TimeSpan.FromSeconds(16); // Time between calls. + private readonly ILogger _logger; private readonly SemaphoreSlim _semaphore = new(1, 1); // Prevents multiple calls. private DateTime _lastUpdate = DateTime.MinValue; - public DiscordService() + public DiscordPresence(ILogger logger, IAudioMetadataService audioMetadataService) { - try - { - var appId = Environment.GetEnvironmentVariable("DISCORD_APP_ID"); - Console.WriteLine($"AppId: {appId}"); - Console.WriteLine($"Current Directory {Directory.GetCurrentDirectory()}"); + _logger = logger; + _audioMetadataService = audioMetadataService; - // Create the client and setup events. - _client = new DiscordRpcClient(appId) - { - Logger = new ConsoleLogger(LogLevel.None) // Sadly, this is mandatory. - }; + _client = new DiscordRpcClient("1415069890766704700"); // Meio's App ID + _client.Initialize(); - _client.OnReady += (sender, _) => App.Logger!.LogDebug("{object} | Initialized DiscordService.", sender); - _client.OnClose += (sender, args) => - App.Logger!.LogError("{object} | There was an error connecting to discord. {args}", sender, args); - _client.OnError += (sender, args) => App.Logger!.LogError("{object} | {args}", sender, args); - - //Connect to the RPC. - _client.Initialize(); - } - catch (Exception e) - { - Console.WriteLine(e.Message); - } + _client.OnReady += (_, _) => _logger.LogDebug("Discord RPC client initialized."); + _client.OnClose += (_, _) => _logger.LogDebug("Discord RPC client closed."); } - public static DiscordService Instance { get; } = new(); // Static reference + public bool IsConnected => _client != null; - /// - /// To be called when done using. - /// - public void Dispose() - { - _client?.Dispose(); - GC.SuppressFinalize(this); - App.Logger!.LogDebug("Disposed DiscordService."); - } - /// - /// Changes the current Presence, suitable for when the user is listening to music. - /// - /// Title of the single. - /// Artist of the single. - /// Album the single is from. - /// Album splash art. - /// Length of the media duration (in seconds). - public async Task SetPresence(string title, string artist, string album, string albumArt, TimeSpan timestamp) + public async Task SetPresence(string text = "", string state = "Idling...") { + if (!IsConnected) + _logger.LogError("Tried setting presence, but Discord is not connected."); + await _semaphore.WaitAsync(); try @@ -75,25 +51,18 @@ public async Task SetPresence(string title, string artist, string album, string if (timeSinceLastUpdate < _cooldown) { var delay = _cooldown - timeSinceLastUpdate; - App.Logger!.LogDebug("Rate Limited have to wait for {delay}s", delay.Seconds); await Task.Delay(delay); // Wait for cooldown to pass - // TODO: RPC Queue system, if there is two RPCs in wait, only show the last one. } _client?.SetPresence(new RichPresence { - Type = ActivityType.Listening, - StatusDisplay = StatusDisplayType.Details, - Details = title, - State = $"{artist} - {album}", - Timestamps = Timestamps.FromTimeSpan(timestamp), - Assets = new Assets { LargeImageKey = albumArt }, - Buttons = [new Button { Label = "Join us!", Url = "https://github.com/nodeSoftwares/Meio/" }] + Details = text, + State = state }); _lastUpdate = DateTime.UtcNow; - App.Logger!.LogDebug("Changed discord presence to {title} | {artist} - {album}", title, artist, album); + _logger.LogDebug("Presence updated: {text} - {State}", text, state); } finally { @@ -101,15 +70,19 @@ public async Task SetPresence(string title, string artist, string album, string } } - /// - /// Changes the current Presence, for general purpose. - /// - /// Title of the Presence. - /// State of the Presence. - public async Task SetPresence(string text, string state) + public async Task SetPresencePlay(File audioFile) { await _semaphore.WaitAsync(); + var audioTag = audioFile.Tag; + var title = audioFile.Tag.Title; + var artist = audioTag.Performers.FirstOrDefault(); + var album = audioFile.Tag.Album; + var duration = audioFile.Properties.Duration; + var coverUrl = audioTag.MusicBrainzReleaseId is not null + ? _audioMetadataService.GetReleasePictureAsync(audioTag.MusicBrainzReleaseId) + : null; + try { var timeSinceLastUpdate = DateTime.UtcNow - _lastUpdate; @@ -117,19 +90,24 @@ public async Task SetPresence(string text, string state) if (timeSinceLastUpdate < _cooldown) { var delay = _cooldown - timeSinceLastUpdate; + _logger.LogDebug("Rate Limited. Wait for {delay}s.", delay.Seconds); await Task.Delay(delay); // Wait for cooldown to pass + // TODO: RPC Queue system, if there is two RPCs in wait, only show the last one. } _client?.SetPresence(new RichPresence { - Details = text, - State = state, - Buttons = [new Button { Label = "Join us!", Url = "https://github.com/nodeSoftwares/Meio/" }] + Type = ActivityType.Listening, + StatusDisplay = StatusDisplayType.Details, + Details = title, + State = $"{album} - {artist}", + Timestamps = Timestamps.FromTimeSpan(duration), + Assets = coverUrl is not null ? new Assets { LargeImageKey = coverUrl.Result } : null }); _lastUpdate = DateTime.UtcNow; - App.Logger!.LogDebug("Changed discord presence to {text} | {state}", text, state); + _logger.LogDebug("Changed discord presence to {title} | {artist} - {album}", title, artist, album); } finally { @@ -137,11 +115,24 @@ public async Task SetPresence(string text, string state) } } - /// - /// Clears the current Presence. - /// public void ClearPresence() { + if (!IsConnected) + _logger.LogError("Tried clearing presence, but Discord is not connected."); + _client?.ClearPresence(); + + _logger.LogDebug("Cleared presence."); + } + + public void Dispose() + { + Dispose(true); + SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + // TODO: Dispose DiscordService } } \ No newline at end of file diff --git a/Meio.App/Services/FileHelper.cs b/Meio.App/Services/FileHelper.cs index 7c635fd..eb0c662 100644 --- a/Meio.App/Services/FileHelper.cs +++ b/Meio.App/Services/FileHelper.cs @@ -27,9 +27,9 @@ public static class FileHelper AllowMultiple = false, FileTypeFilter = [ - new FilePickerFileType("All") + new FilePickerFileType("Audio files") { - Patterns = ["*.mp3", "*.wav"] + Patterns = ["*.mp3", "*.wav", "*.flac", "*.aac", "*.ogg", "*.m4a"] } ] }; diff --git a/bin/Debug/net6.0/Discord.Net.Commands.dll b/bin/Debug/net6.0/Discord.Net.Commands.dll deleted file mode 100644 index 8dd9f23..0000000 Binary files a/bin/Debug/net6.0/Discord.Net.Commands.dll and /dev/null differ diff --git a/bin/Debug/net6.0/Discord.Net.Core.dll b/bin/Debug/net6.0/Discord.Net.Core.dll deleted file mode 100644 index dcc52e7..0000000 Binary files a/bin/Debug/net6.0/Discord.Net.Core.dll and /dev/null differ diff --git a/bin/Debug/net6.0/Discord.Net.Interactions.dll b/bin/Debug/net6.0/Discord.Net.Interactions.dll deleted file mode 100644 index 6828953..0000000 Binary files a/bin/Debug/net6.0/Discord.Net.Interactions.dll and /dev/null differ diff --git a/bin/Debug/net6.0/Discord.Net.Rest.dll b/bin/Debug/net6.0/Discord.Net.Rest.dll deleted file mode 100644 index c59645a..0000000 Binary files a/bin/Debug/net6.0/Discord.Net.Rest.dll and /dev/null differ diff --git a/bin/Debug/net6.0/Discord.Net.WebSocket.dll b/bin/Debug/net6.0/Discord.Net.WebSocket.dll deleted file mode 100644 index f313634..0000000 Binary files a/bin/Debug/net6.0/Discord.Net.WebSocket.dll and /dev/null differ diff --git a/bin/Debug/net6.0/Discord.Net.Webhook.dll b/bin/Debug/net6.0/Discord.Net.Webhook.dll deleted file mode 100644 index 32e1d95..0000000 Binary files a/bin/Debug/net6.0/Discord.Net.Webhook.dll and /dev/null differ diff --git a/bin/Debug/net6.0/DiscordRPC.dll b/bin/Debug/net6.0/DiscordRPC.dll deleted file mode 100644 index 4efbf2b..0000000 Binary files a/bin/Debug/net6.0/DiscordRPC.dll and /dev/null differ diff --git a/bin/Debug/net6.0/Meio b/bin/Debug/net6.0/Meio deleted file mode 100644 index 82a97fd..0000000 Binary files a/bin/Debug/net6.0/Meio and /dev/null differ diff --git a/bin/Debug/net6.0/Meio.deps.json b/bin/Debug/net6.0/Meio.deps.json deleted file mode 100644 index 62e16d0..0000000 --- a/bin/Debug/net6.0/Meio.deps.json +++ /dev/null @@ -1,350 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v6.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v6.0": { - "Meio/1.0.0": { - "dependencies": { - "Discord.Net": "3.15.2", - "DiscordRichPresence": "1.6.1.70" - }, - "runtime": { - "Meio.dll": {} - } - }, - "Discord.Net/3.15.2": { - "dependencies": { - "Discord.Net.Commands": "3.15.2", - "Discord.Net.Core": "3.15.2", - "Discord.Net.Interactions": "3.15.2", - "Discord.Net.Rest": "3.15.2", - "Discord.Net.WebSocket": "3.15.2", - "Discord.Net.Webhook": "3.15.2" - } - }, - "Discord.Net.Commands/3.15.2": { - "dependencies": { - "Discord.Net.Core": "3.15.2" - }, - "runtime": { - "lib/net6.0/Discord.Net.Commands.dll": { - "assemblyVersion": "3.15.2.0", - "fileVersion": "3.15.2.0" - } - } - }, - "Discord.Net.Core/3.15.2": { - "dependencies": { - "Newtonsoft.Json": "13.0.3", - "System.Collections.Immutable": "6.0.0", - "System.Interactive.Async": "6.0.1", - "System.ValueTuple": "4.5.0" - }, - "runtime": { - "lib/net6.0/Discord.Net.Core.dll": { - "assemblyVersion": "3.15.2.0", - "fileVersion": "3.15.2.0" - } - } - }, - "Discord.Net.Interactions/3.15.2": { - "dependencies": { - "Discord.Net.Core": "3.15.2", - "Discord.Net.Rest": "3.15.2", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "System.Collections.Immutable": "6.0.0", - "System.Reactive": "6.0.0" - }, - "runtime": { - "lib/net6.0/Discord.Net.Interactions.dll": { - "assemblyVersion": "3.15.2.0", - "fileVersion": "3.15.2.0" - } - } - }, - "Discord.Net.Rest/3.15.2": { - "dependencies": { - "Discord.Net.Core": "3.15.2" - }, - "runtime": { - "lib/net6.0/Discord.Net.Rest.dll": { - "assemblyVersion": "3.15.2.0", - "fileVersion": "3.15.2.0" - } - } - }, - "Discord.Net.Webhook/3.15.2": { - "dependencies": { - "Discord.Net.Core": "3.15.2", - "Discord.Net.Rest": "3.15.2" - }, - "runtime": { - "lib/net6.0/Discord.Net.Webhook.dll": { - "assemblyVersion": "3.15.2.0", - "fileVersion": "3.15.2.0" - } - } - }, - "Discord.Net.WebSocket/3.15.2": { - "dependencies": { - "Discord.Net.Core": "3.15.2", - "Discord.Net.Rest": "3.15.2" - }, - "runtime": { - "lib/net6.0/Discord.Net.WebSocket.dll": { - "assemblyVersion": "3.15.2.0", - "fileVersion": "3.15.2.0" - } - } - }, - "DiscordRichPresence/1.6.1.70": { - "dependencies": { - "Microsoft.Win32.Registry": "4.5.0", - "Newtonsoft.Json": "13.0.3" - }, - "runtime": { - "lib/netstandard2.0/DiscordRPC.dll": { - "assemblyVersion": "1.6.1.70", - "fileVersion": "1.6.1.70" - } - } - }, - "Microsoft.Bcl.AsyncInterfaces/6.0.0": { - "runtime": { - "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.21.52210" - } - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { - "runtime": { - "lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.21.52210" - } - } - }, - "Microsoft.NETCore.Platforms/2.0.0": {}, - "Microsoft.Win32.Registry/4.5.0": { - "dependencies": { - "System.Security.AccessControl": "4.5.0", - "System.Security.Principal.Windows": "4.5.0" - } - }, - "Newtonsoft.Json/13.0.3": { - "runtime": { - "lib/net6.0/Newtonsoft.Json.dll": { - "assemblyVersion": "13.0.0.0", - "fileVersion": "13.0.3.27908" - } - } - }, - "System.Collections.Immutable/6.0.0": { - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Interactive.Async/6.0.1": { - "dependencies": { - "System.Linq.Async": "6.0.1" - }, - "runtime": { - "lib/net6.0/System.Interactive.Async.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.1.35981" - } - } - }, - "System.Linq.Async/6.0.1": { - "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0" - }, - "runtime": { - "lib/net6.0/System.Linq.Async.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.1.35981" - } - } - }, - "System.Reactive/6.0.0": { - "runtime": { - "lib/net6.0/System.Reactive.dll": { - "assemblyVersion": "6.0.0.0", - "fileVersion": "6.0.0.1" - } - } - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, - "System.Security.AccessControl/4.5.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "System.Security.Principal.Windows": "4.5.0" - } - }, - "System.Security.Principal.Windows/4.5.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0" - } - }, - "System.ValueTuple/4.5.0": {} - } - }, - "libraries": { - "Meio/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Discord.Net/3.15.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-+OwnSHaAJdKRLd8CVqSrlANX3EupQ5w5Vej2zor+wVcJ0ek7M3bZFzjJvXqx6cXeU6TQPBy6vpopzOwA2TU2Xg==", - "path": "discord.net/3.15.2", - "hashPath": "discord.net.3.15.2.nupkg.sha512" - }, - "Discord.Net.Commands/3.15.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-a55wlniMT0kr7w8h/zlpR3slBeA07qJaqOnuB/X7Kp8W7aOYD3le0+uMKu7Er2ypvysa8MMRMNRpn94OSqbA6w==", - "path": "discord.net.commands/3.15.2", - "hashPath": "discord.net.commands.3.15.2.nupkg.sha512" - }, - "Discord.Net.Core/3.15.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-985EAMCn8K9gS8WUAt+hF96nEvnbHGb8mqCFpxS1EO74MpgIZRk3DLHQeHhpEpX1R/NR/YdOvfw0aM/4bl3DGw==", - "path": "discord.net.core/3.15.2", - "hashPath": "discord.net.core.3.15.2.nupkg.sha512" - }, - "Discord.Net.Interactions/3.15.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-w2ar8ga1mntK9gD/0zwV7m/9cQliah0C4KCweG+TXTljJTU9GLxXDBBGpMfo2jE2P5FSVS48gLGd5y6G+fxoKQ==", - "path": "discord.net.interactions/3.15.2", - "hashPath": "discord.net.interactions.3.15.2.nupkg.sha512" - }, - "Discord.Net.Rest/3.15.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-P+SuiwjN1zBo9DMqgxIzlKNNZKaD47CfJyqlkbOtJUmfWhA9BDrmCgo/DSE+FTJAWEjiLO4rcQ8XEx/qDbkphg==", - "path": "discord.net.rest/3.15.2", - "hashPath": "discord.net.rest.3.15.2.nupkg.sha512" - }, - "Discord.Net.Webhook/3.15.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-L14uU+rXa1ERqpl5K4xFERCM0LaSgWVBuTLJqt15pps0gsmEISr52NxZ1F9dcysi8YFfUSlREnJ+ih/PomJ8+g==", - "path": "discord.net.webhook/3.15.2", - "hashPath": "discord.net.webhook.3.15.2.nupkg.sha512" - }, - "Discord.Net.WebSocket/3.15.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-OmaDEPrqmW69dzKxvOKFioFunZYpP0dwrECa0pJn9RaDUQo86l/ToUjolUJ3imjJ2XaMKcRwJ95D5QfDe4KXXg==", - "path": "discord.net.websocket/3.15.2", - "hashPath": "discord.net.websocket.3.15.2.nupkg.sha512" - }, - "DiscordRichPresence/1.6.1.70": { - "type": "package", - "serviceable": true, - "sha512": "sha512-yho1fdhbsedICHdfHe/Tu3IX6a5oj4fiPFL0keZStlsh7T/FrdjcwZZ7C1uC2HUvcXbFh+VEJvcbo1W66QtkUg==", - "path": "discordrichpresence/1.6.1.70", - "hashPath": "discordrichpresence.1.6.1.70.nupkg.sha512" - }, - "Microsoft.Bcl.AsyncInterfaces/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", - "path": "microsoft.bcl.asyncinterfaces/6.0.0", - "hashPath": "microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512" - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==", - "path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0", - "hashPath": "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512" - }, - "Microsoft.NETCore.Platforms/2.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-VdLJOCXhZaEMY7Hm2GKiULmn7IEPFE4XC5LPSfBVCUIA8YLZVh846gtfBJalsPQF2PlzdD7ecX7DZEulJ402ZQ==", - "path": "microsoft.netcore.platforms/2.0.0", - "hashPath": "microsoft.netcore.platforms.2.0.0.nupkg.sha512" - }, - "Microsoft.Win32.Registry/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-+FWlwd//+Tt56316p00hVePBCouXyEzT86Jb3+AuRotTND0IYn0OO3obs1gnQEs/txEnt+rF2JBGLItTG+Be6A==", - "path": "microsoft.win32.registry/4.5.0", - "hashPath": "microsoft.win32.registry.4.5.0.nupkg.sha512" - }, - "Newtonsoft.Json/13.0.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", - "path": "newtonsoft.json/13.0.3", - "hashPath": "newtonsoft.json.13.0.3.nupkg.sha512" - }, - "System.Collections.Immutable/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", - "path": "system.collections.immutable/6.0.0", - "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512" - }, - "System.Interactive.Async/6.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-f8H1O4ZWDQo344y5NQU76G4SIjWMuKDVXL9OM1dg6K5YZnLkc8iCdQDybBvMcC6ufk61jzXGVAX6UCDu0qDSjA==", - "path": "system.interactive.async/6.0.1", - "hashPath": "system.interactive.async.6.0.1.nupkg.sha512" - }, - "System.Linq.Async/6.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-0YhHcaroWpQ9UCot3Pizah7ryAzQhNvobLMSxeDIGmnXfkQn8u5owvpOH0K6EVB+z9L7u6Cc4W17Br/+jyttEQ==", - "path": "system.linq.async/6.0.1", - "hashPath": "system.linq.async.6.0.1.nupkg.sha512" - }, - "System.Reactive/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-31kfaW4ZupZzPsI5PVe77VhnvFF55qgma7KZr/E0iFTs6fmdhhG8j0mgEx620iLTey1EynOkEfnyTjtNEpJzGw==", - "path": "system.reactive/6.0.0", - "hashPath": "system.reactive.6.0.0.nupkg.sha512" - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", - "path": "system.runtime.compilerservices.unsafe/6.0.0", - "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" - }, - "System.Security.AccessControl/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==", - "path": "system.security.accesscontrol/4.5.0", - "hashPath": "system.security.accesscontrol.4.5.0.nupkg.sha512" - }, - "System.Security.Principal.Windows/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==", - "path": "system.security.principal.windows/4.5.0", - "hashPath": "system.security.principal.windows.4.5.0.nupkg.sha512" - }, - "System.ValueTuple/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ==", - "path": "system.valuetuple/4.5.0", - "hashPath": "system.valuetuple.4.5.0.nupkg.sha512" - } - } -} \ No newline at end of file diff --git a/bin/Debug/net6.0/Meio.dll b/bin/Debug/net6.0/Meio.dll deleted file mode 100644 index c3f7668..0000000 Binary files a/bin/Debug/net6.0/Meio.dll and /dev/null differ diff --git a/bin/Debug/net6.0/Meio.pdb b/bin/Debug/net6.0/Meio.pdb deleted file mode 100644 index 06148ee..0000000 Binary files a/bin/Debug/net6.0/Meio.pdb and /dev/null differ diff --git a/bin/Debug/net6.0/Meio.runtimeconfig.json b/bin/Debug/net6.0/Meio.runtimeconfig.json deleted file mode 100644 index 4986d16..0000000 --- a/bin/Debug/net6.0/Meio.runtimeconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "runtimeOptions": { - "tfm": "net6.0", - "framework": { - "name": "Microsoft.NETCore.App", - "version": "6.0.0" - } - } -} \ No newline at end of file diff --git a/bin/Debug/net6.0/Microsoft.Bcl.AsyncInterfaces.dll b/bin/Debug/net6.0/Microsoft.Bcl.AsyncInterfaces.dll deleted file mode 100644 index fe6ba4c..0000000 Binary files a/bin/Debug/net6.0/Microsoft.Bcl.AsyncInterfaces.dll and /dev/null differ diff --git a/bin/Debug/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/bin/Debug/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll deleted file mode 100644 index b4ee93d..0000000 Binary files a/bin/Debug/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll and /dev/null differ diff --git a/bin/Debug/net6.0/Newtonsoft.Json.dll b/bin/Debug/net6.0/Newtonsoft.Json.dll deleted file mode 100644 index d035c38..0000000 Binary files a/bin/Debug/net6.0/Newtonsoft.Json.dll and /dev/null differ diff --git a/bin/Debug/net6.0/System.Interactive.Async.dll b/bin/Debug/net6.0/System.Interactive.Async.dll deleted file mode 100644 index f7c93ae..0000000 Binary files a/bin/Debug/net6.0/System.Interactive.Async.dll and /dev/null differ diff --git a/bin/Debug/net6.0/System.Linq.Async.dll b/bin/Debug/net6.0/System.Linq.Async.dll deleted file mode 100644 index 7ae9527..0000000 Binary files a/bin/Debug/net6.0/System.Linq.Async.dll and /dev/null differ diff --git a/bin/Debug/net6.0/System.Reactive.dll b/bin/Debug/net6.0/System.Reactive.dll deleted file mode 100644 index f179765..0000000 Binary files a/bin/Debug/net6.0/System.Reactive.dll and /dev/null differ diff --git a/bin/Debug/net8.0/AngleSharp.dll b/bin/Debug/net8.0/AngleSharp.dll deleted file mode 100644 index 348e1b3..0000000 Binary files a/bin/Debug/net8.0/AngleSharp.dll and /dev/null differ diff --git a/bin/Debug/net8.0/CliWrap.dll b/bin/Debug/net8.0/CliWrap.dll deleted file mode 100644 index 86e8c1d..0000000 Binary files a/bin/Debug/net8.0/CliWrap.dll and /dev/null differ diff --git a/bin/Debug/net8.0/DiscordRPC.dll b/bin/Debug/net8.0/DiscordRPC.dll deleted file mode 100644 index 4efbf2b..0000000 Binary files a/bin/Debug/net8.0/DiscordRPC.dll and /dev/null differ diff --git a/bin/Debug/net8.0/Meio b/bin/Debug/net8.0/Meio deleted file mode 100644 index 18f8231..0000000 Binary files a/bin/Debug/net8.0/Meio and /dev/null differ diff --git a/bin/Debug/net8.0/Meio.deps.json b/bin/Debug/net8.0/Meio.deps.json deleted file mode 100644 index d496fe0..0000000 --- a/bin/Debug/net8.0/Meio.deps.json +++ /dev/null @@ -1,239 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v8.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v8.0": { - "Meio/1.0.0": { - "dependencies": { - "CliWrap": "3.9.0", - "DiscordRichPresence": "1.6.1.70", - "YoutubeExplode": "6.5.4" - }, - "runtime": { - "Meio.dll": {} - } - }, - "AngleSharp/1.2.0": { - "runtime": { - "lib/net8.0/AngleSharp.dll": { - "assemblyVersion": "1.2.0.0", - "fileVersion": "1.2.0.0" - } - } - }, - "CliWrap/3.9.0": { - "runtime": { - "lib/net8.0/CliWrap.dll": { - "assemblyVersion": "3.9.0.0", - "fileVersion": "3.9.0.0" - } - } - }, - "DiscordRichPresence/1.6.1.70": { - "dependencies": { - "Microsoft.Win32.Registry": "4.5.0", - "Newtonsoft.Json": "13.0.1" - }, - "runtime": { - "lib/netstandard2.0/DiscordRPC.dll": { - "assemblyVersion": "1.6.1.70", - "fileVersion": "1.6.1.70" - } - } - }, - "Microsoft.Bcl.AsyncInterfaces/9.0.1": { - "runtime": { - "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { - "assemblyVersion": "9.0.0.1", - "fileVersion": "9.0.124.61010" - } - } - }, - "Microsoft.NETCore.Platforms/2.0.0": {}, - "Microsoft.Win32.Registry/4.5.0": { - "dependencies": { - "System.Security.AccessControl": "4.5.0", - "System.Security.Principal.Windows": "4.5.0" - } - }, - "Newtonsoft.Json/13.0.1": { - "runtime": { - "lib/netstandard2.0/Newtonsoft.Json.dll": { - "assemblyVersion": "13.0.0.0", - "fileVersion": "13.0.1.25517" - } - } - }, - "System.IO.Pipelines/9.0.1": { - "runtime": { - "lib/net8.0/System.IO.Pipelines.dll": { - "assemblyVersion": "9.0.0.0", - "fileVersion": "9.0.124.61010" - } - } - }, - "System.Security.AccessControl/4.5.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "System.Security.Principal.Windows": "4.5.0" - } - }, - "System.Security.Principal.Windows/4.5.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0" - } - }, - "System.Text.Encodings.Web/9.0.1": { - "runtime": { - "lib/net8.0/System.Text.Encodings.Web.dll": { - "assemblyVersion": "9.0.0.0", - "fileVersion": "9.0.124.61010" - } - }, - "runtimeTargets": { - "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll": { - "rid": "browser", - "assetType": "runtime", - "assemblyVersion": "9.0.0.0", - "fileVersion": "9.0.124.61010" - } - } - }, - "System.Text.Json/9.0.1": { - "dependencies": { - "System.IO.Pipelines": "9.0.1", - "System.Text.Encodings.Web": "9.0.1" - }, - "runtime": { - "lib/net8.0/System.Text.Json.dll": { - "assemblyVersion": "9.0.0.0", - "fileVersion": "9.0.124.61010" - } - } - }, - "System.Threading.Tasks.Extensions/4.6.0": {}, - "YoutubeExplode/6.5.4": { - "dependencies": { - "AngleSharp": "1.2.0", - "Microsoft.Bcl.AsyncInterfaces": "9.0.1", - "System.Text.Json": "9.0.1", - "System.Threading.Tasks.Extensions": "4.6.0" - }, - "runtime": { - "lib/netstandard2.0/YoutubeExplode.dll": { - "assemblyVersion": "6.5.4.0", - "fileVersion": "6.5.4.0" - } - } - } - } - }, - "libraries": { - "Meio/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "AngleSharp/1.2.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-uF/PzSCVcb+b2nqVvHZbOqexoJ9R6QLjonugPf0PQl+0h7YKaFZeXyspctbHe5HGlx7/Iuk5BErtk+t63ac/ZA==", - "path": "anglesharp/1.2.0", - "hashPath": "anglesharp.1.2.0.nupkg.sha512" - }, - "CliWrap/3.9.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3IpuZUbTsWhgD3jhd5mKK7VVyVu/LhfsHXUlYrAOV8mZkJCTasum8Klgv7wyMIl5tttwUralTuTQzCNDLicMRw==", - "path": "cliwrap/3.9.0", - "hashPath": "cliwrap.3.9.0.nupkg.sha512" - }, - "DiscordRichPresence/1.6.1.70": { - "type": "package", - "serviceable": true, - "sha512": "sha512-yho1fdhbsedICHdfHe/Tu3IX6a5oj4fiPFL0keZStlsh7T/FrdjcwZZ7C1uC2HUvcXbFh+VEJvcbo1W66QtkUg==", - "path": "discordrichpresence/1.6.1.70", - "hashPath": "discordrichpresence.1.6.1.70.nupkg.sha512" - }, - "Microsoft.Bcl.AsyncInterfaces/9.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-IVkmUqf+KzbuXKrxi2tyQlg11RArYk26t2eU5cHekff+7Ao09vH8vt8idC0BJSMnpiRV2OK66zM2EwJU6Tm5Cw==", - "path": "microsoft.bcl.asyncinterfaces/9.0.1", - "hashPath": "microsoft.bcl.asyncinterfaces.9.0.1.nupkg.sha512" - }, - "Microsoft.NETCore.Platforms/2.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-VdLJOCXhZaEMY7Hm2GKiULmn7IEPFE4XC5LPSfBVCUIA8YLZVh846gtfBJalsPQF2PlzdD7ecX7DZEulJ402ZQ==", - "path": "microsoft.netcore.platforms/2.0.0", - "hashPath": "microsoft.netcore.platforms.2.0.0.nupkg.sha512" - }, - "Microsoft.Win32.Registry/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-+FWlwd//+Tt56316p00hVePBCouXyEzT86Jb3+AuRotTND0IYn0OO3obs1gnQEs/txEnt+rF2JBGLItTG+Be6A==", - "path": "microsoft.win32.registry/4.5.0", - "hashPath": "microsoft.win32.registry.4.5.0.nupkg.sha512" - }, - "Newtonsoft.Json/13.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", - "path": "newtonsoft.json/13.0.1", - "hashPath": "newtonsoft.json.13.0.1.nupkg.sha512" - }, - "System.IO.Pipelines/9.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-uXf5o8eV/gtzDQY4lGROLFMWQvcViKcF8o4Q6KpIOjloAQXrnscQSu6gTxYJMHuNJnh7szIF9AzkaEq+zDLoEg==", - "path": "system.io.pipelines/9.0.1", - "hashPath": "system.io.pipelines.9.0.1.nupkg.sha512" - }, - "System.Security.AccessControl/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==", - "path": "system.security.accesscontrol/4.5.0", - "hashPath": "system.security.accesscontrol.4.5.0.nupkg.sha512" - }, - "System.Security.Principal.Windows/4.5.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==", - "path": "system.security.principal.windows/4.5.0", - "hashPath": "system.security.principal.windows.4.5.0.nupkg.sha512" - }, - "System.Text.Encodings.Web/9.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-XkspqduP2t1e1x2vBUAD/xZ5ZDvmywuUwsmB93MvyQLospJfqtX0GsR/kU0vUL2h4kmvf777z3txV2W4NrQ9Qg==", - "path": "system.text.encodings.web/9.0.1", - "hashPath": "system.text.encodings.web.9.0.1.nupkg.sha512" - }, - "System.Text.Json/9.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-eqWHDZqYPv1PvuvoIIx5pF74plL3iEOZOl/0kQP+Y0TEbtgNnM2W6k8h8EPYs+LTJZsXuWa92n5W5sHTWvE3VA==", - "path": "system.text.json/9.0.1", - "hashPath": "system.text.json.9.0.1.nupkg.sha512" - }, - "System.Threading.Tasks.Extensions/4.6.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-I5G6Y8jb0xRtGUC9Lahy7FUvlYlnGMMkbuKAQBy8Jb7Y6Yn8OlBEiUOY0PqZ0hy6Ua8poVA1ui1tAIiXNxGdsg==", - "path": "system.threading.tasks.extensions/4.6.0", - "hashPath": "system.threading.tasks.extensions.4.6.0.nupkg.sha512" - }, - "YoutubeExplode/6.5.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-SWMvvvC/xEjkDEnQW28xeBXn0mgB7tsNtXvtcMpxYioyVuUWzsx94oWVQgUZIaT+Zbmvj03LaKIwK9mTGKMZQg==", - "path": "youtubeexplode/6.5.4", - "hashPath": "youtubeexplode.6.5.4.nupkg.sha512" - } - } -} \ No newline at end of file diff --git a/bin/Debug/net8.0/Meio.dll b/bin/Debug/net8.0/Meio.dll deleted file mode 100644 index c7f22ad..0000000 Binary files a/bin/Debug/net8.0/Meio.dll and /dev/null differ diff --git a/bin/Debug/net8.0/Meio.pdb b/bin/Debug/net8.0/Meio.pdb deleted file mode 100644 index f057740..0000000 Binary files a/bin/Debug/net8.0/Meio.pdb and /dev/null differ diff --git a/bin/Debug/net8.0/Meio.runtimeconfig.json b/bin/Debug/net8.0/Meio.runtimeconfig.json deleted file mode 100644 index becfaea..0000000 --- a/bin/Debug/net8.0/Meio.runtimeconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "runtimeOptions": { - "tfm": "net8.0", - "framework": { - "name": "Microsoft.NETCore.App", - "version": "8.0.0" - }, - "configProperties": { - "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false - } - } -} \ No newline at end of file diff --git a/bin/Debug/net8.0/Microsoft.Bcl.AsyncInterfaces.dll b/bin/Debug/net8.0/Microsoft.Bcl.AsyncInterfaces.dll deleted file mode 100644 index 4aea70d..0000000 Binary files a/bin/Debug/net8.0/Microsoft.Bcl.AsyncInterfaces.dll and /dev/null differ diff --git a/bin/Debug/net8.0/Newtonsoft.Json.dll b/bin/Debug/net8.0/Newtonsoft.Json.dll deleted file mode 100644 index 1ffeabe..0000000 Binary files a/bin/Debug/net8.0/Newtonsoft.Json.dll and /dev/null differ diff --git a/bin/Debug/net8.0/System.IO.Pipelines.dll b/bin/Debug/net8.0/System.IO.Pipelines.dll deleted file mode 100644 index 9e10d5f..0000000 Binary files a/bin/Debug/net8.0/System.IO.Pipelines.dll and /dev/null differ diff --git a/bin/Debug/net8.0/System.Text.Encodings.Web.dll b/bin/Debug/net8.0/System.Text.Encodings.Web.dll deleted file mode 100644 index 230d2a6..0000000 Binary files a/bin/Debug/net8.0/System.Text.Encodings.Web.dll and /dev/null differ diff --git a/bin/Debug/net8.0/System.Text.Json.dll b/bin/Debug/net8.0/System.Text.Json.dll deleted file mode 100644 index 5e855de..0000000 Binary files a/bin/Debug/net8.0/System.Text.Json.dll and /dev/null differ diff --git a/bin/Debug/net8.0/YoutubeExplode.dll b/bin/Debug/net8.0/YoutubeExplode.dll deleted file mode 100644 index 4f0e967..0000000 Binary files a/bin/Debug/net8.0/YoutubeExplode.dll and /dev/null differ diff --git a/bin/Debug/net8.0/runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll b/bin/Debug/net8.0/runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll deleted file mode 100644 index faef332..0000000 Binary files a/bin/Debug/net8.0/runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll and /dev/null differ diff --git a/obj/Debug/net6.0/Meio.AssemblyInfo.cs b/obj/Debug/net6.0/Meio.AssemblyInfo.cs deleted file mode 100644 index 07f5600..0000000 --- a/obj/Debug/net6.0/Meio.AssemblyInfo.cs +++ /dev/null @@ -1,22 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.Reflection; - -[assembly: System.Reflection.AssemblyCompanyAttribute("Meio")] -[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] -[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9999e02221e87353f3ed994d910179d768a69e7d")] -[assembly: System.Reflection.AssemblyProductAttribute("Meio")] -[assembly: System.Reflection.AssemblyTitleAttribute("Meio")] -[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] - -// Généré par la classe MSBuild WriteCodeFragment. - diff --git a/obj/Debug/net6.0/Meio.AssemblyInfoInputs.cache b/obj/Debug/net6.0/Meio.AssemblyInfoInputs.cache deleted file mode 100644 index f17ce6e..0000000 --- a/obj/Debug/net6.0/Meio.AssemblyInfoInputs.cache +++ /dev/null @@ -1 +0,0 @@ -8dcb6832f0a97466de70520dfacbd3033bfbdbf1a91f70efac7de8e5ab03b5ec diff --git a/obj/Debug/net6.0/Meio.GeneratedMSBuildEditorConfig.editorconfig b/obj/Debug/net6.0/Meio.GeneratedMSBuildEditorConfig.editorconfig deleted file mode 100644 index bf9f3c6..0000000 --- a/obj/Debug/net6.0/Meio.GeneratedMSBuildEditorConfig.editorconfig +++ /dev/null @@ -1,13 +0,0 @@ -is_global = true -build_property.TargetFramework = net6.0 -build_property.TargetPlatformMinVersion = -build_property.UsingMicrosoftNETSdkWeb = -build_property.ProjectTypeGuids = -build_property.InvariantGlobalization = -build_property.PlatformNeutralAssembly = -build_property.EnforceExtendedAnalyzerRules = -build_property._SupportedPlatformList = Linux,macOS,Windows -build_property.RootNamespace = Meio -build_property.ProjectDir = /home/kali/RiderProjects/Meio/ -build_property.EnableComHosting = -build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/obj/Debug/net6.0/Meio.GlobalUsings.g.cs b/obj/Debug/net6.0/Meio.GlobalUsings.g.cs deleted file mode 100644 index 8578f3d..0000000 --- a/obj/Debug/net6.0/Meio.GlobalUsings.g.cs +++ /dev/null @@ -1,8 +0,0 @@ -// -global using global::System; -global using global::System.Collections.Generic; -global using global::System.IO; -global using global::System.Linq; -global using global::System.Net.Http; -global using global::System.Threading; -global using global::System.Threading.Tasks; diff --git a/obj/Debug/net6.0/Meio.assets.cache b/obj/Debug/net6.0/Meio.assets.cache deleted file mode 100644 index e24fdb5..0000000 Binary files a/obj/Debug/net6.0/Meio.assets.cache and /dev/null differ diff --git a/obj/Debug/net6.0/Meio.csproj.AssemblyReference.cache b/obj/Debug/net6.0/Meio.csproj.AssemblyReference.cache deleted file mode 100644 index 9cfa0b6..0000000 Binary files a/obj/Debug/net6.0/Meio.csproj.AssemblyReference.cache and /dev/null differ diff --git a/obj/Debug/net6.0/Meio.csproj.CoreCompileInputs.cache b/obj/Debug/net6.0/Meio.csproj.CoreCompileInputs.cache deleted file mode 100644 index 9666cbb..0000000 --- a/obj/Debug/net6.0/Meio.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -a091a2e80b8286b0f648eaf2d1250ee6c2d217d68b7d6870c96c57f678f7206c diff --git a/obj/Debug/net6.0/Meio.csproj.FileListAbsolute.txt b/obj/Debug/net6.0/Meio.csproj.FileListAbsolute.txt deleted file mode 100644 index a546b2b..0000000 --- a/obj/Debug/net6.0/Meio.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,30 +0,0 @@ -/home/kali/RiderProjects/Meio/obj/Debug/net6.0/Meio.csproj.AssemblyReference.cache -/home/kali/RiderProjects/Meio/obj/Debug/net6.0/Meio.GeneratedMSBuildEditorConfig.editorconfig -/home/kali/RiderProjects/Meio/obj/Debug/net6.0/Meio.AssemblyInfoInputs.cache -/home/kali/RiderProjects/Meio/obj/Debug/net6.0/Meio.AssemblyInfo.cs -/home/kali/RiderProjects/Meio/obj/Debug/net6.0/Meio.csproj.CoreCompileInputs.cache -/home/kali/RiderProjects/Meio/obj/Debug/net6.0/Meio.sourcelink.json -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Meio -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Meio.deps.json -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Meio.runtimeconfig.json -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Meio.dll -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Meio.pdb -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/DiscordRPC.dll -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Newtonsoft.Json.dll -/home/kali/RiderProjects/Meio/obj/Debug/net6.0/Meio.csproj.Up2Date -/home/kali/RiderProjects/Meio/obj/Debug/net6.0/Meio.dll -/home/kali/RiderProjects/Meio/obj/Debug/net6.0/refint/Meio.dll -/home/kali/RiderProjects/Meio/obj/Debug/net6.0/Meio.pdb -/home/kali/RiderProjects/Meio/obj/Debug/net6.0/Meio.genruntimeconfig.cache -/home/kali/RiderProjects/Meio/obj/Debug/net6.0/ref/Meio.dll -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Discord.Net.Commands.dll -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Discord.Net.Core.dll -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Discord.Net.Interactions.dll -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Discord.Net.Rest.dll -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Discord.Net.Webhook.dll -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Discord.Net.WebSocket.dll -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Microsoft.Bcl.AsyncInterfaces.dll -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/System.Interactive.Async.dll -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/System.Linq.Async.dll -/home/kali/RiderProjects/Meio/bin/Debug/net6.0/System.Reactive.dll diff --git a/obj/Debug/net6.0/Meio.csproj.Up2Date b/obj/Debug/net6.0/Meio.csproj.Up2Date deleted file mode 100644 index e69de29..0000000 diff --git a/obj/Debug/net6.0/Meio.dll b/obj/Debug/net6.0/Meio.dll deleted file mode 100644 index c3f7668..0000000 Binary files a/obj/Debug/net6.0/Meio.dll and /dev/null differ diff --git a/obj/Debug/net6.0/Meio.genruntimeconfig.cache b/obj/Debug/net6.0/Meio.genruntimeconfig.cache deleted file mode 100644 index 77782fb..0000000 --- a/obj/Debug/net6.0/Meio.genruntimeconfig.cache +++ /dev/null @@ -1 +0,0 @@ -faf85bda597aead77055e2d3dd2d4615302bc7862e64113106b2853e7a75d41e diff --git a/obj/Debug/net6.0/Meio.pdb b/obj/Debug/net6.0/Meio.pdb deleted file mode 100644 index 06148ee..0000000 Binary files a/obj/Debug/net6.0/Meio.pdb and /dev/null differ diff --git a/obj/Debug/net6.0/Meio.sourcelink.json b/obj/Debug/net6.0/Meio.sourcelink.json deleted file mode 100644 index 51aacdd..0000000 --- a/obj/Debug/net6.0/Meio.sourcelink.json +++ /dev/null @@ -1 +0,0 @@ -{"documents":{"/home/kali/RiderProjects/Meio/*":"https://raw.githubusercontent.com/nodeSoftwares/Meio/9999e02221e87353f3ed994d910179d768a69e7d/*"}} \ No newline at end of file diff --git a/obj/Debug/net6.0/apphost b/obj/Debug/net6.0/apphost deleted file mode 100644 index 82a97fd..0000000 Binary files a/obj/Debug/net6.0/apphost and /dev/null differ diff --git a/obj/Debug/net6.0/ref/Meio.dll b/obj/Debug/net6.0/ref/Meio.dll deleted file mode 100644 index 12f59c9..0000000 Binary files a/obj/Debug/net6.0/ref/Meio.dll and /dev/null differ diff --git a/obj/Debug/net6.0/refint/Meio.dll b/obj/Debug/net6.0/refint/Meio.dll deleted file mode 100644 index 12f59c9..0000000 Binary files a/obj/Debug/net6.0/refint/Meio.dll and /dev/null differ diff --git a/obj/Debug/net8.0/Meio.AssemblyInfo.cs b/obj/Debug/net8.0/Meio.AssemblyInfo.cs deleted file mode 100644 index 07f5600..0000000 --- a/obj/Debug/net8.0/Meio.AssemblyInfo.cs +++ /dev/null @@ -1,22 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.Reflection; - -[assembly: System.Reflection.AssemblyCompanyAttribute("Meio")] -[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] -[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9999e02221e87353f3ed994d910179d768a69e7d")] -[assembly: System.Reflection.AssemblyProductAttribute("Meio")] -[assembly: System.Reflection.AssemblyTitleAttribute("Meio")] -[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] - -// Généré par la classe MSBuild WriteCodeFragment. - diff --git a/obj/Debug/net8.0/Meio.AssemblyInfoInputs.cache b/obj/Debug/net8.0/Meio.AssemblyInfoInputs.cache deleted file mode 100644 index f17ce6e..0000000 --- a/obj/Debug/net8.0/Meio.AssemblyInfoInputs.cache +++ /dev/null @@ -1 +0,0 @@ -8dcb6832f0a97466de70520dfacbd3033bfbdbf1a91f70efac7de8e5ab03b5ec diff --git a/obj/Debug/net8.0/Meio.GeneratedMSBuildEditorConfig.editorconfig b/obj/Debug/net8.0/Meio.GeneratedMSBuildEditorConfig.editorconfig deleted file mode 100644 index 51d8734..0000000 --- a/obj/Debug/net8.0/Meio.GeneratedMSBuildEditorConfig.editorconfig +++ /dev/null @@ -1,13 +0,0 @@ -is_global = true -build_property.TargetFramework = net8.0 -build_property.TargetPlatformMinVersion = -build_property.UsingMicrosoftNETSdkWeb = -build_property.ProjectTypeGuids = -build_property.InvariantGlobalization = -build_property.PlatformNeutralAssembly = -build_property.EnforceExtendedAnalyzerRules = -build_property._SupportedPlatformList = Linux,macOS,Windows -build_property.RootNamespace = Meio -build_property.ProjectDir = /home/kali/RiderProjects/Meio/ -build_property.EnableComHosting = -build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/obj/Debug/net8.0/Meio.GlobalUsings.g.cs b/obj/Debug/net8.0/Meio.GlobalUsings.g.cs deleted file mode 100644 index 8578f3d..0000000 --- a/obj/Debug/net8.0/Meio.GlobalUsings.g.cs +++ /dev/null @@ -1,8 +0,0 @@ -// -global using global::System; -global using global::System.Collections.Generic; -global using global::System.IO; -global using global::System.Linq; -global using global::System.Net.Http; -global using global::System.Threading; -global using global::System.Threading.Tasks; diff --git a/obj/Debug/net8.0/Meio.assets.cache b/obj/Debug/net8.0/Meio.assets.cache deleted file mode 100644 index ff62abd..0000000 Binary files a/obj/Debug/net8.0/Meio.assets.cache and /dev/null differ diff --git a/obj/Debug/net8.0/Meio.csproj.AssemblyReference.cache b/obj/Debug/net8.0/Meio.csproj.AssemblyReference.cache deleted file mode 100644 index 960fd4d..0000000 Binary files a/obj/Debug/net8.0/Meio.csproj.AssemblyReference.cache and /dev/null differ diff --git a/obj/Debug/net8.0/Meio.csproj.CoreCompileInputs.cache b/obj/Debug/net8.0/Meio.csproj.CoreCompileInputs.cache deleted file mode 100644 index b705f6d..0000000 --- a/obj/Debug/net8.0/Meio.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -82f7d49270fd59941dab35f86554c82dc0f68dfaf721369a425409d1adee0a13 diff --git a/obj/Debug/net8.0/Meio.csproj.FileListAbsolute.txt b/obj/Debug/net8.0/Meio.csproj.FileListAbsolute.txt deleted file mode 100644 index 530e816..0000000 --- a/obj/Debug/net8.0/Meio.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,27 +0,0 @@ -/home/kali/RiderProjects/Meio/obj/Debug/net8.0/Meio.csproj.AssemblyReference.cache -/home/kali/RiderProjects/Meio/obj/Debug/net8.0/Meio.GeneratedMSBuildEditorConfig.editorconfig -/home/kali/RiderProjects/Meio/obj/Debug/net8.0/Meio.AssemblyInfoInputs.cache -/home/kali/RiderProjects/Meio/obj/Debug/net8.0/Meio.AssemblyInfo.cs -/home/kali/RiderProjects/Meio/obj/Debug/net8.0/Meio.csproj.CoreCompileInputs.cache -/home/kali/RiderProjects/Meio/obj/Debug/net8.0/Meio.sourcelink.json -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/Meio -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/Meio.deps.json -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/Meio.runtimeconfig.json -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/Meio.dll -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/Meio.pdb -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/AngleSharp.dll -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/CliWrap.dll -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/DiscordRPC.dll -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/Microsoft.Bcl.AsyncInterfaces.dll -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/Newtonsoft.Json.dll -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/System.IO.Pipelines.dll -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/System.Text.Encodings.Web.dll -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/System.Text.Json.dll -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/YoutubeExplode.dll -/home/kali/RiderProjects/Meio/bin/Debug/net8.0/runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll -/home/kali/RiderProjects/Meio/obj/Debug/net8.0/Meio.csproj.Up2Date -/home/kali/RiderProjects/Meio/obj/Debug/net8.0/Meio.dll -/home/kali/RiderProjects/Meio/obj/Debug/net8.0/refint/Meio.dll -/home/kali/RiderProjects/Meio/obj/Debug/net8.0/Meio.pdb -/home/kali/RiderProjects/Meio/obj/Debug/net8.0/Meio.genruntimeconfig.cache -/home/kali/RiderProjects/Meio/obj/Debug/net8.0/ref/Meio.dll diff --git a/obj/Debug/net8.0/Meio.csproj.Up2Date b/obj/Debug/net8.0/Meio.csproj.Up2Date deleted file mode 100644 index e69de29..0000000 diff --git a/obj/Debug/net8.0/Meio.dll b/obj/Debug/net8.0/Meio.dll deleted file mode 100644 index c7f22ad..0000000 Binary files a/obj/Debug/net8.0/Meio.dll and /dev/null differ diff --git a/obj/Debug/net8.0/Meio.genruntimeconfig.cache b/obj/Debug/net8.0/Meio.genruntimeconfig.cache deleted file mode 100644 index b63e6aa..0000000 --- a/obj/Debug/net8.0/Meio.genruntimeconfig.cache +++ /dev/null @@ -1 +0,0 @@ -e151954bd8edb324d54105aa0d6d2e0bb3631bc692d8191d82e570732398022c diff --git a/obj/Debug/net8.0/Meio.pdb b/obj/Debug/net8.0/Meio.pdb deleted file mode 100644 index f057740..0000000 Binary files a/obj/Debug/net8.0/Meio.pdb and /dev/null differ diff --git a/obj/Debug/net8.0/Meio.sourcelink.json b/obj/Debug/net8.0/Meio.sourcelink.json deleted file mode 100644 index 51aacdd..0000000 --- a/obj/Debug/net8.0/Meio.sourcelink.json +++ /dev/null @@ -1 +0,0 @@ -{"documents":{"/home/kali/RiderProjects/Meio/*":"https://raw.githubusercontent.com/nodeSoftwares/Meio/9999e02221e87353f3ed994d910179d768a69e7d/*"}} \ No newline at end of file diff --git a/obj/Debug/net8.0/apphost b/obj/Debug/net8.0/apphost deleted file mode 100644 index 18f8231..0000000 Binary files a/obj/Debug/net8.0/apphost and /dev/null differ diff --git a/obj/Debug/net8.0/ref/Meio.dll b/obj/Debug/net8.0/ref/Meio.dll deleted file mode 100644 index 61cbecc..0000000 Binary files a/obj/Debug/net8.0/ref/Meio.dll and /dev/null differ diff --git a/obj/Debug/net8.0/refint/Meio.dll b/obj/Debug/net8.0/refint/Meio.dll deleted file mode 100644 index 61cbecc..0000000 Binary files a/obj/Debug/net8.0/refint/Meio.dll and /dev/null differ diff --git a/obj/Meio.csproj.nuget.dgspec.json b/obj/Meio.csproj.nuget.dgspec.json deleted file mode 100644 index c7b6efd..0000000 --- a/obj/Meio.csproj.nuget.dgspec.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "format": 1, - "restore": { - "/home/kali/RiderProjects/Meio/Meio.csproj": {} - }, - "projects": { - "/home/kali/RiderProjects/Meio/Meio.csproj": { - "version": "1.0.0", - "restore": { - "projectUniqueName": "/home/kali/RiderProjects/Meio/Meio.csproj", - "projectName": "Meio", - "projectPath": "/home/kali/RiderProjects/Meio/Meio.csproj", - "packagesPath": "/home/kali/.nuget/packages/", - "outputPath": "/home/kali/RiderProjects/Meio/obj/", - "projectStyle": "PackageReference", - "configFilePaths": [ - "/home/kali/.nuget/NuGet/NuGet.Config" - ], - "originalTargetFrameworks": [ - "net8.0" - ], - "sources": { - "https://api.nuget.org/v3/index.json": {} - }, - "frameworks": { - "net8.0": { - "targetAlias": "net8.0", - "projectReferences": {} - } - }, - "warningProperties": { - "warnAsError": [ - "NU1605" - ] - }, - "restoreAuditProperties": { - "enableAudit": "true", - "auditLevel": "low", - "auditMode": "direct" - } - }, - "frameworks": { - "net8.0": { - "targetAlias": "net8.0", - "dependencies": { - "CliWrap": { - "target": "Package", - "version": "[3.9.0, )" - }, - "DiscordRichPresence": { - "target": "Package", - "version": "[1.6.1.70, )" - }, - "YoutubeExplode": { - "target": "Package", - "version": "[6.5.4, )" - } - }, - "imports": [ - "net461", - "net462", - "net47", - "net471", - "net472", - "net48", - "net481" - ], - "assetTargetFallback": true, - "warn": true, - "downloadDependencies": [ - { - "name": "Microsoft.AspNetCore.App.Ref", - "version": "[8.0.19, 8.0.19]" - } - ], - "frameworkReferences": { - "Microsoft.NETCore.App": { - "privateAssets": "all" - } - }, - "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.413/PortableRuntimeIdentifierGraph.json" - } - } - } - } -} \ No newline at end of file diff --git a/obj/Meio.csproj.nuget.g.props b/obj/Meio.csproj.nuget.g.props deleted file mode 100644 index 6e44910..0000000 --- a/obj/Meio.csproj.nuget.g.props +++ /dev/null @@ -1,15 +0,0 @@ - - - - True - NuGet - $(MSBuildThisFileDirectory)project.assets.json - /home/kali/.nuget/packages/ - /home/kali/.nuget/packages/ - PackageReference - 6.11.1 - - - - - \ No newline at end of file diff --git a/obj/Meio.csproj.nuget.g.targets b/obj/Meio.csproj.nuget.g.targets deleted file mode 100644 index a446183..0000000 --- a/obj/Meio.csproj.nuget.g.targets +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/obj/project.assets.json b/obj/project.assets.json deleted file mode 100644 index d43318c..0000000 --- a/obj/project.assets.json +++ /dev/null @@ -1,763 +0,0 @@ -{ - "version": 3, - "targets": { - "net8.0": { - "AngleSharp/1.2.0": { - "type": "package", - "compile": { - "lib/net8.0/AngleSharp.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/AngleSharp.dll": { - "related": ".xml" - } - } - }, - "CliWrap/3.9.0": { - "type": "package", - "compile": { - "lib/net8.0/CliWrap.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/CliWrap.dll": { - "related": ".xml" - } - } - }, - "DiscordRichPresence/1.6.1.70": { - "type": "package", - "dependencies": { - "Microsoft.Win32.Registry": "4.5.0", - "Newtonsoft.Json": "13.0.1" - }, - "compile": { - "lib/netstandard2.0/DiscordRPC.dll": { - "related": ".pdb;.xml" - } - }, - "runtime": { - "lib/netstandard2.0/DiscordRPC.dll": { - "related": ".pdb;.xml" - } - } - }, - "Microsoft.Bcl.AsyncInterfaces/9.0.1": { - "type": "package", - "compile": { - "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - } - }, - "Microsoft.NETCore.Platforms/2.0.0": { - "type": "package", - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "Microsoft.Win32.Registry/4.5.0": { - "type": "package", - "dependencies": { - "System.Security.AccessControl": "4.5.0", - "System.Security.Principal.Windows": "4.5.0" - }, - "compile": { - "ref/netstandard2.0/Microsoft.Win32.Registry.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/netstandard2.0/Microsoft.Win32.Registry.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "Newtonsoft.Json/13.0.1": { - "type": "package", - "compile": { - "lib/netstandard2.0/Newtonsoft.Json.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/netstandard2.0/Newtonsoft.Json.dll": { - "related": ".xml" - } - } - }, - "System.IO.Pipelines/9.0.1": { - "type": "package", - "compile": { - "lib/net8.0/System.IO.Pipelines.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/System.IO.Pipelines.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - } - }, - "System.Security.AccessControl/4.5.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0", - "System.Security.Principal.Windows": "4.5.0" - }, - "compile": { - "ref/netstandard2.0/System.Security.AccessControl.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/netstandard2.0/System.Security.AccessControl.dll": {} - }, - "runtimeTargets": { - "runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Security.Principal.Windows/4.5.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "2.0.0" - }, - "compile": { - "ref/netstandard2.0/System.Security.Principal.Windows.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/netstandard2.0/System.Security.Principal.Windows.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Text.Encodings.Web/9.0.1": { - "type": "package", - "compile": { - "lib/net8.0/System.Text.Encodings.Web.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/System.Text.Encodings.Web.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - }, - "runtimeTargets": { - "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll": { - "assetType": "runtime", - "rid": "browser" - } - } - }, - "System.Text.Json/9.0.1": { - "type": "package", - "dependencies": { - "System.IO.Pipelines": "9.0.1", - "System.Text.Encodings.Web": "9.0.1" - }, - "compile": { - "lib/net8.0/System.Text.Json.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/System.Text.Json.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/System.Text.Json.targets": {} - } - }, - "System.Threading.Tasks.Extensions/4.6.0": { - "type": "package", - "compile": { - "lib/netcoreapp2.1/_._": {} - }, - "runtime": { - "lib/netcoreapp2.1/_._": {} - } - }, - "YoutubeExplode/6.5.4": { - "type": "package", - "dependencies": { - "AngleSharp": "1.2.0", - "Microsoft.Bcl.AsyncInterfaces": "9.0.1", - "System.Text.Json": "9.0.1", - "System.Threading.Tasks.Extensions": "4.6.0" - }, - "compile": { - "lib/netstandard2.0/YoutubeExplode.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/netstandard2.0/YoutubeExplode.dll": { - "related": ".xml" - } - } - } - } - }, - "libraries": { - "AngleSharp/1.2.0": { - "sha512": "uF/PzSCVcb+b2nqVvHZbOqexoJ9R6QLjonugPf0PQl+0h7YKaFZeXyspctbHe5HGlx7/Iuk5BErtk+t63ac/ZA==", - "type": "package", - "path": "anglesharp/1.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "README.md", - "anglesharp.1.2.0.nupkg.sha512", - "anglesharp.nuspec", - "lib/net462/AngleSharp.dll", - "lib/net462/AngleSharp.xml", - "lib/net472/AngleSharp.dll", - "lib/net472/AngleSharp.xml", - "lib/net6.0/AngleSharp.dll", - "lib/net6.0/AngleSharp.xml", - "lib/net7.0/AngleSharp.dll", - "lib/net7.0/AngleSharp.xml", - "lib/net8.0/AngleSharp.dll", - "lib/net8.0/AngleSharp.xml", - "lib/netstandard2.0/AngleSharp.dll", - "lib/netstandard2.0/AngleSharp.xml", - "logo.png" - ] - }, - "CliWrap/3.9.0": { - "sha512": "3IpuZUbTsWhgD3jhd5mKK7VVyVu/LhfsHXUlYrAOV8mZkJCTasum8Klgv7wyMIl5tttwUralTuTQzCNDLicMRw==", - "type": "package", - "path": "cliwrap/3.9.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "cliwrap.3.9.0.nupkg.sha512", - "cliwrap.nuspec", - "favicon.png", - "lib/net8.0/CliWrap.dll", - "lib/net8.0/CliWrap.xml", - "lib/net9.0/CliWrap.dll", - "lib/net9.0/CliWrap.xml", - "lib/netstandard2.0/CliWrap.dll", - "lib/netstandard2.0/CliWrap.xml", - "lib/netstandard2.1/CliWrap.dll", - "lib/netstandard2.1/CliWrap.xml" - ] - }, - "DiscordRichPresence/1.6.1.70": { - "sha512": "yho1fdhbsedICHdfHe/Tu3IX6a5oj4fiPFL0keZStlsh7T/FrdjcwZZ7C1uC2HUvcXbFh+VEJvcbo1W66QtkUg==", - "type": "package", - "path": "discordrichpresence/1.6.1.70", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "README.md", - "discordrichpresence.1.6.1.70.nupkg.sha512", - "discordrichpresence.nuspec", - "lib/net45/DiscordRPC.dll", - "lib/net45/DiscordRPC.pdb", - "lib/net45/DiscordRPC.xml", - "lib/net9.0/DiscordRPC.deps.json", - "lib/net9.0/DiscordRPC.dll", - "lib/net9.0/DiscordRPC.pdb", - "lib/net9.0/DiscordRPC.xml", - "lib/netstandard2.0/DiscordRPC.dll", - "lib/netstandard2.0/DiscordRPC.pdb", - "lib/netstandard2.0/DiscordRPC.xml" - ] - }, - "Microsoft.Bcl.AsyncInterfaces/9.0.1": { - "sha512": "IVkmUqf+KzbuXKrxi2tyQlg11RArYk26t2eU5cHekff+7Ao09vH8vt8idC0BJSMnpiRV2OK66zM2EwJU6Tm5Cw==", - "type": "package", - "path": "microsoft.bcl.asyncinterfaces/9.0.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Bcl.AsyncInterfaces.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Bcl.AsyncInterfaces.targets", - "lib/net462/Microsoft.Bcl.AsyncInterfaces.dll", - "lib/net462/Microsoft.Bcl.AsyncInterfaces.xml", - "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.dll", - "lib/netstandard2.0/Microsoft.Bcl.AsyncInterfaces.xml", - "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll", - "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.xml", - "microsoft.bcl.asyncinterfaces.9.0.1.nupkg.sha512", - "microsoft.bcl.asyncinterfaces.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.NETCore.Platforms/2.0.0": { - "sha512": "VdLJOCXhZaEMY7Hm2GKiULmn7IEPFE4XC5LPSfBVCUIA8YLZVh846gtfBJalsPQF2PlzdD7ecX7DZEulJ402ZQ==", - "type": "package", - "path": "microsoft.netcore.platforms/2.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/netstandard1.0/_._", - "microsoft.netcore.platforms.2.0.0.nupkg.sha512", - "microsoft.netcore.platforms.nuspec", - "runtime.json", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "Microsoft.Win32.Registry/4.5.0": { - "sha512": "+FWlwd//+Tt56316p00hVePBCouXyEzT86Jb3+AuRotTND0IYn0OO3obs1gnQEs/txEnt+rF2JBGLItTG+Be6A==", - "type": "package", - "path": "microsoft.win32.registry/4.5.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net46/Microsoft.Win32.Registry.dll", - "lib/net461/Microsoft.Win32.Registry.dll", - "lib/netstandard1.3/Microsoft.Win32.Registry.dll", - "lib/netstandard2.0/Microsoft.Win32.Registry.dll", - "microsoft.win32.registry.4.5.0.nupkg.sha512", - "microsoft.win32.registry.nuspec", - "ref/net46/Microsoft.Win32.Registry.dll", - "ref/net461/Microsoft.Win32.Registry.dll", - "ref/net461/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/Microsoft.Win32.Registry.dll", - "ref/netstandard1.3/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/de/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/es/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/fr/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/it/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/ja/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/ko/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/ru/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/zh-hans/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/zh-hant/Microsoft.Win32.Registry.xml", - "ref/netstandard2.0/Microsoft.Win32.Registry.dll", - "ref/netstandard2.0/Microsoft.Win32.Registry.xml", - "runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.dll", - "runtimes/win/lib/net46/Microsoft.Win32.Registry.dll", - "runtimes/win/lib/net461/Microsoft.Win32.Registry.dll", - "runtimes/win/lib/netstandard1.3/Microsoft.Win32.Registry.dll", - "runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.dll", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "Newtonsoft.Json/13.0.1": { - "sha512": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", - "type": "package", - "path": "newtonsoft.json/13.0.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.md", - "lib/net20/Newtonsoft.Json.dll", - "lib/net20/Newtonsoft.Json.xml", - "lib/net35/Newtonsoft.Json.dll", - "lib/net35/Newtonsoft.Json.xml", - "lib/net40/Newtonsoft.Json.dll", - "lib/net40/Newtonsoft.Json.xml", - "lib/net45/Newtonsoft.Json.dll", - "lib/net45/Newtonsoft.Json.xml", - "lib/netstandard1.0/Newtonsoft.Json.dll", - "lib/netstandard1.0/Newtonsoft.Json.xml", - "lib/netstandard1.3/Newtonsoft.Json.dll", - "lib/netstandard1.3/Newtonsoft.Json.xml", - "lib/netstandard2.0/Newtonsoft.Json.dll", - "lib/netstandard2.0/Newtonsoft.Json.xml", - "newtonsoft.json.13.0.1.nupkg.sha512", - "newtonsoft.json.nuspec", - "packageIcon.png" - ] - }, - "System.IO.Pipelines/9.0.1": { - "sha512": "uXf5o8eV/gtzDQY4lGROLFMWQvcViKcF8o4Q6KpIOjloAQXrnscQSu6gTxYJMHuNJnh7szIF9AzkaEq+zDLoEg==", - "type": "package", - "path": "system.io.pipelines/9.0.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/System.IO.Pipelines.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/System.IO.Pipelines.targets", - "lib/net462/System.IO.Pipelines.dll", - "lib/net462/System.IO.Pipelines.xml", - "lib/net8.0/System.IO.Pipelines.dll", - "lib/net8.0/System.IO.Pipelines.xml", - "lib/net9.0/System.IO.Pipelines.dll", - "lib/net9.0/System.IO.Pipelines.xml", - "lib/netstandard2.0/System.IO.Pipelines.dll", - "lib/netstandard2.0/System.IO.Pipelines.xml", - "system.io.pipelines.9.0.1.nupkg.sha512", - "system.io.pipelines.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "System.Security.AccessControl/4.5.0": { - "sha512": "vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==", - "type": "package", - "path": "system.security.accesscontrol/4.5.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net46/System.Security.AccessControl.dll", - "lib/net461/System.Security.AccessControl.dll", - "lib/netstandard1.3/System.Security.AccessControl.dll", - "lib/netstandard2.0/System.Security.AccessControl.dll", - "lib/uap10.0.16299/_._", - "ref/net46/System.Security.AccessControl.dll", - "ref/net461/System.Security.AccessControl.dll", - "ref/net461/System.Security.AccessControl.xml", - "ref/netstandard1.3/System.Security.AccessControl.dll", - "ref/netstandard1.3/System.Security.AccessControl.xml", - "ref/netstandard1.3/de/System.Security.AccessControl.xml", - "ref/netstandard1.3/es/System.Security.AccessControl.xml", - "ref/netstandard1.3/fr/System.Security.AccessControl.xml", - "ref/netstandard1.3/it/System.Security.AccessControl.xml", - "ref/netstandard1.3/ja/System.Security.AccessControl.xml", - "ref/netstandard1.3/ko/System.Security.AccessControl.xml", - "ref/netstandard1.3/ru/System.Security.AccessControl.xml", - "ref/netstandard1.3/zh-hans/System.Security.AccessControl.xml", - "ref/netstandard1.3/zh-hant/System.Security.AccessControl.xml", - "ref/netstandard2.0/System.Security.AccessControl.dll", - "ref/netstandard2.0/System.Security.AccessControl.xml", - "ref/uap10.0.16299/_._", - "runtimes/win/lib/net46/System.Security.AccessControl.dll", - "runtimes/win/lib/net461/System.Security.AccessControl.dll", - "runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll", - "runtimes/win/lib/netstandard1.3/System.Security.AccessControl.dll", - "runtimes/win/lib/uap10.0.16299/_._", - "system.security.accesscontrol.4.5.0.nupkg.sha512", - "system.security.accesscontrol.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "System.Security.Principal.Windows/4.5.0": { - "sha512": "U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==", - "type": "package", - "path": "system.security.principal.windows/4.5.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net46/System.Security.Principal.Windows.dll", - "lib/net461/System.Security.Principal.Windows.dll", - "lib/netstandard1.3/System.Security.Principal.Windows.dll", - "lib/netstandard2.0/System.Security.Principal.Windows.dll", - "lib/uap10.0.16299/_._", - "ref/net46/System.Security.Principal.Windows.dll", - "ref/net461/System.Security.Principal.Windows.dll", - "ref/net461/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/System.Security.Principal.Windows.dll", - "ref/netstandard1.3/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/de/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/es/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/fr/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/it/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/ja/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/ko/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/ru/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/zh-hans/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/zh-hant/System.Security.Principal.Windows.xml", - "ref/netstandard2.0/System.Security.Principal.Windows.dll", - "ref/netstandard2.0/System.Security.Principal.Windows.xml", - "ref/uap10.0.16299/_._", - "runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll", - "runtimes/win/lib/net46/System.Security.Principal.Windows.dll", - "runtimes/win/lib/net461/System.Security.Principal.Windows.dll", - "runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll", - "runtimes/win/lib/netstandard1.3/System.Security.Principal.Windows.dll", - "runtimes/win/lib/uap10.0.16299/_._", - "system.security.principal.windows.4.5.0.nupkg.sha512", - "system.security.principal.windows.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "System.Text.Encodings.Web/9.0.1": { - "sha512": "XkspqduP2t1e1x2vBUAD/xZ5ZDvmywuUwsmB93MvyQLospJfqtX0GsR/kU0vUL2h4kmvf777z3txV2W4NrQ9Qg==", - "type": "package", - "path": "system.text.encodings.web/9.0.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/System.Text.Encodings.Web.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/System.Text.Encodings.Web.targets", - "lib/net462/System.Text.Encodings.Web.dll", - "lib/net462/System.Text.Encodings.Web.xml", - "lib/net8.0/System.Text.Encodings.Web.dll", - "lib/net8.0/System.Text.Encodings.Web.xml", - "lib/net9.0/System.Text.Encodings.Web.dll", - "lib/net9.0/System.Text.Encodings.Web.xml", - "lib/netstandard2.0/System.Text.Encodings.Web.dll", - "lib/netstandard2.0/System.Text.Encodings.Web.xml", - "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll", - "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.xml", - "runtimes/browser/lib/net9.0/System.Text.Encodings.Web.dll", - "runtimes/browser/lib/net9.0/System.Text.Encodings.Web.xml", - "system.text.encodings.web.9.0.1.nupkg.sha512", - "system.text.encodings.web.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "System.Text.Json/9.0.1": { - "sha512": "eqWHDZqYPv1PvuvoIIx5pF74plL3iEOZOl/0kQP+Y0TEbtgNnM2W6k8h8EPYs+LTJZsXuWa92n5W5sHTWvE3VA==", - "type": "package", - "path": "system.text.json/9.0.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll", - "analyzers/dotnet/roslyn3.11/cs/cs/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/de/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/es/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/fr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/it/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ja/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ko/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pl/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ru/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/tr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll", - "analyzers/dotnet/roslyn4.0/cs/cs/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/de/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/es/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/fr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/it/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ja/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ko/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pl/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ru/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/tr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/System.Text.Json.SourceGeneration.dll", - "analyzers/dotnet/roslyn4.4/cs/cs/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/de/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/es/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/fr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/it/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ja/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ko/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pl/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ru/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/tr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "buildTransitive/net461/System.Text.Json.targets", - "buildTransitive/net462/System.Text.Json.targets", - "buildTransitive/net8.0/System.Text.Json.targets", - "buildTransitive/netcoreapp2.0/System.Text.Json.targets", - "buildTransitive/netstandard2.0/System.Text.Json.targets", - "lib/net462/System.Text.Json.dll", - "lib/net462/System.Text.Json.xml", - "lib/net8.0/System.Text.Json.dll", - "lib/net8.0/System.Text.Json.xml", - "lib/net9.0/System.Text.Json.dll", - "lib/net9.0/System.Text.Json.xml", - "lib/netstandard2.0/System.Text.Json.dll", - "lib/netstandard2.0/System.Text.Json.xml", - "system.text.json.9.0.1.nupkg.sha512", - "system.text.json.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "System.Threading.Tasks.Extensions/4.6.0": { - "sha512": "I5G6Y8jb0xRtGUC9Lahy7FUvlYlnGMMkbuKAQBy8Jb7Y6Yn8OlBEiUOY0PqZ0hy6Ua8poVA1ui1tAIiXNxGdsg==", - "type": "package", - "path": "system.threading.tasks.extensions/4.6.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "PACKAGE.md", - "buildTransitive/net461/System.Threading.Tasks.Extensions.targets", - "buildTransitive/net462/_._", - "lib/net462/System.Threading.Tasks.Extensions.dll", - "lib/net462/System.Threading.Tasks.Extensions.xml", - "lib/netcoreapp2.1/_._", - "lib/netstandard2.0/System.Threading.Tasks.Extensions.dll", - "lib/netstandard2.0/System.Threading.Tasks.Extensions.xml", - "system.threading.tasks.extensions.4.6.0.nupkg.sha512", - "system.threading.tasks.extensions.nuspec" - ] - }, - "YoutubeExplode/6.5.4": { - "sha512": "SWMvvvC/xEjkDEnQW28xeBXn0mgB7tsNtXvtcMpxYioyVuUWzsx94oWVQgUZIaT+Zbmvj03LaKIwK9mTGKMZQg==", - "type": "package", - "path": "youtubeexplode/6.5.4", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "favicon.png", - "lib/net9.0/YoutubeExplode.dll", - "lib/net9.0/YoutubeExplode.xml", - "lib/netstandard2.0/YoutubeExplode.dll", - "lib/netstandard2.0/YoutubeExplode.xml", - "youtubeexplode.6.5.4.nupkg.sha512", - "youtubeexplode.nuspec" - ] - } - }, - "projectFileDependencyGroups": { - "net8.0": [ - "CliWrap >= 3.9.0", - "DiscordRichPresence >= 1.6.1.70", - "YoutubeExplode >= 6.5.4" - ] - }, - "packageFolders": { - "/home/kali/.nuget/packages/": {} - }, - "project": { - "version": "1.0.0", - "restore": { - "projectUniqueName": "/home/kali/RiderProjects/Meio/Meio.csproj", - "projectName": "Meio", - "projectPath": "/home/kali/RiderProjects/Meio/Meio.csproj", - "packagesPath": "/home/kali/.nuget/packages/", - "outputPath": "/home/kali/RiderProjects/Meio/obj/", - "projectStyle": "PackageReference", - "configFilePaths": [ - "/home/kali/.nuget/NuGet/NuGet.Config" - ], - "originalTargetFrameworks": [ - "net8.0" - ], - "sources": { - "https://api.nuget.org/v3/index.json": {} - }, - "frameworks": { - "net8.0": { - "targetAlias": "net8.0", - "projectReferences": {} - } - }, - "warningProperties": { - "warnAsError": [ - "NU1605" - ] - }, - "restoreAuditProperties": { - "enableAudit": "true", - "auditLevel": "low", - "auditMode": "direct" - } - }, - "frameworks": { - "net8.0": { - "targetAlias": "net8.0", - "dependencies": { - "CliWrap": { - "target": "Package", - "version": "[3.9.0, )" - }, - "DiscordRichPresence": { - "target": "Package", - "version": "[1.6.1.70, )" - }, - "YoutubeExplode": { - "target": "Package", - "version": "[6.5.4, )" - } - }, - "imports": [ - "net461", - "net462", - "net47", - "net471", - "net472", - "net48", - "net481" - ], - "assetTargetFallback": true, - "warn": true, - "downloadDependencies": [ - { - "name": "Microsoft.AspNetCore.App.Ref", - "version": "[8.0.19, 8.0.19]" - } - ], - "frameworkReferences": { - "Microsoft.NETCore.App": { - "privateAssets": "all" - } - }, - "runtimeIdentifierGraphPath": "/usr/share/dotnet/sdk/8.0.413/PortableRuntimeIdentifierGraph.json" - } - } - } -} \ No newline at end of file diff --git a/obj/project.nuget.cache b/obj/project.nuget.cache deleted file mode 100644 index eefcc7d..0000000 --- a/obj/project.nuget.cache +++ /dev/null @@ -1,24 +0,0 @@ -{ - "version": 2, - "dgSpecHash": "bkktZTyPRNg=", - "success": true, - "projectFilePath": "/home/kali/RiderProjects/Meio/Meio.csproj", - "expectedPackageFiles": [ - "/home/kali/.nuget/packages/anglesharp/1.2.0/anglesharp.1.2.0.nupkg.sha512", - "/home/kali/.nuget/packages/cliwrap/3.9.0/cliwrap.3.9.0.nupkg.sha512", - "/home/kali/.nuget/packages/discordrichpresence/1.6.1.70/discordrichpresence.1.6.1.70.nupkg.sha512", - "/home/kali/.nuget/packages/microsoft.bcl.asyncinterfaces/9.0.1/microsoft.bcl.asyncinterfaces.9.0.1.nupkg.sha512", - "/home/kali/.nuget/packages/microsoft.netcore.platforms/2.0.0/microsoft.netcore.platforms.2.0.0.nupkg.sha512", - "/home/kali/.nuget/packages/microsoft.win32.registry/4.5.0/microsoft.win32.registry.4.5.0.nupkg.sha512", - "/home/kali/.nuget/packages/newtonsoft.json/13.0.1/newtonsoft.json.13.0.1.nupkg.sha512", - "/home/kali/.nuget/packages/system.io.pipelines/9.0.1/system.io.pipelines.9.0.1.nupkg.sha512", - "/home/kali/.nuget/packages/system.security.accesscontrol/4.5.0/system.security.accesscontrol.4.5.0.nupkg.sha512", - "/home/kali/.nuget/packages/system.security.principal.windows/4.5.0/system.security.principal.windows.4.5.0.nupkg.sha512", - "/home/kali/.nuget/packages/system.text.encodings.web/9.0.1/system.text.encodings.web.9.0.1.nupkg.sha512", - "/home/kali/.nuget/packages/system.text.json/9.0.1/system.text.json.9.0.1.nupkg.sha512", - "/home/kali/.nuget/packages/system.threading.tasks.extensions/4.6.0/system.threading.tasks.extensions.4.6.0.nupkg.sha512", - "/home/kali/.nuget/packages/youtubeexplode/6.5.4/youtubeexplode.6.5.4.nupkg.sha512", - "/home/kali/.nuget/packages/microsoft.aspnetcore.app.ref/8.0.19/microsoft.aspnetcore.app.ref.8.0.19.nupkg.sha512" - ], - "logs": [] -} \ No newline at end of file