diff --git a/src/CasaBot/AutoScan/AutoScan.csproj b/src/CasaBot/AutoScan/AutoScan.csproj
new file mode 100644
index 0000000..d9c04b1
--- /dev/null
+++ b/src/CasaBot/AutoScan/AutoScan.csproj
@@ -0,0 +1,13 @@
+
+
+
+ net9.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/src/CasaBot/AutoScan/AutoScanApp.cs b/src/CasaBot/AutoScan/AutoScanApp.cs
new file mode 100644
index 0000000..24e00da
--- /dev/null
+++ b/src/CasaBot/AutoScan/AutoScanApp.cs
@@ -0,0 +1,22 @@
+using AutoScan.Options;
+using Microsoft.Extensions.Logging;
+
+namespace AutoScan;
+
+public class AutoScanApp
+{
+ private readonly AutoScanOptions _options;
+ private readonly ILogger _logger;
+
+ public AutoScanApp(AutoScanOptions options, ILogger logger)
+ {
+ _options = options;
+ _logger = logger;
+ }
+
+ private void Run()
+ {
+ _logger.LogInformation("AutoScanApp is running...");
+ _logger.LogInformation("Waiting for next scan at {At}.", _options.At);
+ }
+}
\ No newline at end of file
diff --git a/src/CasaBot/AutoScan/Options/AutoScanOptions.cs b/src/CasaBot/AutoScan/Options/AutoScanOptions.cs
new file mode 100644
index 0000000..f48efa2
--- /dev/null
+++ b/src/CasaBot/AutoScan/Options/AutoScanOptions.cs
@@ -0,0 +1,15 @@
+namespace AutoScan.Options;
+
+public class AutoScanOptions
+{
+ public bool Enabled { get; set; }
+ public string? At { get; set; }
+ public bool FromDayBefore { get; set; }
+ public string? From { get; set; }
+ public string? To { get; set; }
+ public int MaxAmount { get; set; }
+ public string? MediaFolder { get; set; }
+ public ShinobiOptions? Shinobi { get; set; }
+ public ScannerOptions? Scanner { get; set; }
+ public ScreenshotOptions? Screenshot { get; set; }
+}
\ No newline at end of file
diff --git a/src/CasaBot/AutoScan/Options/ScannerOptions.cs b/src/CasaBot/AutoScan/Options/ScannerOptions.cs
new file mode 100644
index 0000000..0a3d961
--- /dev/null
+++ b/src/CasaBot/AutoScan/Options/ScannerOptions.cs
@@ -0,0 +1,8 @@
+namespace AutoScan.Options;
+
+public class ScannerOptions
+{
+ public string? Exe { get; set; }
+ public string? ConfigFile { get; set; }
+ public string? DetectionFolder { get; set; }
+}
\ No newline at end of file
diff --git a/src/CasaBot/AutoScan/Options/ScreenshotOptions.cs b/src/CasaBot/AutoScan/Options/ScreenshotOptions.cs
new file mode 100644
index 0000000..044a6fe
--- /dev/null
+++ b/src/CasaBot/AutoScan/Options/ScreenshotOptions.cs
@@ -0,0 +1,7 @@
+namespace AutoScan.Options;
+
+public class ScreenshotOptions
+{
+ public string? Folder { get; set; }
+ public int OffsetSeconds { get; set; }
+}
\ No newline at end of file
diff --git a/src/CasaBot/AutoScan/Options/ShinobiOptions.cs b/src/CasaBot/AutoScan/Options/ShinobiOptions.cs
new file mode 100644
index 0000000..a5b710d
--- /dev/null
+++ b/src/CasaBot/AutoScan/Options/ShinobiOptions.cs
@@ -0,0 +1,9 @@
+namespace AutoScan.Options;
+
+public class ShinobiOptions
+{
+ public string? URL { get; set; }
+ public string? APIKey { get; set; }
+ public string? GroupId { get; set; }
+ public string? MonitorId { get; set; }
+}
\ No newline at end of file
diff --git a/src/CasaBot/CasaBot.sln b/src/CasaBot/CasaBot.sln
index b81d86e..6aa3b9e 100644
--- a/src/CasaBot/CasaBot.sln
+++ b/src/CasaBot/CasaBot.sln
@@ -2,6 +2,8 @@
Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CasaBotApp", "CasaBotApp\CasaBotApp.csproj", "{FF1AF6E7-88E4-488B-B6FB-BDAC126DD94E}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutoScan", "AutoScan\AutoScan.csproj", "{13D75ACB-7913-4C4B-B696-9BD7383012AF}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -12,5 +14,9 @@ Global
{FF1AF6E7-88E4-488B-B6FB-BDAC126DD94E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FF1AF6E7-88E4-488B-B6FB-BDAC126DD94E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FF1AF6E7-88E4-488B-B6FB-BDAC126DD94E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {13D75ACB-7913-4C4B-B696-9BD7383012AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {13D75ACB-7913-4C4B-B696-9BD7383012AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {13D75ACB-7913-4C4B-B696-9BD7383012AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {13D75ACB-7913-4C4B-B696-9BD7383012AF}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/src/CasaBot/CasaBotApp/CasaBotApp.csproj b/src/CasaBot/CasaBotApp/CasaBotApp.csproj
index aac6563..3172851 100644
--- a/src/CasaBot/CasaBotApp/CasaBotApp.csproj
+++ b/src/CasaBot/CasaBotApp/CasaBotApp.csproj
@@ -18,4 +18,22 @@
+
+
+ PreserveNewest
+
+
+
+
+
+ PreserveNewest
+
+
+
+
+
+
+
+
+