Adding random images of squirrels, croissants, pumpkins and turtles, combined all in mediaprovider class
This commit is contained in:
parent
0c9a2a5619
commit
f30c136785
11 changed files with 281 additions and 113 deletions
|
@ -1,41 +0,0 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using Serilog;
|
||||
|
||||
namespace Geekbot.net.Lib.Media
|
||||
{
|
||||
public class CheckEmImageProvider : ICheckEmImageProvider
|
||||
{
|
||||
private readonly string[] checkEmImageArray;
|
||||
private readonly Random rnd;
|
||||
private readonly int totalCheckEmImages;
|
||||
|
||||
public CheckEmImageProvider(Random rnd, ILogger logger)
|
||||
{
|
||||
var path = Path.GetFullPath("./Storage/checkEmPics");
|
||||
if (File.Exists(path))
|
||||
{
|
||||
var rawCheckEmPics = File.ReadAllText(path);
|
||||
checkEmImageArray = rawCheckEmPics.Split("\n");
|
||||
totalCheckEmImages = checkEmImageArray.Length;
|
||||
this.rnd = rnd;
|
||||
logger.Verbose($"[Geekbot] [CheckEm] Loaded {totalCheckEmImages} CheckEm Images");
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.Error("checkEmPics File not found");
|
||||
logger.Error($"Path should be {path}");
|
||||
}
|
||||
}
|
||||
|
||||
public string GetRandomCheckEmPic()
|
||||
{
|
||||
return checkEmImageArray[rnd.Next(0, totalCheckEmImages)];
|
||||
}
|
||||
}
|
||||
|
||||
public interface ICheckEmImageProvider
|
||||
{
|
||||
string GetRandomCheckEmPic();
|
||||
}
|
||||
}
|
117
Geekbot.net/Lib/Media/MediaProvider.cs
Normal file
117
Geekbot.net/Lib/Media/MediaProvider.cs
Normal file
|
@ -0,0 +1,117 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Threading.Tasks;
|
||||
using Serilog;
|
||||
|
||||
namespace Geekbot.net.Lib.Media
|
||||
{
|
||||
public class MediaProvider : IMediaProvider
|
||||
{
|
||||
private readonly Random _random;
|
||||
private readonly ILogger _logger;
|
||||
private string[] _checkemImages;
|
||||
private string[] _pandaImages;
|
||||
private string[] _croissantImages;
|
||||
private string[] _squirrelImages;
|
||||
private string[] _pumpkinImages;
|
||||
private string[] _turtlesImages;
|
||||
|
||||
public MediaProvider(Random rnd, ILogger logger)
|
||||
{
|
||||
_random = rnd;
|
||||
_logger = logger;
|
||||
|
||||
logger.Information("[Geekbot] Loading Media Files");
|
||||
|
||||
loadCheckem();
|
||||
loadPandas();
|
||||
bakeCroissants();
|
||||
loadSquirrels();
|
||||
loadPumpkins();
|
||||
loadTurtles();
|
||||
}
|
||||
|
||||
private void loadCheckem()
|
||||
{
|
||||
var rawLinks = File.ReadAllText(Path.GetFullPath("./Storage/checkEmPics"));
|
||||
_checkemImages = rawLinks.Split("\n");
|
||||
_logger.Verbose($"[Geekbot] [Media] Loaded {_checkemImages.Length} CheckEm Images");
|
||||
}
|
||||
|
||||
private void loadPandas()
|
||||
{
|
||||
var rawLinks = File.ReadAllText(Path.GetFullPath("./Storage/pandas"));
|
||||
_pandaImages = rawLinks.Split("\n");
|
||||
_logger.Verbose($"[Geekbot] [Media] Loaded {_pandaImages.Length} Panda Images");
|
||||
}
|
||||
|
||||
private void bakeCroissants()
|
||||
{
|
||||
var rawLinks = File.ReadAllText(Path.GetFullPath("./Storage/croissant"));
|
||||
_croissantImages = rawLinks.Split("\n");
|
||||
_logger.Verbose($"[Geekbot] [Media] Loaded {_croissantImages.Length} Croissant Images");
|
||||
}
|
||||
|
||||
private void loadSquirrels()
|
||||
{
|
||||
var rawLinks = File.ReadAllText(Path.GetFullPath("./Storage/squirrel"));
|
||||
_squirrelImages = rawLinks.Split("\n");
|
||||
_logger.Verbose($"[Geekbot] [Media] Loaded {_squirrelImages.Length} Squirrel Images");
|
||||
}
|
||||
|
||||
private void loadPumpkins()
|
||||
{
|
||||
var rawLinks = File.ReadAllText(Path.GetFullPath("./Storage/pumpkin"));
|
||||
_pumpkinImages = rawLinks.Split("\n");
|
||||
_logger.Verbose($"[Geekbot] [Media] Loaded {_pumpkinImages.Length} Pumpkin Images");
|
||||
}
|
||||
|
||||
private void loadTurtles()
|
||||
{
|
||||
var rawLinks = File.ReadAllText(Path.GetFullPath("./Storage/turtles"));
|
||||
_turtlesImages = rawLinks.Split("\n");
|
||||
_logger.Verbose($"[Geekbot] [Media] Loaded {_turtlesImages.Length} Turtle Images");
|
||||
}
|
||||
|
||||
public string getCheckem()
|
||||
{
|
||||
return _checkemImages[_random.Next(0, _checkemImages.Length)];
|
||||
}
|
||||
|
||||
public string getPanda()
|
||||
{
|
||||
return _pandaImages[_random.Next(0, _pandaImages.Length)];
|
||||
}
|
||||
|
||||
public string getCrossant()
|
||||
{
|
||||
return _croissantImages[_random.Next(0, _croissantImages.Length)];
|
||||
}
|
||||
|
||||
public string getSquirrel()
|
||||
{
|
||||
return _squirrelImages[_random.Next(0, _squirrelImages.Length)];
|
||||
}
|
||||
|
||||
public string getPumpkin()
|
||||
{
|
||||
return _pumpkinImages[_random.Next(0, _pumpkinImages.Length)];
|
||||
}
|
||||
|
||||
public string getTurtle()
|
||||
{
|
||||
return _turtlesImages[_random.Next(0, _turtlesImages.Length)];
|
||||
}
|
||||
}
|
||||
|
||||
public interface IMediaProvider
|
||||
{
|
||||
string getCheckem();
|
||||
string getPanda();
|
||||
string getCrossant();
|
||||
string getSquirrel();
|
||||
string getPumpkin();
|
||||
string getTurtle();
|
||||
}
|
||||
}
|
|
@ -1,41 +0,0 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using Serilog;
|
||||
|
||||
namespace Geekbot.net.Lib.Media
|
||||
{
|
||||
public class PandaProvider : IPandaProvider
|
||||
{
|
||||
private readonly string[] PandaArray;
|
||||
private readonly Random rnd;
|
||||
private readonly int totalPandas;
|
||||
|
||||
public PandaProvider(Random rnd, ILogger logger)
|
||||
{
|
||||
var path = Path.GetFullPath("./Storage/pandas");
|
||||
if (File.Exists(path))
|
||||
{
|
||||
var rawFortunes = File.ReadAllText(path);
|
||||
PandaArray = rawFortunes.Split("\n");
|
||||
totalPandas = PandaArray.Length;
|
||||
this.rnd = rnd;
|
||||
logger.Verbose($"[Geekbot] [Pandas] Loaded {totalPandas} Panda Images");
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.Error("Pandas File not found");
|
||||
logger.Error($"Path should be {path}");
|
||||
}
|
||||
}
|
||||
|
||||
public string GetRandomPanda()
|
||||
{
|
||||
return PandaArray[rnd.Next(0, totalPandas)];
|
||||
}
|
||||
}
|
||||
|
||||
public interface IPandaProvider
|
||||
{
|
||||
string GetRandomPanda();
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue