Swap the my anime list wrapper for the !anime and !manga commands

This commit is contained in:
runebaas 2020-09-24 12:21:21 +02:00
parent 216188f61f
commit 7ef0b6a319
No known key found for this signature in database
GPG key ID: 2677AF508D0300D6
6 changed files with 47 additions and 150 deletions

View file

@ -22,7 +22,6 @@
<PackageReference Include="Microsoft.Extensions.Configuration" Version="5.0.0-rc.1.*" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="5.0.0-rc.1.*" />
<PackageReference Include="Microsoft.Extensions.Options" Version="5.0.0-rc.1.*" />
<PackageReference Include="MyAnimeListSharp" Version="1.3.4" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="NLog" Version="4.7.2" />
<PackageReference Include="NLog.Config" Version="4.7.2" />

View file

@ -1,12 +0,0 @@
using System.Threading.Tasks;
using MyAnimeListSharp.Core;
namespace Geekbot.Core.MalClient
{
public interface IMalClient
{
bool IsLoggedIn();
Task<AnimeEntry> GetAnime(string query);
Task<MangaEntry> GetManga(string query);
}
}

View file

@ -1,63 +0,0 @@
using System.Threading.Tasks;
using Geekbot.Core.GlobalSettings;
using Geekbot.Core.Logger;
using MyAnimeListSharp.Auth;
using MyAnimeListSharp.Core;
using MyAnimeListSharp.Facade.Async;
namespace Geekbot.Core.MalClient
{
public class MalClient : IMalClient
{
private readonly IGlobalSettings _globalSettings;
private readonly IGeekbotLogger _logger;
private ICredentialContext _credentials;
private AnimeSearchMethodsAsync _animeSearch;
private MangaSearchMethodsAsync _mangaSearch;
public MalClient(IGlobalSettings globalSettings, IGeekbotLogger logger)
{
_globalSettings = globalSettings;
_logger = logger;
ReloadClient();
}
private bool ReloadClient()
{
var malCredentials = _globalSettings.GetKey("MalCredentials");
if (!string.IsNullOrEmpty(malCredentials))
{
var credSplit = malCredentials.Split('|');
_credentials = new CredentialContext()
{
UserName = credSplit[0],
Password = credSplit[1]
};
_animeSearch = new AnimeSearchMethodsAsync(_credentials);
_mangaSearch = new MangaSearchMethodsAsync(_credentials);
_logger.Debug(LogSource.Geekbot, "Logged in to MAL");
return true;
}
_logger.Debug(LogSource.Geekbot, "No MAL Credentials Set!");
return false;
}
public bool IsLoggedIn()
{
return _credentials != null;
}
public async Task<AnimeEntry> GetAnime(string query)
{
var response = await _animeSearch.SearchDeserializedAsync(query);
return response.Entries.Count == 0 ? null : response.Entries[0];
}
public async Task<MangaEntry> GetManga(string query)
{
var response = await _mangaSearch.SearchDeserializedAsync(query);
return response.Entries.Count == 0 ? null : response.Entries[0];
}
}
}