mirror of
https://github.com/RPCS3/discord-bot.git
synced 2025-04-13 02:10:22 +00:00
32 lines
1.3 KiB
C#
32 lines
1.3 KiB
C#
using CompatBot.Database;
|
|
using DSharpPlus.Commands.Processors.TextCommands;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace CompatBot.Commands;
|
|
|
|
internal static partial class Bot
|
|
{
|
|
[Command("import")]
|
|
internal static class Import
|
|
{
|
|
[Command("metacritic"), LimitedToSpamChannel]
|
|
[Description("Import Metacritic database dump and link it to existing PSN items")]
|
|
public static async ValueTask ImportMc(TextCommandContext ctx)
|
|
{
|
|
if (await ImportLockObj.WaitAsync(0).ConfigureAwait(false))
|
|
try
|
|
{
|
|
await CompatList.ImportMetacriticScoresAsync().ConfigureAwait(false);
|
|
await using var db = await ThumbnailDb.OpenReadAsync().ConfigureAwait(false);
|
|
var linkedItems = await db.Thumbnail.CountAsync(i => i.MetacriticId != null).ConfigureAwait(false);
|
|
await ctx.Channel.SendMessageAsync($"Importing Metacritic info was successful, linked {linkedItems} items").ConfigureAwait(false);
|
|
}
|
|
finally
|
|
{
|
|
ImportLockObj.Release();
|
|
}
|
|
else
|
|
await ctx.Channel.SendMessageAsync("Another import operation is already in progress").ConfigureAwait(false);
|
|
}
|
|
}
|
|
} |