diff --git a/NadekoBot.sln b/NadekoBot.sln
index 556fe8503..e4b9f37cd 100644
--- a/NadekoBot.sln
+++ b/NadekoBot.sln
@@ -25,41 +25,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NadekoBot.Tests", "src\Nade
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NadekoBot.Coordinator", "src\NadekoBot.Coordinator\NadekoBot.Coordinator.csproj", "{AE9B7F8C-81D7-4401-83A3-643B38258374}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Generators.Strings", "src\Nadeko.Bot.Generators.Strings\Nadeko.Bot.Generators.Strings.csproj", "{3BC3BDF8-1A0B-45EB-AB2B-C0891D4D37B8}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NadekoBot.VotesApi", "src\NadekoBot.VotesApi\NadekoBot.VotesApi.csproj", "{3BC82CFE-BEE7-451F-986B-17EDD1570C4F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Medusa", "src\Nadeko.Medusa\Nadeko.Medusa.csproj", "{E685977E-31A4-46F4-A5D7-4E3E39E82E43}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Common", "src\Nadeko.Common\Nadeko.Common.csproj", "{A6022F5F-A764-4D3F-847B-36F0391FF659}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Econ", "src\Nadeko.Econ\Nadeko.Econ.csproj", "{4F4FBF7C-74F0-4AE4-B451-9E60BDCA9C37}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Modules.Expresssions", "src\Nadeko.Bot.Modules.Expresssions\Nadeko.Bot.Modules.Expresssions.csproj", "{92E239B9-C230-4475-9506-BED20174FD20}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Db", "src\Nadeko.Bot.Db\Nadeko.Bot.Db.csproj", "{02499E3E-3B04-4BC8-9B3C-D9494661F78E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Common", "src\Nadeko.Bot.Common\Nadeko.Bot.Common.csproj", "{02ABC10E-3323-4698-A388-C61D7D03797E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Modules.Gambling", "src\Nadeko.Bot.Modules.Gambling\Nadeko.Bot.Modules.Gambling.csproj", "{5F4F36A5-5874-4461-BB34-EE107E4B7F15}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Modules.Searches", "src\Nadeko.Bot.Modules.Searches\Nadeko.Bot.Modules.Searches.csproj", "{65E2A9D2-2239-41B0-AC46-48ACDDF6B121}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Modules.Music", "src\Nadeko.Bot.Modules.Music\Nadeko.Bot.Modules.Music.csproj", "{95271823-A8FC-4BEF-BB1E-FAE699722922}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Modules.Xp", "src\Nadeko.Bot.Modules.Xp\Nadeko.Bot.Modules.Xp.csproj", "{8B4CCF50-E109-4206-9FEB-93F199C42B8A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Modules.Utility", "src\Nadeko.Bot.Modules.Utility\Nadeko.Bot.Modules.Utility.csproj", "{1E338315-4BA9-4091-A06E-DE80399A1CF9}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Modules.Permisssions", "src\Nadeko.Bot.Modules.Permisssions\Nadeko.Bot.Modules.Permisssions.csproj", "{A5B51533-33B6-43AF-9D2D-410613078E96}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Modules.Administration", "src\Nadeko.Bot.Modules.Administration\Nadeko.Bot.Modules.Administration.csproj", "{08C31FF8-AC47-498D-ACD9-612FA8001F1F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Modules.Help", "src\Nadeko.Bot.Modules.Help\Nadeko.Bot.Modules.Help.csproj", "{C6359697-25F1-4049-8D73-AC48043CA192}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Modules.Patronage", "src\Nadeko.Bot.Modules.Patronage\Nadeko.Bot.Modules.Patronage.csproj", "{CE434517-926B-44FE-8449-FE34A4382267}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nadeko.Bot.Generators.Cloneable", "src\Nadeko.Bot.Generators.Cloneable\Nadeko.Bot.Generators.Cloneable.csproj", "{92770AF3-83EE-49F1-A0BB-79124D19A13D}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NadekoBot.Generators", "src\NadekoBot.Generators\NadekoBot.Generators.csproj", "{92770AF3-83EE-49F1-A0BB-79124D19A13D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -92,12 +62,6 @@ Global
{AE9B7F8C-81D7-4401-83A3-643B38258374}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
{AE9B7F8C-81D7-4401-83A3-643B38258374}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AE9B7F8C-81D7-4401-83A3-643B38258374}.Release|Any CPU.Build.0 = Release|Any CPU
- {3BC3BDF8-1A0B-45EB-AB2B-C0891D4D37B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3BC3BDF8-1A0B-45EB-AB2B-C0891D4D37B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3BC3BDF8-1A0B-45EB-AB2B-C0891D4D37B8}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {3BC3BDF8-1A0B-45EB-AB2B-C0891D4D37B8}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {3BC3BDF8-1A0B-45EB-AB2B-C0891D4D37B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3BC3BDF8-1A0B-45EB-AB2B-C0891D4D37B8}.Release|Any CPU.Build.0 = Release|Any CPU
{3BC82CFE-BEE7-451F-986B-17EDD1570C4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3BC82CFE-BEE7-451F-986B-17EDD1570C4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3BC82CFE-BEE7-451F-986B-17EDD1570C4F}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
@@ -110,90 +74,6 @@ Global
{E685977E-31A4-46F4-A5D7-4E3E39E82E43}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
{E685977E-31A4-46F4-A5D7-4E3E39E82E43}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E685977E-31A4-46F4-A5D7-4E3E39E82E43}.Release|Any CPU.Build.0 = Release|Any CPU
- {A6022F5F-A764-4D3F-847B-36F0391FF659}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A6022F5F-A764-4D3F-847B-36F0391FF659}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A6022F5F-A764-4D3F-847B-36F0391FF659}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {A6022F5F-A764-4D3F-847B-36F0391FF659}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {A6022F5F-A764-4D3F-847B-36F0391FF659}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A6022F5F-A764-4D3F-847B-36F0391FF659}.Release|Any CPU.Build.0 = Release|Any CPU
- {4F4FBF7C-74F0-4AE4-B451-9E60BDCA9C37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4F4FBF7C-74F0-4AE4-B451-9E60BDCA9C37}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4F4FBF7C-74F0-4AE4-B451-9E60BDCA9C37}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {4F4FBF7C-74F0-4AE4-B451-9E60BDCA9C37}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {4F4FBF7C-74F0-4AE4-B451-9E60BDCA9C37}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4F4FBF7C-74F0-4AE4-B451-9E60BDCA9C37}.Release|Any CPU.Build.0 = Release|Any CPU
- {92E239B9-C230-4475-9506-BED20174FD20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {92E239B9-C230-4475-9506-BED20174FD20}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {92E239B9-C230-4475-9506-BED20174FD20}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {92E239B9-C230-4475-9506-BED20174FD20}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {92E239B9-C230-4475-9506-BED20174FD20}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {92E239B9-C230-4475-9506-BED20174FD20}.Release|Any CPU.Build.0 = Release|Any CPU
- {02499E3E-3B04-4BC8-9B3C-D9494661F78E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {02499E3E-3B04-4BC8-9B3C-D9494661F78E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {02499E3E-3B04-4BC8-9B3C-D9494661F78E}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {02499E3E-3B04-4BC8-9B3C-D9494661F78E}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {02499E3E-3B04-4BC8-9B3C-D9494661F78E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {02499E3E-3B04-4BC8-9B3C-D9494661F78E}.Release|Any CPU.Build.0 = Release|Any CPU
- {02ABC10E-3323-4698-A388-C61D7D03797E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {02ABC10E-3323-4698-A388-C61D7D03797E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {02ABC10E-3323-4698-A388-C61D7D03797E}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {02ABC10E-3323-4698-A388-C61D7D03797E}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {02ABC10E-3323-4698-A388-C61D7D03797E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {02ABC10E-3323-4698-A388-C61D7D03797E}.Release|Any CPU.Build.0 = Release|Any CPU
- {5F4F36A5-5874-4461-BB34-EE107E4B7F15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5F4F36A5-5874-4461-BB34-EE107E4B7F15}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5F4F36A5-5874-4461-BB34-EE107E4B7F15}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {5F4F36A5-5874-4461-BB34-EE107E4B7F15}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {5F4F36A5-5874-4461-BB34-EE107E4B7F15}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5F4F36A5-5874-4461-BB34-EE107E4B7F15}.Release|Any CPU.Build.0 = Release|Any CPU
- {65E2A9D2-2239-41B0-AC46-48ACDDF6B121}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {65E2A9D2-2239-41B0-AC46-48ACDDF6B121}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {65E2A9D2-2239-41B0-AC46-48ACDDF6B121}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {65E2A9D2-2239-41B0-AC46-48ACDDF6B121}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {65E2A9D2-2239-41B0-AC46-48ACDDF6B121}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {65E2A9D2-2239-41B0-AC46-48ACDDF6B121}.Release|Any CPU.Build.0 = Release|Any CPU
- {95271823-A8FC-4BEF-BB1E-FAE699722922}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {95271823-A8FC-4BEF-BB1E-FAE699722922}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {95271823-A8FC-4BEF-BB1E-FAE699722922}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {95271823-A8FC-4BEF-BB1E-FAE699722922}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {95271823-A8FC-4BEF-BB1E-FAE699722922}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {95271823-A8FC-4BEF-BB1E-FAE699722922}.Release|Any CPU.Build.0 = Release|Any CPU
- {8B4CCF50-E109-4206-9FEB-93F199C42B8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8B4CCF50-E109-4206-9FEB-93F199C42B8A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8B4CCF50-E109-4206-9FEB-93F199C42B8A}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {8B4CCF50-E109-4206-9FEB-93F199C42B8A}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {8B4CCF50-E109-4206-9FEB-93F199C42B8A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8B4CCF50-E109-4206-9FEB-93F199C42B8A}.Release|Any CPU.Build.0 = Release|Any CPU
- {1E338315-4BA9-4091-A06E-DE80399A1CF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1E338315-4BA9-4091-A06E-DE80399A1CF9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1E338315-4BA9-4091-A06E-DE80399A1CF9}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {1E338315-4BA9-4091-A06E-DE80399A1CF9}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {1E338315-4BA9-4091-A06E-DE80399A1CF9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1E338315-4BA9-4091-A06E-DE80399A1CF9}.Release|Any CPU.Build.0 = Release|Any CPU
- {A5B51533-33B6-43AF-9D2D-410613078E96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A5B51533-33B6-43AF-9D2D-410613078E96}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A5B51533-33B6-43AF-9D2D-410613078E96}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {A5B51533-33B6-43AF-9D2D-410613078E96}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {A5B51533-33B6-43AF-9D2D-410613078E96}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A5B51533-33B6-43AF-9D2D-410613078E96}.Release|Any CPU.Build.0 = Release|Any CPU
- {08C31FF8-AC47-498D-ACD9-612FA8001F1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {08C31FF8-AC47-498D-ACD9-612FA8001F1F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {08C31FF8-AC47-498D-ACD9-612FA8001F1F}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {08C31FF8-AC47-498D-ACD9-612FA8001F1F}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {08C31FF8-AC47-498D-ACD9-612FA8001F1F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {08C31FF8-AC47-498D-ACD9-612FA8001F1F}.Release|Any CPU.Build.0 = Release|Any CPU
- {C6359697-25F1-4049-8D73-AC48043CA192}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C6359697-25F1-4049-8D73-AC48043CA192}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C6359697-25F1-4049-8D73-AC48043CA192}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {C6359697-25F1-4049-8D73-AC48043CA192}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {C6359697-25F1-4049-8D73-AC48043CA192}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C6359697-25F1-4049-8D73-AC48043CA192}.Release|Any CPU.Build.0 = Release|Any CPU
- {CE434517-926B-44FE-8449-FE34A4382267}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CE434517-926B-44FE-8449-FE34A4382267}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CE434517-926B-44FE-8449-FE34A4382267}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
- {CE434517-926B-44FE-8449-FE34A4382267}.GlobalNadeko|Any CPU.Build.0 = Debug|Any CPU
- {CE434517-926B-44FE-8449-FE34A4382267}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CE434517-926B-44FE-8449-FE34A4382267}.Release|Any CPU.Build.0 = Release|Any CPU
{92770AF3-83EE-49F1-A0BB-79124D19A13D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{92770AF3-83EE-49F1-A0BB-79124D19A13D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{92770AF3-83EE-49F1-A0BB-79124D19A13D}.GlobalNadeko|Any CPU.ActiveCfg = Debug|Any CPU
@@ -210,23 +90,8 @@ Global
{2F4CF6D6-0C2F-4944-B204-9508CDA53195} = {6058FEDF-A318-4CD4-8F04-A7E8E7EC8874}
{DB448DD4-C97F-40E9-8BD3-F605FF1FF833} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
{AE9B7F8C-81D7-4401-83A3-643B38258374} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {3BC3BDF8-1A0B-45EB-AB2B-C0891D4D37B8} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
{3BC82CFE-BEE7-451F-986B-17EDD1570C4F} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
{E685977E-31A4-46F4-A5D7-4E3E39E82E43} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {A6022F5F-A764-4D3F-847B-36F0391FF659} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {4F4FBF7C-74F0-4AE4-B451-9E60BDCA9C37} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {92E239B9-C230-4475-9506-BED20174FD20} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {02499E3E-3B04-4BC8-9B3C-D9494661F78E} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {02ABC10E-3323-4698-A388-C61D7D03797E} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {5F4F36A5-5874-4461-BB34-EE107E4B7F15} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {65E2A9D2-2239-41B0-AC46-48ACDDF6B121} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {95271823-A8FC-4BEF-BB1E-FAE699722922} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {8B4CCF50-E109-4206-9FEB-93F199C42B8A} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {1E338315-4BA9-4091-A06E-DE80399A1CF9} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {A5B51533-33B6-43AF-9D2D-410613078E96} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {08C31FF8-AC47-498D-ACD9-612FA8001F1F} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {C6359697-25F1-4049-8D73-AC48043CA192} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
- {CE434517-926B-44FE-8449-FE34A4382267} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
{92770AF3-83EE-49F1-A0BB-79124D19A13D} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
diff --git a/src/Nadeko.Bot.Common/GlobalUsings.cs b/src/Nadeko.Bot.Common/GlobalUsings.cs
deleted file mode 100644
index 2d40b588f..000000000
--- a/src/Nadeko.Bot.Common/GlobalUsings.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-// // global using System.Collections.Concurrent;
-global using NonBlocking;
-//
-// // packages
-// global using Serilog;
-global using Humanizer;
-//
-// // nadekobot
-global using NadekoBot;
-global using NadekoBot.Services;
-global using Nadeko.Common; // new project
-global using NadekoBot.Common; // old + nadekobot specific things
-global using NadekoBot.Common.Attributes;
-global using NadekoBot.Extensions;
-// global using Nadeko.Medusa;
-
-// discord
-global using Discord;
-global using Discord.Commands;
-global using Discord.Net;
-global using Discord.WebSocket;
-
-// aliases
-global using GuildPerm = Discord.GuildPermission;
-global using ChannelPerm = Discord.ChannelPermission;
-global using BotPermAttribute = Discord.Commands.RequireBotPermissionAttribute;
-global using LeftoverAttribute = Discord.Commands.RemainderAttribute;
-// global using TypeReaderResult = NadekoBot.Common.TypeReaders.TypeReaderResult;
-
-// non-essential
-global using JetBrains.Annotations;
-
-
-global using Serilog;
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Common/Nadeko.Bot.Common.csproj b/src/Nadeko.Bot.Common/Nadeko.Bot.Common.csproj
deleted file mode 100644
index ac4e7b67c..000000000
--- a/src/Nadeko.Bot.Common/Nadeko.Bot.Common.csproj
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
- net8.0
- enable
- enable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- all
- True
-
-
-
-
-
-
-
-
-
-
-
-
- responses.en-US.json
-
-
-
-
diff --git a/src/Nadeko.Bot.Db/.globalconfig b/src/Nadeko.Bot.Db/.globalconfig
deleted file mode 100644
index 5e750a2a0..000000000
--- a/src/Nadeko.Bot.Db/.globalconfig
+++ /dev/null
@@ -1 +0,0 @@
-dotnet_diagnostic.CS8981.severity = none
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Db/GlobalUsings.cs b/src/Nadeko.Bot.Db/GlobalUsings.cs
deleted file mode 100644
index ae4ac9ebd..000000000
--- a/src/Nadeko.Bot.Db/GlobalUsings.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// // global using System.Collections.Concurrent;
-// global using NonBlocking;
-//
-// // packages
-// global using Serilog;
-// global using Humanizer;
-//
-// // nadekobot
-global using NadekoBot;
-global using Nadeko.Common;
-// global using NadekoBot.Common; // old + nadekobot specific things
-// global using NadekoBot.Common.Attributes;
-// global using NadekoBot.Extensions;
-// global using Nadeko.Medusa;
-
-// // discord
-// global using Discord;
-// global using Discord.Commands;
-// global using Discord.Net;
-// global using Discord.WebSocket;
-//
-// // aliases
-// global using GuildPerm = Discord.GuildPermission;
-// global using ChannelPerm = Discord.ChannelPermission;
-// global using BotPermAttribute = Discord.Commands.RequireBotPermissionAttribute;
-// global using LeftoverAttribute = Discord.Commands.RemainderAttribute;
-// global using TypeReaderResult = NadekoBot.Common.TypeReaders.TypeReaderResult;
-
-// non-essential
-// global using JetBrains.Annotations;
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Db/Nadeko.Bot.Db.csproj b/src/Nadeko.Bot.Db/Nadeko.Bot.Db.csproj
deleted file mode 100644
index 261251f53..000000000
--- a/src/Nadeko.Bot.Db/Nadeko.Bot.Db.csproj
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
- net8.0
- enable
- enable
- NadekoBot.Db
- false
-
-
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Nadeko.Bot.Db/Nadeko.Bot.Db.csproj.DotSettings b/src/Nadeko.Bot.Db/Nadeko.Bot.Db.csproj.DotSettings
deleted file mode 100644
index 0227ccdcf..000000000
--- a/src/Nadeko.Bot.Db/Nadeko.Bot.Db.csproj.DotSettings
+++ /dev/null
@@ -1,2 +0,0 @@
-
- True
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Generators.Cloneable/Nadeko.Bot.Generators.Cloneable.csproj b/src/Nadeko.Bot.Generators.Cloneable/Nadeko.Bot.Generators.Cloneable.csproj
deleted file mode 100644
index 5ba6445d2..000000000
--- a/src/Nadeko.Bot.Generators.Cloneable/Nadeko.Bot.Generators.Cloneable.csproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- netstandard2.0
- latest
- false
- true
- true
- enable
- enable
-
-
-
-
-
-
-
diff --git a/src/Nadeko.Bot.Modules.Administration/GlobalUsings.cs b/src/Nadeko.Bot.Modules.Administration/GlobalUsings.cs
deleted file mode 100644
index a6363f20f..000000000
--- a/src/Nadeko.Bot.Modules.Administration/GlobalUsings.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// // global using System.Collections.Concurrent;
-global using NonBlocking;
-//
-// // packages
-global using Serilog;
-global using Humanizer;
-global using Newtonsoft;
-//
-// // nadekobot
-// global using NadekoBot;
-global using NadekoBot.Services;
-global using Nadeko.Common; // new project
-global using NadekoBot.Common; // old + nadekobot specific things
-global using NadekoBot.Common.Attributes;
-global using NadekoBot.Extensions;
-// global using Nadeko.Medusa;
-
-// discord
-global using Discord;
-global using Discord.Commands;
-global using Discord.Net;
-global using Discord.WebSocket;
-
-// aliases
-global using GuildPerm = Discord.GuildPermission;
-global using ChannelPerm = Discord.ChannelPermission;
-global using BotPermAttribute = Discord.Commands.RequireBotPermissionAttribute;
-global using LeftoverAttribute = Discord.Commands.RemainderAttribute;
-global using TypeReaderResult = NadekoBot.Common.TypeReaders.TypeReaderResult;
-
-// non-essential
-// global using JetBrains.Annotations;
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Modules.Administration/Nadeko.Bot.Modules.Administration.csproj b/src/Nadeko.Bot.Modules.Administration/Nadeko.Bot.Modules.Administration.csproj
deleted file mode 100644
index 176be8a7a..000000000
--- a/src/Nadeko.Bot.Modules.Administration/Nadeko.Bot.Modules.Administration.csproj
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
- net8.0
- enable
- enable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Nadeko.Bot.Modules.Expresssions/GlobalUsings.cs b/src/Nadeko.Bot.Modules.Expresssions/GlobalUsings.cs
deleted file mode 100644
index 0130a2113..000000000
--- a/src/Nadeko.Bot.Modules.Expresssions/GlobalUsings.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-// // global using System.Collections.Concurrent;
-global using NonBlocking;
-//
-// // packages
-// global using Serilog;
-// global using Humanizer;
-//
-// // nadekobot
-// global using NadekoBot;
-// global using NadekoBot.Services;
-global using Nadeko.Common; // new project
-global using NadekoBot.Common; // old + nadekobot specific things
-// global using NadekoBot.Common.Attributes;
-global using NadekoBot.Extensions;
-// global using Nadeko.Medusa;
-
-// discord
-global using Discord;
-global using Discord.Commands;
-global using Discord.Net;
-global using Discord.WebSocket;
-
-// aliases
-global using GuildPerm = Discord.GuildPermission;
-global using ChannelPerm = Discord.ChannelPermission;
-global using BotPermAttribute = Discord.Commands.RequireBotPermissionAttribute;
-global using LeftoverAttribute = Discord.Commands.RemainderAttribute;
-global using TypeReaderResult = NadekoBot.Common.TypeReaders.TypeReaderResult;
-
-// non-essential
-// global using JetBrains.Annotations;
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Modules.Expresssions/Nadeko.Bot.Modules.Expresssions.csproj b/src/Nadeko.Bot.Modules.Expresssions/Nadeko.Bot.Modules.Expresssions.csproj
deleted file mode 100644
index 2e46b68f7..000000000
--- a/src/Nadeko.Bot.Modules.Expresssions/Nadeko.Bot.Modules.Expresssions.csproj
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- net8.0
- enable
- enable
- NadekoBot.Modules.Expresssions
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/GlobalUsings.cs b/src/Nadeko.Bot.Modules.Gambling/Gambling/GlobalUsings.cs
deleted file mode 100644
index fe71f464d..000000000
--- a/src/Nadeko.Bot.Modules.Gambling/Gambling/GlobalUsings.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// global using System.Collections.Concurrent;
-global using NonBlocking;
-
-// packages
-global using Serilog;
-global using Humanizer;
-
-// nadekobot
-global using NadekoBot;
-global using NadekoBot.Services;
-global using Nadeko.Common; // new project
-global using NadekoBot.Common; // old + nadekobot specific things
-global using NadekoBot.Common.Attributes;
-global using NadekoBot.Extensions;
-
-// discord
-global using Discord;
-global using Discord.Commands;
-global using Discord.Net;
-global using Discord.WebSocket;
-
-// aliases
-global using GuildPerm = Discord.GuildPermission;
-global using ChannelPerm = Discord.ChannelPermission;
-global using BotPermAttribute = Discord.Commands.RequireBotPermissionAttribute;
-global using LeftoverAttribute = Discord.Commands.RemainderAttribute;
-global using TypeReaderResult = NadekoBot.Common.TypeReaders.TypeReaderResult;
-
-// non-essential
-global using JetBrains.Annotations;
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Modules.Gambling/Nadeko.Bot.Modules.Gambling.csproj b/src/Nadeko.Bot.Modules.Gambling/Nadeko.Bot.Modules.Gambling.csproj
deleted file mode 100644
index 3be8d2383..000000000
--- a/src/Nadeko.Bot.Modules.Gambling/Nadeko.Bot.Modules.Gambling.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
- net8.0
- enable
- enable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Nadeko.Bot.Modules.Help/GlobalUsings.cs b/src/Nadeko.Bot.Modules.Help/GlobalUsings.cs
deleted file mode 100644
index a6363f20f..000000000
--- a/src/Nadeko.Bot.Modules.Help/GlobalUsings.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// // global using System.Collections.Concurrent;
-global using NonBlocking;
-//
-// // packages
-global using Serilog;
-global using Humanizer;
-global using Newtonsoft;
-//
-// // nadekobot
-// global using NadekoBot;
-global using NadekoBot.Services;
-global using Nadeko.Common; // new project
-global using NadekoBot.Common; // old + nadekobot specific things
-global using NadekoBot.Common.Attributes;
-global using NadekoBot.Extensions;
-// global using Nadeko.Medusa;
-
-// discord
-global using Discord;
-global using Discord.Commands;
-global using Discord.Net;
-global using Discord.WebSocket;
-
-// aliases
-global using GuildPerm = Discord.GuildPermission;
-global using ChannelPerm = Discord.ChannelPermission;
-global using BotPermAttribute = Discord.Commands.RequireBotPermissionAttribute;
-global using LeftoverAttribute = Discord.Commands.RemainderAttribute;
-global using TypeReaderResult = NadekoBot.Common.TypeReaders.TypeReaderResult;
-
-// non-essential
-// global using JetBrains.Annotations;
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Modules.Help/Nadeko.Bot.Modules.Help.csproj b/src/Nadeko.Bot.Modules.Help/Nadeko.Bot.Modules.Help.csproj
deleted file mode 100644
index eb7c28f75..000000000
--- a/src/Nadeko.Bot.Modules.Help/Nadeko.Bot.Modules.Help.csproj
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- net8.0
- enable
- enable
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Nadeko.Bot.Modules.Music/GlobalUsings.cs b/src/Nadeko.Bot.Modules.Music/GlobalUsings.cs
deleted file mode 100644
index fe71f464d..000000000
--- a/src/Nadeko.Bot.Modules.Music/GlobalUsings.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// global using System.Collections.Concurrent;
-global using NonBlocking;
-
-// packages
-global using Serilog;
-global using Humanizer;
-
-// nadekobot
-global using NadekoBot;
-global using NadekoBot.Services;
-global using Nadeko.Common; // new project
-global using NadekoBot.Common; // old + nadekobot specific things
-global using NadekoBot.Common.Attributes;
-global using NadekoBot.Extensions;
-
-// discord
-global using Discord;
-global using Discord.Commands;
-global using Discord.Net;
-global using Discord.WebSocket;
-
-// aliases
-global using GuildPerm = Discord.GuildPermission;
-global using ChannelPerm = Discord.ChannelPermission;
-global using BotPermAttribute = Discord.Commands.RequireBotPermissionAttribute;
-global using LeftoverAttribute = Discord.Commands.RemainderAttribute;
-global using TypeReaderResult = NadekoBot.Common.TypeReaders.TypeReaderResult;
-
-// non-essential
-global using JetBrains.Annotations;
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Modules.Music/Nadeko.Bot.Modules.Music.csproj b/src/Nadeko.Bot.Modules.Music/Nadeko.Bot.Modules.Music.csproj
deleted file mode 100644
index 3f89f9023..000000000
--- a/src/Nadeko.Bot.Modules.Music/Nadeko.Bot.Modules.Music.csproj
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
- net8.0
- enable
- enable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Nadeko.Bot.Modules.Patronage/GlobalUsings.cs b/src/Nadeko.Bot.Modules.Patronage/GlobalUsings.cs
deleted file mode 100644
index fe71f464d..000000000
--- a/src/Nadeko.Bot.Modules.Patronage/GlobalUsings.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// global using System.Collections.Concurrent;
-global using NonBlocking;
-
-// packages
-global using Serilog;
-global using Humanizer;
-
-// nadekobot
-global using NadekoBot;
-global using NadekoBot.Services;
-global using Nadeko.Common; // new project
-global using NadekoBot.Common; // old + nadekobot specific things
-global using NadekoBot.Common.Attributes;
-global using NadekoBot.Extensions;
-
-// discord
-global using Discord;
-global using Discord.Commands;
-global using Discord.Net;
-global using Discord.WebSocket;
-
-// aliases
-global using GuildPerm = Discord.GuildPermission;
-global using ChannelPerm = Discord.ChannelPermission;
-global using BotPermAttribute = Discord.Commands.RequireBotPermissionAttribute;
-global using LeftoverAttribute = Discord.Commands.RemainderAttribute;
-global using TypeReaderResult = NadekoBot.Common.TypeReaders.TypeReaderResult;
-
-// non-essential
-global using JetBrains.Annotations;
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Modules.Patronage/Nadeko.Bot.Modules.Patronage.csproj b/src/Nadeko.Bot.Modules.Patronage/Nadeko.Bot.Modules.Patronage.csproj
deleted file mode 100644
index 539808298..000000000
--- a/src/Nadeko.Bot.Modules.Patronage/Nadeko.Bot.Modules.Patronage.csproj
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
- net8.0
- enable
- enable
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Nadeko.Bot.Modules.Permisssions/GlobalUsings.cs b/src/Nadeko.Bot.Modules.Permisssions/GlobalUsings.cs
deleted file mode 100644
index a6363f20f..000000000
--- a/src/Nadeko.Bot.Modules.Permisssions/GlobalUsings.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// // global using System.Collections.Concurrent;
-global using NonBlocking;
-//
-// // packages
-global using Serilog;
-global using Humanizer;
-global using Newtonsoft;
-//
-// // nadekobot
-// global using NadekoBot;
-global using NadekoBot.Services;
-global using Nadeko.Common; // new project
-global using NadekoBot.Common; // old + nadekobot specific things
-global using NadekoBot.Common.Attributes;
-global using NadekoBot.Extensions;
-// global using Nadeko.Medusa;
-
-// discord
-global using Discord;
-global using Discord.Commands;
-global using Discord.Net;
-global using Discord.WebSocket;
-
-// aliases
-global using GuildPerm = Discord.GuildPermission;
-global using ChannelPerm = Discord.ChannelPermission;
-global using BotPermAttribute = Discord.Commands.RequireBotPermissionAttribute;
-global using LeftoverAttribute = Discord.Commands.RemainderAttribute;
-global using TypeReaderResult = NadekoBot.Common.TypeReaders.TypeReaderResult;
-
-// non-essential
-// global using JetBrains.Annotations;
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Modules.Permisssions/Nadeko.Bot.Modules.Permisssions.csproj b/src/Nadeko.Bot.Modules.Permisssions/Nadeko.Bot.Modules.Permisssions.csproj
deleted file mode 100644
index 50b0081e8..000000000
--- a/src/Nadeko.Bot.Modules.Permisssions/Nadeko.Bot.Modules.Permisssions.csproj
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- net8.0
- enable
- enable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Nadeko.Bot.Modules.Searches/GlobalUsings.cs b/src/Nadeko.Bot.Modules.Searches/GlobalUsings.cs
deleted file mode 100644
index a6363f20f..000000000
--- a/src/Nadeko.Bot.Modules.Searches/GlobalUsings.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// // global using System.Collections.Concurrent;
-global using NonBlocking;
-//
-// // packages
-global using Serilog;
-global using Humanizer;
-global using Newtonsoft;
-//
-// // nadekobot
-// global using NadekoBot;
-global using NadekoBot.Services;
-global using Nadeko.Common; // new project
-global using NadekoBot.Common; // old + nadekobot specific things
-global using NadekoBot.Common.Attributes;
-global using NadekoBot.Extensions;
-// global using Nadeko.Medusa;
-
-// discord
-global using Discord;
-global using Discord.Commands;
-global using Discord.Net;
-global using Discord.WebSocket;
-
-// aliases
-global using GuildPerm = Discord.GuildPermission;
-global using ChannelPerm = Discord.ChannelPermission;
-global using BotPermAttribute = Discord.Commands.RequireBotPermissionAttribute;
-global using LeftoverAttribute = Discord.Commands.RemainderAttribute;
-global using TypeReaderResult = NadekoBot.Common.TypeReaders.TypeReaderResult;
-
-// non-essential
-// global using JetBrains.Annotations;
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Modules.Searches/Nadeko.Bot.Modules.Searches.csproj b/src/Nadeko.Bot.Modules.Searches/Nadeko.Bot.Modules.Searches.csproj
deleted file mode 100644
index 3d22747ab..000000000
--- a/src/Nadeko.Bot.Modules.Searches/Nadeko.Bot.Modules.Searches.csproj
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
- net8.0
- enable
- enable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Nadeko.Bot.Modules.Utility/GlobalUsings.cs b/src/Nadeko.Bot.Modules.Utility/GlobalUsings.cs
deleted file mode 100644
index a6363f20f..000000000
--- a/src/Nadeko.Bot.Modules.Utility/GlobalUsings.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// // global using System.Collections.Concurrent;
-global using NonBlocking;
-//
-// // packages
-global using Serilog;
-global using Humanizer;
-global using Newtonsoft;
-//
-// // nadekobot
-// global using NadekoBot;
-global using NadekoBot.Services;
-global using Nadeko.Common; // new project
-global using NadekoBot.Common; // old + nadekobot specific things
-global using NadekoBot.Common.Attributes;
-global using NadekoBot.Extensions;
-// global using Nadeko.Medusa;
-
-// discord
-global using Discord;
-global using Discord.Commands;
-global using Discord.Net;
-global using Discord.WebSocket;
-
-// aliases
-global using GuildPerm = Discord.GuildPermission;
-global using ChannelPerm = Discord.ChannelPermission;
-global using BotPermAttribute = Discord.Commands.RequireBotPermissionAttribute;
-global using LeftoverAttribute = Discord.Commands.RemainderAttribute;
-global using TypeReaderResult = NadekoBot.Common.TypeReaders.TypeReaderResult;
-
-// non-essential
-// global using JetBrains.Annotations;
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Modules.Utility/Nadeko.Bot.Modules.Utility.csproj b/src/Nadeko.Bot.Modules.Utility/Nadeko.Bot.Modules.Utility.csproj
deleted file mode 100644
index b9c7e8e0a..000000000
--- a/src/Nadeko.Bot.Modules.Utility/Nadeko.Bot.Modules.Utility.csproj
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
- net8.0
- enable
- enable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Nadeko.Bot.Modules.Xp/GlobalUsings.cs b/src/Nadeko.Bot.Modules.Xp/GlobalUsings.cs
deleted file mode 100644
index a6363f20f..000000000
--- a/src/Nadeko.Bot.Modules.Xp/GlobalUsings.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// // global using System.Collections.Concurrent;
-global using NonBlocking;
-//
-// // packages
-global using Serilog;
-global using Humanizer;
-global using Newtonsoft;
-//
-// // nadekobot
-// global using NadekoBot;
-global using NadekoBot.Services;
-global using Nadeko.Common; // new project
-global using NadekoBot.Common; // old + nadekobot specific things
-global using NadekoBot.Common.Attributes;
-global using NadekoBot.Extensions;
-// global using Nadeko.Medusa;
-
-// discord
-global using Discord;
-global using Discord.Commands;
-global using Discord.Net;
-global using Discord.WebSocket;
-
-// aliases
-global using GuildPerm = Discord.GuildPermission;
-global using ChannelPerm = Discord.ChannelPermission;
-global using BotPermAttribute = Discord.Commands.RequireBotPermissionAttribute;
-global using LeftoverAttribute = Discord.Commands.RemainderAttribute;
-global using TypeReaderResult = NadekoBot.Common.TypeReaders.TypeReaderResult;
-
-// non-essential
-// global using JetBrains.Annotations;
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Modules.Xp/Nadeko.Bot.Modules.Xp.csproj b/src/Nadeko.Bot.Modules.Xp/Nadeko.Bot.Modules.Xp.csproj
deleted file mode 100644
index 59f44e807..000000000
--- a/src/Nadeko.Bot.Modules.Xp/Nadeko.Bot.Modules.Xp.csproj
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- net8.0
- enable
- enable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Nadeko.Common/GlobalUsings.cs b/src/Nadeko.Common/GlobalUsings.cs
deleted file mode 100644
index 55fdcac5b..000000000
--- a/src/Nadeko.Common/GlobalUsings.cs
+++ /dev/null
@@ -1 +0,0 @@
-global using NonBlocking;
\ No newline at end of file
diff --git a/src/Nadeko.Common/Nadeko.Common.csproj b/src/Nadeko.Common/Nadeko.Common.csproj
deleted file mode 100644
index 90221a7f5..000000000
--- a/src/Nadeko.Common/Nadeko.Common.csproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- net8.0
- enable
- enable
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/Nadeko.Econ/GlobalUsings.cs b/src/Nadeko.Econ/GlobalUsings.cs
deleted file mode 100644
index 6d9d33d0f..000000000
--- a/src/Nadeko.Econ/GlobalUsings.cs
+++ /dev/null
@@ -1 +0,0 @@
-global using Nadeko.Common;
\ No newline at end of file
diff --git a/src/Nadeko.Econ/Nadeko.Econ.csproj b/src/Nadeko.Econ/Nadeko.Econ.csproj
deleted file mode 100644
index c35a03241..000000000
--- a/src/Nadeko.Econ/Nadeko.Econ.csproj
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- net8.0
- enable
- enable
-
-
-
-
-
-
-
diff --git a/src/NadekoBot.Coordinator/NadekoBot.Coordinator.csproj b/src/NadekoBot.Coordinator/NadekoBot.Coordinator.csproj
index 4798b7538..82692edd4 100644
--- a/src/NadekoBot.Coordinator/NadekoBot.Coordinator.csproj
+++ b/src/NadekoBot.Coordinator/NadekoBot.Coordinator.csproj
@@ -10,11 +10,11 @@
-
-
-
+
+
+
-
+
diff --git a/src/Nadeko.Bot.Generators.Cloneable/CloneableGenerator.cs b/src/NadekoBot.Generators/Cloneable/CloneableGenerator.cs
similarity index 100%
rename from src/Nadeko.Bot.Generators.Cloneable/CloneableGenerator.cs
rename to src/NadekoBot.Generators/Cloneable/CloneableGenerator.cs
diff --git a/src/Nadeko.Bot.Generators.Cloneable/SymbolExtensions.cs b/src/NadekoBot.Generators/Cloneable/SymbolExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Generators.Cloneable/SymbolExtensions.cs
rename to src/NadekoBot.Generators/Cloneable/SymbolExtensions.cs
diff --git a/src/Nadeko.Bot.Generators.Cloneable/SyntaxReceiver.cs b/src/NadekoBot.Generators/Cloneable/SyntaxReceiver.cs
similarity index 100%
rename from src/Nadeko.Bot.Generators.Cloneable/SyntaxReceiver.cs
rename to src/NadekoBot.Generators/Cloneable/SyntaxReceiver.cs
diff --git a/src/Nadeko.Bot.Generators.Strings/LocalizedStringsGenerator.cs b/src/NadekoBot.Generators/LocalizedStringsGenerator.cs
similarity index 100%
rename from src/Nadeko.Bot.Generators.Strings/LocalizedStringsGenerator.cs
rename to src/NadekoBot.Generators/LocalizedStringsGenerator.cs
diff --git a/src/Nadeko.Bot.Generators.Strings/Nadeko.Bot.Generators.Strings.csproj b/src/NadekoBot.Generators/NadekoBot.Generators.csproj
similarity index 91%
rename from src/Nadeko.Bot.Generators.Strings/Nadeko.Bot.Generators.Strings.csproj
rename to src/NadekoBot.Generators/NadekoBot.Generators.csproj
index 6ffbcd725..17f737c16 100644
--- a/src/Nadeko.Bot.Generators.Strings/Nadeko.Bot.Generators.Strings.csproj
+++ b/src/NadekoBot.Generators/NadekoBot.Generators.csproj
@@ -7,13 +7,13 @@
truetrue
-
+
-
-
+
+
-
+
$(GetTargetPathDependsOn);GetDependencyTargetPaths
@@ -24,3 +24,4 @@
+
diff --git a/src/Nadeko.Bot.Generators.Strings/README.md b/src/NadekoBot.Generators/README.md
similarity index 100%
rename from src/Nadeko.Bot.Generators.Strings/README.md
rename to src/NadekoBot.Generators/README.md
diff --git a/src/NadekoBot.Tests/NadekoBot.Tests.csproj b/src/NadekoBot.Tests/NadekoBot.Tests.csproj
index 6989b5594..ef939e05c 100644
--- a/src/NadekoBot.Tests/NadekoBot.Tests.csproj
+++ b/src/NadekoBot.Tests/NadekoBot.Tests.csproj
@@ -6,15 +6,12 @@
-
-
-
+
+
+
-
-
-
diff --git a/src/Nadeko.Bot.Db/Extensions/ClubExtensions.cs b/src/NadekoBot/Db/Extensions/ClubExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Extensions/ClubExtensions.cs
rename to src/NadekoBot/Db/Extensions/ClubExtensions.cs
diff --git a/src/Nadeko.Bot.Db/Extensions/CurrencyTransactionExtensions.cs b/src/NadekoBot/Db/Extensions/CurrencyTransactionExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Extensions/CurrencyTransactionExtensions.cs
rename to src/NadekoBot/Db/Extensions/CurrencyTransactionExtensions.cs
diff --git a/src/Nadeko.Bot.Db/Extensions/DbExtensions.cs b/src/NadekoBot/Db/Extensions/DbExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Extensions/DbExtensions.cs
rename to src/NadekoBot/Db/Extensions/DbExtensions.cs
diff --git a/src/Nadeko.Bot.Db/Extensions/DiscordUserExtensions.cs b/src/NadekoBot/Db/Extensions/DiscordUserExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Extensions/DiscordUserExtensions.cs
rename to src/NadekoBot/Db/Extensions/DiscordUserExtensions.cs
diff --git a/src/Nadeko.Bot.Db/Extensions/GuildConfigExtensions.cs b/src/NadekoBot/Db/Extensions/GuildConfigExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Extensions/GuildConfigExtensions.cs
rename to src/NadekoBot/Db/Extensions/GuildConfigExtensions.cs
diff --git a/src/Nadeko.Bot.Db/Extensions/NadekoExpressionExtensions.cs b/src/NadekoBot/Db/Extensions/NadekoExpressionExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Extensions/NadekoExpressionExtensions.cs
rename to src/NadekoBot/Db/Extensions/NadekoExpressionExtensions.cs
diff --git a/src/Nadeko.Bot.Db/Extensions/QuoteExtensions.cs b/src/NadekoBot/Db/Extensions/QuoteExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Extensions/QuoteExtensions.cs
rename to src/NadekoBot/Db/Extensions/QuoteExtensions.cs
diff --git a/src/Nadeko.Bot.Db/Extensions/ReminderExtensions.cs b/src/NadekoBot/Db/Extensions/ReminderExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Extensions/ReminderExtensions.cs
rename to src/NadekoBot/Db/Extensions/ReminderExtensions.cs
diff --git a/src/Nadeko.Bot.Db/Extensions/SelfAssignableRolesExtensions.cs b/src/NadekoBot/Db/Extensions/SelfAssignableRolesExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Extensions/SelfAssignableRolesExtensions.cs
rename to src/NadekoBot/Db/Extensions/SelfAssignableRolesExtensions.cs
diff --git a/src/Nadeko.Bot.Db/Extensions/UserXpExtensions.cs b/src/NadekoBot/Db/Extensions/UserXpExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Extensions/UserXpExtensions.cs
rename to src/NadekoBot/Db/Extensions/UserXpExtensions.cs
diff --git a/src/Nadeko.Bot.Db/Extensions/WarningExtensions.cs b/src/NadekoBot/Db/Extensions/WarningExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Extensions/WarningExtensions.cs
rename to src/NadekoBot/Db/Extensions/WarningExtensions.cs
diff --git a/src/Nadeko.Bot.Db/Helpers/ActivityType.cs b/src/NadekoBot/Db/Helpers/ActivityType.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Helpers/ActivityType.cs
rename to src/NadekoBot/Db/Helpers/ActivityType.cs
diff --git a/src/Nadeko.Bot.Db/Helpers/GuildPerm.cs b/src/NadekoBot/Db/Helpers/GuildPerm.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Helpers/GuildPerm.cs
rename to src/NadekoBot/Db/Helpers/GuildPerm.cs
diff --git a/src/Nadeko.Bot.Db/LevelStats.cs b/src/NadekoBot/Db/LevelStats.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/LevelStats.cs
rename to src/NadekoBot/Db/LevelStats.cs
diff --git a/src/Nadeko.Bot.Db/Models/AutoCommand.cs b/src/NadekoBot/Db/Models/AutoCommand.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/AutoCommand.cs
rename to src/NadekoBot/Db/Models/AutoCommand.cs
diff --git a/src/Nadeko.Bot.Db/Models/AutoPublishChannel.cs b/src/NadekoBot/Db/Models/AutoPublishChannel.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/AutoPublishChannel.cs
rename to src/NadekoBot/Db/Models/AutoPublishChannel.cs
diff --git a/src/Nadeko.Bot.Db/Models/AutoTranslateChannel.cs b/src/NadekoBot/Db/Models/AutoTranslateChannel.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/AutoTranslateChannel.cs
rename to src/NadekoBot/Db/Models/AutoTranslateChannel.cs
diff --git a/src/Nadeko.Bot.Db/Models/AutoTranslateUser.cs b/src/NadekoBot/Db/Models/AutoTranslateUser.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/AutoTranslateUser.cs
rename to src/NadekoBot/Db/Models/AutoTranslateUser.cs
diff --git a/src/Nadeko.Bot.Db/Models/BlacklistEntry.cs b/src/NadekoBot/Db/Models/BlacklistEntry.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/BlacklistEntry.cs
rename to src/NadekoBot/Db/Models/BlacklistEntry.cs
diff --git a/src/Nadeko.Bot.Db/Models/CommandAlias.cs b/src/NadekoBot/Db/Models/CommandAlias.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/CommandAlias.cs
rename to src/NadekoBot/Db/Models/CommandAlias.cs
diff --git a/src/Nadeko.Bot.Db/Models/CommandCooldown.cs b/src/NadekoBot/Db/Models/CommandCooldown.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/CommandCooldown.cs
rename to src/NadekoBot/Db/Models/CommandCooldown.cs
diff --git a/src/Nadeko.Bot.Db/Models/CurrencyTransaction.cs b/src/NadekoBot/Db/Models/CurrencyTransaction.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/CurrencyTransaction.cs
rename to src/NadekoBot/Db/Models/CurrencyTransaction.cs
diff --git a/src/Nadeko.Bot.Db/Models/DbEntity.cs b/src/NadekoBot/Db/Models/DbEntity.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/DbEntity.cs
rename to src/NadekoBot/Db/Models/DbEntity.cs
diff --git a/src/Nadeko.Bot.Db/Models/DelMsgOnCmdChannel.cs b/src/NadekoBot/Db/Models/DelMsgOnCmdChannel.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/DelMsgOnCmdChannel.cs
rename to src/NadekoBot/Db/Models/DelMsgOnCmdChannel.cs
diff --git a/src/Nadeko.Bot.Db/Models/DiscordPemOverride.cs b/src/NadekoBot/Db/Models/DiscordPemOverride.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/DiscordPemOverride.cs
rename to src/NadekoBot/Db/Models/DiscordPemOverride.cs
diff --git a/src/Nadeko.Bot.Db/Models/DiscordUser.cs b/src/NadekoBot/Db/Models/DiscordUser.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/DiscordUser.cs
rename to src/NadekoBot/Db/Models/DiscordUser.cs
diff --git a/src/Nadeko.Bot.Db/Models/Event.cs b/src/NadekoBot/Db/Models/Event.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/Event.cs
rename to src/NadekoBot/Db/Models/Event.cs
diff --git a/src/Nadeko.Bot.Db/Models/FeedSub.cs b/src/NadekoBot/Db/Models/FeedSub.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/FeedSub.cs
rename to src/NadekoBot/Db/Models/FeedSub.cs
diff --git a/src/Nadeko.Bot.Db/Models/FollowedStream.cs b/src/NadekoBot/Db/Models/FollowedStream.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/FollowedStream.cs
rename to src/NadekoBot/Db/Models/FollowedStream.cs
diff --git a/src/Nadeko.Bot.Db/Models/GCChannelId.cs b/src/NadekoBot/Db/Models/GCChannelId.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/GCChannelId.cs
rename to src/NadekoBot/Db/Models/GCChannelId.cs
diff --git a/src/Nadeko.Bot.Db/Models/GamblingStats.cs b/src/NadekoBot/Db/Models/GamblingStats.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/GamblingStats.cs
rename to src/NadekoBot/Db/Models/GamblingStats.cs
diff --git a/src/Nadeko.Bot.Db/Models/GroupName.cs b/src/NadekoBot/Db/Models/GroupName.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/GroupName.cs
rename to src/NadekoBot/Db/Models/GroupName.cs
diff --git a/src/Nadeko.Bot.Db/Models/GuildConfig.cs b/src/NadekoBot/Db/Models/GuildConfig.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/GuildConfig.cs
rename to src/NadekoBot/Db/Models/GuildConfig.cs
diff --git a/src/Nadeko.Bot.Db/Models/IgnoredLogItem.cs b/src/NadekoBot/Db/Models/IgnoredLogItem.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/IgnoredLogItem.cs
rename to src/NadekoBot/Db/Models/IgnoredLogItem.cs
diff --git a/src/Nadeko.Bot.Db/Models/IgnoredVoicePresenceChannel.cs b/src/NadekoBot/Db/Models/IgnoredVoicePresenceChannel.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/IgnoredVoicePresenceChannel.cs
rename to src/NadekoBot/Db/Models/IgnoredVoicePresenceChannel.cs
diff --git a/src/Nadeko.Bot.Db/Models/ImageOnlyChannel.cs b/src/NadekoBot/Db/Models/ImageOnlyChannel.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/ImageOnlyChannel.cs
rename to src/NadekoBot/Db/Models/ImageOnlyChannel.cs
diff --git a/src/Nadeko.Bot.Db/Models/LogSetting.cs b/src/NadekoBot/Db/Models/LogSetting.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/LogSetting.cs
rename to src/NadekoBot/Db/Models/LogSetting.cs
diff --git a/src/Nadeko.Bot.Db/Models/Permission.cs b/src/NadekoBot/Db/Models/Permission.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/Permission.cs
rename to src/NadekoBot/Db/Models/Permission.cs
diff --git a/src/Nadeko.Bot.Db/Models/PlantedCurrency.cs b/src/NadekoBot/Db/Models/PlantedCurrency.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/PlantedCurrency.cs
rename to src/NadekoBot/Db/Models/PlantedCurrency.cs
diff --git a/src/Nadeko.Bot.Db/Models/PlaylistSong.cs b/src/NadekoBot/Db/Models/PlaylistSong.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/PlaylistSong.cs
rename to src/NadekoBot/Db/Models/PlaylistSong.cs
diff --git a/src/Nadeko.Bot.Db/Models/Reminder.cs b/src/NadekoBot/Db/Models/Reminder.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/Reminder.cs
rename to src/NadekoBot/Db/Models/Reminder.cs
diff --git a/src/Nadeko.Bot.Db/Models/Repeater.cs b/src/NadekoBot/Db/Models/Repeater.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/Repeater.cs
rename to src/NadekoBot/Db/Models/Repeater.cs
diff --git a/src/Nadeko.Bot.Db/Models/RotatingPlayingStatus.cs b/src/NadekoBot/Db/Models/RotatingPlayingStatus.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/RotatingPlayingStatus.cs
rename to src/NadekoBot/Db/Models/RotatingPlayingStatus.cs
diff --git a/src/Nadeko.Bot.Db/Models/ShopEntry.cs b/src/NadekoBot/Db/Models/ShopEntry.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/ShopEntry.cs
rename to src/NadekoBot/Db/Models/ShopEntry.cs
diff --git a/src/Nadeko.Bot.Db/Models/StreamOnlineMessage.cs b/src/NadekoBot/Db/Models/StreamOnlineMessage.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/StreamOnlineMessage.cs
rename to src/NadekoBot/Db/Models/StreamOnlineMessage.cs
diff --git a/src/Nadeko.Bot.Db/Models/StreamRoleSettings.cs b/src/NadekoBot/Db/Models/StreamRoleSettings.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/StreamRoleSettings.cs
rename to src/NadekoBot/Db/Models/StreamRoleSettings.cs
diff --git a/src/Nadeko.Bot.Db/Models/VcRoleInfo.cs b/src/NadekoBot/Db/Models/VcRoleInfo.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/VcRoleInfo.cs
rename to src/NadekoBot/Db/Models/VcRoleInfo.cs
diff --git a/src/Nadeko.Bot.Db/Models/anti/AntiAltSetting.cs b/src/NadekoBot/Db/Models/anti/AntiAltSetting.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/anti/AntiAltSetting.cs
rename to src/NadekoBot/Db/Models/anti/AntiAltSetting.cs
diff --git a/src/Nadeko.Bot.Db/Models/anti/AntiRaidSetting.cs b/src/NadekoBot/Db/Models/anti/AntiRaidSetting.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/anti/AntiRaidSetting.cs
rename to src/NadekoBot/Db/Models/anti/AntiRaidSetting.cs
diff --git a/src/Nadeko.Bot.Db/Models/anti/AntiSpamIgnore.cs b/src/NadekoBot/Db/Models/anti/AntiSpamIgnore.cs
similarity index 61%
rename from src/Nadeko.Bot.Db/Models/anti/AntiSpamIgnore.cs
rename to src/NadekoBot/Db/Models/anti/AntiSpamIgnore.cs
index b20c7b627..845a3fe7f 100644
--- a/src/Nadeko.Bot.Db/Models/anti/AntiSpamIgnore.cs
+++ b/src/NadekoBot/Db/Models/anti/AntiSpamIgnore.cs
@@ -7,6 +7,6 @@ public class AntiSpamIgnore : DbEntity
public override int GetHashCode()
=> ChannelId.GetHashCode();
- public override bool Equals(object obj)
- => obj is AntiSpamIgnore inst ? inst.ChannelId == ChannelId : false;
+ public override bool Equals(object? obj)
+ => obj is AntiSpamIgnore inst && inst.ChannelId == ChannelId;
}
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Db/Models/anti/AntiSpamSetting.cs b/src/NadekoBot/Db/Models/anti/AntiSpamSetting.cs
similarity index 95%
rename from src/Nadeko.Bot.Db/Models/anti/AntiSpamSetting.cs
rename to src/NadekoBot/Db/Models/anti/AntiSpamSetting.cs
index ec130b214..4d9d32f2b 100644
--- a/src/Nadeko.Bot.Db/Models/anti/AntiSpamSetting.cs
+++ b/src/NadekoBot/Db/Models/anti/AntiSpamSetting.cs
@@ -1,5 +1,6 @@
namespace Nadeko.Bot.Db.Models;
+#nullable disable
public class AntiSpamSetting : DbEntity
{
public int GuildConfigId { get; set; }
diff --git a/src/Nadeko.Bot.Db/Models/club/ClubInfo.cs b/src/NadekoBot/Db/Models/club/ClubInfo.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/club/ClubInfo.cs
rename to src/NadekoBot/Db/Models/club/ClubInfo.cs
diff --git a/src/Nadeko.Bot.Db/Models/currency/BankUser.cs b/src/NadekoBot/Db/Models/currency/BankUser.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/currency/BankUser.cs
rename to src/NadekoBot/Db/Models/currency/BankUser.cs
diff --git a/src/Nadeko.Bot.Db/Models/expr/NadekoExpression.cs b/src/NadekoBot/Db/Models/expr/NadekoExpression.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/expr/NadekoExpression.cs
rename to src/NadekoBot/Db/Models/expr/NadekoExpression.cs
diff --git a/src/Nadeko.Bot.Db/Models/expr/Quote.cs b/src/NadekoBot/Db/Models/expr/Quote.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/expr/Quote.cs
rename to src/NadekoBot/Db/Models/expr/Quote.cs
diff --git a/src/Nadeko.Bot.Db/Models/filter/FilterChannelId.cs b/src/NadekoBot/Db/Models/filter/FilterChannelId.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/filter/FilterChannelId.cs
rename to src/NadekoBot/Db/Models/filter/FilterChannelId.cs
diff --git a/src/Nadeko.Bot.Db/Models/filter/FilterLinksChannelId.cs b/src/NadekoBot/Db/Models/filter/FilterLinksChannelId.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/filter/FilterLinksChannelId.cs
rename to src/NadekoBot/Db/Models/filter/FilterLinksChannelId.cs
diff --git a/src/Nadeko.Bot.Db/Models/filter/FilteredWord.cs b/src/NadekoBot/Db/Models/filter/FilteredWord.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/filter/FilteredWord.cs
rename to src/NadekoBot/Db/Models/filter/FilteredWord.cs
diff --git a/src/Nadeko.Bot.Db/Models/giveaway/GiveawayModel.cs b/src/NadekoBot/Db/Models/giveaway/GiveawayModel.cs
similarity index 95%
rename from src/Nadeko.Bot.Db/Models/giveaway/GiveawayModel.cs
rename to src/NadekoBot/Db/Models/giveaway/GiveawayModel.cs
index 208bbe946..6a64945e7 100644
--- a/src/Nadeko.Bot.Db/Models/giveaway/GiveawayModel.cs
+++ b/src/NadekoBot/Db/Models/giveaway/GiveawayModel.cs
@@ -1,5 +1,6 @@
namespace NadekoBot.Db.Models;
+#nullable disable
public sealed class GiveawayModel
{
public int Id { get; set; }
diff --git a/src/Nadeko.Bot.Db/Models/giveaway/GiveawayUser.cs b/src/NadekoBot/Db/Models/giveaway/GiveawayUser.cs
similarity index 92%
rename from src/Nadeko.Bot.Db/Models/giveaway/GiveawayUser.cs
rename to src/NadekoBot/Db/Models/giveaway/GiveawayUser.cs
index a2779b4eb..7b8c36016 100644
--- a/src/Nadeko.Bot.Db/Models/giveaway/GiveawayUser.cs
+++ b/src/NadekoBot/Db/Models/giveaway/GiveawayUser.cs
@@ -1,5 +1,6 @@
namespace NadekoBot.Db.Models;
+#nullable disable
public sealed class GiveawayUser
{
public int Id { get; set; }
diff --git a/src/Nadeko.Bot.Db/Models/punish/BanTemplate.cs b/src/NadekoBot/Db/Models/punish/BanTemplate.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/punish/BanTemplate.cs
rename to src/NadekoBot/Db/Models/punish/BanTemplate.cs
diff --git a/src/Nadeko.Bot.Db/Models/punish/MutedUserId.cs b/src/NadekoBot/Db/Models/punish/MutedUserId.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/punish/MutedUserId.cs
rename to src/NadekoBot/Db/Models/punish/MutedUserId.cs
diff --git a/src/Nadeko.Bot.Db/Models/punish/PunishmentAction.cs b/src/NadekoBot/Db/Models/punish/PunishmentAction.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/punish/PunishmentAction.cs
rename to src/NadekoBot/Db/Models/punish/PunishmentAction.cs
diff --git a/src/Nadeko.Bot.Db/Models/punish/WarnExpireAction.cs b/src/NadekoBot/Db/Models/punish/WarnExpireAction.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/punish/WarnExpireAction.cs
rename to src/NadekoBot/Db/Models/punish/WarnExpireAction.cs
diff --git a/src/Nadeko.Bot.Db/Models/punish/Warning.cs b/src/NadekoBot/Db/Models/punish/Warning.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/punish/Warning.cs
rename to src/NadekoBot/Db/Models/punish/Warning.cs
diff --git a/src/Nadeko.Bot.Db/Models/punish/WarningPunishment.cs b/src/NadekoBot/Db/Models/punish/WarningPunishment.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/punish/WarningPunishment.cs
rename to src/NadekoBot/Db/Models/punish/WarningPunishment.cs
diff --git a/src/Nadeko.Bot.Db/Models/roles/ReactionRole.cs b/src/NadekoBot/Db/Models/roles/ReactionRole.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/roles/ReactionRole.cs
rename to src/NadekoBot/Db/Models/roles/ReactionRole.cs
diff --git a/src/Nadeko.Bot.Db/Models/roles/SelfAssignableRole.cs b/src/NadekoBot/Db/Models/roles/SelfAssignableRole.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/roles/SelfAssignableRole.cs
rename to src/NadekoBot/Db/Models/roles/SelfAssignableRole.cs
diff --git a/src/Nadeko.Bot.Db/Models/roles/StickyRoles.cs b/src/NadekoBot/Db/Models/roles/StickyRoles.cs
similarity index 95%
rename from src/Nadeko.Bot.Db/Models/roles/StickyRoles.cs
rename to src/NadekoBot/Db/Models/roles/StickyRoles.cs
index 33be2028c..ddf3813ba 100644
--- a/src/Nadeko.Bot.Db/Models/roles/StickyRoles.cs
+++ b/src/NadekoBot/Db/Models/roles/StickyRoles.cs
@@ -1,5 +1,6 @@
namespace Nadeko.Bot.Db.Models;
+#nullable disable
public class StickyRole : DbEntity
{
public ulong GuildId { get; set; }
diff --git a/src/Nadeko.Bot.Db/Models/slowmode/SlowmodeIgnoredRole.cs b/src/NadekoBot/Db/Models/slowmode/SlowmodeIgnoredRole.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/slowmode/SlowmodeIgnoredRole.cs
rename to src/NadekoBot/Db/Models/slowmode/SlowmodeIgnoredRole.cs
diff --git a/src/Nadeko.Bot.Db/Models/slowmode/SlowmodeIgnoredUser.cs b/src/NadekoBot/Db/Models/slowmode/SlowmodeIgnoredUser.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/slowmode/SlowmodeIgnoredUser.cs
rename to src/NadekoBot/Db/Models/slowmode/SlowmodeIgnoredUser.cs
diff --git a/src/Nadeko.Bot.Db/Models/support/PatronQuota.cs b/src/NadekoBot/Db/Models/support/PatronQuota.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/support/PatronQuota.cs
rename to src/NadekoBot/Db/Models/support/PatronQuota.cs
diff --git a/src/Nadeko.Bot.Db/Models/support/RewardedUser.cs b/src/NadekoBot/Db/Models/support/RewardedUser.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/support/RewardedUser.cs
rename to src/NadekoBot/Db/Models/support/RewardedUser.cs
diff --git a/src/Nadeko.Bot.Db/Models/todo/ArchivedTodoListModel.cs b/src/NadekoBot/Db/Models/todo/ArchivedTodoListModel.cs
similarity index 92%
rename from src/Nadeko.Bot.Db/Models/todo/ArchivedTodoListModel.cs
rename to src/NadekoBot/Db/Models/todo/ArchivedTodoListModel.cs
index b88306911..2f02ff1e1 100644
--- a/src/Nadeko.Bot.Db/Models/todo/ArchivedTodoListModel.cs
+++ b/src/NadekoBot/Db/Models/todo/ArchivedTodoListModel.cs
@@ -1,5 +1,6 @@
namespace NadekoBot.Db.Models;
+#nullable disable
public sealed class ArchivedTodoListModel
{
public int Id { get; set; }
diff --git a/src/Nadeko.Bot.Db/Models/todo/TodoModel.cs b/src/NadekoBot/Db/Models/todo/TodoModel.cs
similarity index 94%
rename from src/Nadeko.Bot.Db/Models/todo/TodoModel.cs
rename to src/NadekoBot/Db/Models/todo/TodoModel.cs
index 3adb100f7..1e2c2c1d4 100644
--- a/src/Nadeko.Bot.Db/Models/todo/TodoModel.cs
+++ b/src/NadekoBot/Db/Models/todo/TodoModel.cs
@@ -1,5 +1,6 @@
namespace NadekoBot.Db.Models;
+#nullable disable
public sealed class TodoModel
{
public int Id { get; set; }
diff --git a/src/Nadeko.Bot.Db/Models/untimer/UnbanTimer.cs b/src/NadekoBot/Db/Models/untimer/UnbanTimer.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/untimer/UnbanTimer.cs
rename to src/NadekoBot/Db/Models/untimer/UnbanTimer.cs
diff --git a/src/Nadeko.Bot.Db/Models/untimer/UnmuteTimer.cs b/src/NadekoBot/Db/Models/untimer/UnmuteTimer.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/untimer/UnmuteTimer.cs
rename to src/NadekoBot/Db/Models/untimer/UnmuteTimer.cs
diff --git a/src/Nadeko.Bot.Db/Models/untimer/UnroleTimer.cs b/src/NadekoBot/Db/Models/untimer/UnroleTimer.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/untimer/UnroleTimer.cs
rename to src/NadekoBot/Db/Models/untimer/UnroleTimer.cs
diff --git a/src/Nadeko.Bot.Db/Models/xp/UserXpStats.cs b/src/NadekoBot/Db/Models/xp/UserXpStats.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/xp/UserXpStats.cs
rename to src/NadekoBot/Db/Models/xp/UserXpStats.cs
diff --git a/src/Nadeko.Bot.Db/Models/xp/XpSettings.cs b/src/NadekoBot/Db/Models/xp/XpSettings.cs
similarity index 100%
rename from src/Nadeko.Bot.Db/Models/xp/XpSettings.cs
rename to src/NadekoBot/Db/Models/xp/XpSettings.cs
diff --git a/src/Nadeko.Bot.Modules.Expresssions/ExportedExpr.cs b/src/NadekoBot/Expressions/ExportedExpr.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Expresssions/ExportedExpr.cs
rename to src/NadekoBot/Expressions/ExportedExpr.cs
diff --git a/src/Nadeko.Bot.Modules.Expresssions/ExprField.cs b/src/NadekoBot/Expressions/ExprField.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Expresssions/ExprField.cs
rename to src/NadekoBot/Expressions/ExprField.cs
diff --git a/src/Nadeko.Bot.Modules.Expresssions/NadekoExpressionExtensions.cs b/src/NadekoBot/Expressions/NadekoExpressionExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Expresssions/NadekoExpressionExtensions.cs
rename to src/NadekoBot/Expressions/NadekoExpressionExtensions.cs
diff --git a/src/Nadeko.Bot.Modules.Expresssions/NadekoExpressions.cs b/src/NadekoBot/Expressions/NadekoExpressions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Expresssions/NadekoExpressions.cs
rename to src/NadekoBot/Expressions/NadekoExpressions.cs
diff --git a/src/Nadeko.Bot.Modules.Expresssions/NadekoExpressionsService.cs b/src/NadekoBot/Expressions/NadekoExpressionsService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Expresssions/NadekoExpressionsService.cs
rename to src/NadekoBot/Expressions/NadekoExpressionsService.cs
diff --git a/src/Nadeko.Bot.Modules.Expresssions/TypeReaders/CommandOrExprTypeReader.cs b/src/NadekoBot/Expressions/TypeReaders/CommandOrExprTypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Expresssions/TypeReaders/CommandOrExprTypeReader.cs
rename to src/NadekoBot/Expressions/TypeReaders/CommandOrExprTypeReader.cs
diff --git a/src/NadekoBot/GlobalUsings.cs b/src/NadekoBot/GlobalUsings.cs
index f36328bd4..d1f3b7ac8 100644
--- a/src/NadekoBot/GlobalUsings.cs
+++ b/src/NadekoBot/GlobalUsings.cs
@@ -12,7 +12,7 @@ global using Nadeko.Common; // new project
global using NadekoBot.Common; // old + nadekobot specific things
global using NadekoBot.Common.Attributes;
global using NadekoBot.Extensions;
-global using Nadeko.Snake;
+// global using Nadeko.Snake;
// discord
global using Discord;
diff --git a/src/NadekoBot/Medusa/Adapters/BehaviorAdapter.cs b/src/NadekoBot/Medusa/Adapters/BehaviorAdapter.cs
index 7b6826fb4..03f74759b 100644
--- a/src/NadekoBot/Medusa/Adapters/BehaviorAdapter.cs
+++ b/src/NadekoBot/Medusa/Adapters/BehaviorAdapter.cs
@@ -1,5 +1,7 @@
#nullable enable
+using Nadeko.Snake;
+
[DIIgnore]
public sealed class BehaviorAdapter : ICustomBehavior
{
diff --git a/src/NadekoBot/Medusa/Adapters/ContextAdapterFactory.cs b/src/NadekoBot/Medusa/Adapters/ContextAdapterFactory.cs
index dcbafe33c..5251a2f29 100644
--- a/src/NadekoBot/Medusa/Adapters/ContextAdapterFactory.cs
+++ b/src/NadekoBot/Medusa/Adapters/ContextAdapterFactory.cs
@@ -1,4 +1,4 @@
-using Nadeko.Medusa;
+using Nadeko.Snake;
internal class ContextAdapterFactory
{
diff --git a/src/NadekoBot/Medusa/Adapters/DmContextAdapter.cs b/src/NadekoBot/Medusa/Adapters/DmContextAdapter.cs
index 80cb115b0..64a968cbd 100644
--- a/src/NadekoBot/Medusa/Adapters/DmContextAdapter.cs
+++ b/src/NadekoBot/Medusa/Adapters/DmContextAdapter.cs
@@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
+using Nadeko.Snake;
public sealed class DmContextAdapter : DmContext
{
diff --git a/src/NadekoBot/Medusa/Adapters/FilterAdapter.cs b/src/NadekoBot/Medusa/Adapters/FilterAdapter.cs
index c5118396b..47ae76c58 100644
--- a/src/NadekoBot/Medusa/Adapters/FilterAdapter.cs
+++ b/src/NadekoBot/Medusa/Adapters/FilterAdapter.cs
@@ -1,4 +1,6 @@
-namespace Nadeko.Medusa.Adapters;
+using Nadeko.Snake;
+
+namespace Nadeko.Medusa.Adapters;
public class FilterAdapter : PreconditionAttribute
{
diff --git a/src/NadekoBot/Medusa/Adapters/GuildContextAdapter.cs b/src/NadekoBot/Medusa/Adapters/GuildContextAdapter.cs
index 25f56329f..7d33fd8f6 100644
--- a/src/NadekoBot/Medusa/Adapters/GuildContextAdapter.cs
+++ b/src/NadekoBot/Medusa/Adapters/GuildContextAdapter.cs
@@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
+using Nadeko.Snake;
public sealed class GuildContextAdapter : GuildContext
{
diff --git a/src/NadekoBot/Medusa/Adapters/ParamParserAdapter.cs b/src/NadekoBot/Medusa/Adapters/ParamParserAdapter.cs
index 5d0696fbb..f23946b79 100644
--- a/src/NadekoBot/Medusa/Adapters/ParamParserAdapter.cs
+++ b/src/NadekoBot/Medusa/Adapters/ParamParserAdapter.cs
@@ -1,4 +1,6 @@
-public sealed class ParamParserAdapter : TypeReader
+using Nadeko.Snake;
+
+public sealed class ParamParserAdapter : TypeReader
{
private readonly ParamParser _parser;
private readonly IMedusaStrings _strings;
diff --git a/src/NadekoBot/Medusa/MedusaIoCKernelModule.cs b/src/NadekoBot/Medusa/MedusaIoCKernelModule.cs
index e6f3f513e..474468bcc 100644
--- a/src/NadekoBot/Medusa/MedusaIoCKernelModule.cs
+++ b/src/NadekoBot/Medusa/MedusaIoCKernelModule.cs
@@ -1,4 +1,5 @@
-using System.Reflection;
+using Nadeko.Snake;
+using System.Reflection;
using Ninject;
using Ninject.Activation;
using Ninject.Activation.Caching;
diff --git a/src/NadekoBot/Medusa/MedusaLoaderService.cs b/src/NadekoBot/Medusa/MedusaLoaderService.cs
index 6af5d2f43..75f9697d5 100644
--- a/src/NadekoBot/Medusa/MedusaLoaderService.cs
+++ b/src/NadekoBot/Medusa/MedusaLoaderService.cs
@@ -10,6 +10,7 @@ using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Reflection;
using System.Runtime.CompilerServices;
+using Nadeko.Snake;
namespace Nadeko.Medusa;
diff --git a/src/NadekoBot/Medusa/Models/ResolvedMedusa.cs b/src/NadekoBot/Medusa/Models/ResolvedMedusa.cs
index 0c3e3dd3a..89ecca085 100644
--- a/src/NadekoBot/Medusa/Models/ResolvedMedusa.cs
+++ b/src/NadekoBot/Medusa/Models/ResolvedMedusa.cs
@@ -1,4 +1,5 @@
-using Ninject.Modules;
+using Nadeko.Snake;
+using Ninject.Modules;
using System.Collections.Immutable;
namespace Nadeko.Medusa;
diff --git a/src/NadekoBot/Medusa/Models/SnekCommandData.cs b/src/NadekoBot/Medusa/Models/SnekCommandData.cs
index 2d800e428..c6ec8135d 100644
--- a/src/NadekoBot/Medusa/Models/SnekCommandData.cs
+++ b/src/NadekoBot/Medusa/Models/SnekCommandData.cs
@@ -1,4 +1,5 @@
-using System.Reflection;
+using Nadeko.Snake;
+using System.Reflection;
using CommandStrings = Nadeko.Snake.CommandStrings;
namespace Nadeko.Medusa;
diff --git a/src/NadekoBot/Medusa/Models/SnekData.cs b/src/NadekoBot/Medusa/Models/SnekData.cs
index 95b46da72..54a597202 100644
--- a/src/NadekoBot/Medusa/Models/SnekData.cs
+++ b/src/NadekoBot/Medusa/Models/SnekData.cs
@@ -1,4 +1,6 @@
-namespace Nadeko.Medusa;
+using Nadeko.Snake;
+
+namespace Nadeko.Medusa;
public sealed record SnekInfo(
string Name,
diff --git a/src/Nadeko.Bot.Modules.Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Administration.cs
rename to src/NadekoBot/Modules/Administration/Administration.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/AdministrationService.cs b/src/NadekoBot/Modules/Administration/AdministrationService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/AdministrationService.cs
rename to src/NadekoBot/Modules/Administration/AdministrationService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/AutoAssignableRoles/AutoAssignRoleCommands.cs b/src/NadekoBot/Modules/Administration/AutoAssignableRoles/AutoAssignRoleCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/AutoAssignableRoles/AutoAssignRoleCommands.cs
rename to src/NadekoBot/Modules/Administration/AutoAssignableRoles/AutoAssignRoleCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/AutoAssignableRoles/AutoAssignRoleService.cs b/src/NadekoBot/Modules/Administration/AutoAssignableRoles/AutoAssignRoleService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/AutoAssignableRoles/AutoAssignRoleService.cs
rename to src/NadekoBot/Modules/Administration/AutoAssignableRoles/AutoAssignRoleService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/AutoPublishService.cs b/src/NadekoBot/Modules/Administration/AutoPublishService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/AutoPublishService.cs
rename to src/NadekoBot/Modules/Administration/AutoPublishService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/DangerousCommands/DangerousCommands.cs b/src/NadekoBot/Modules/Administration/DangerousCommands/DangerousCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/DangerousCommands/DangerousCommands.cs
rename to src/NadekoBot/Modules/Administration/DangerousCommands/DangerousCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/DangerousCommands/DangerousCommandsService.cs b/src/NadekoBot/Modules/Administration/DangerousCommands/DangerousCommandsService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/DangerousCommands/DangerousCommandsService.cs
rename to src/NadekoBot/Modules/Administration/DangerousCommands/DangerousCommandsService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/GameVoiceChannel/GameVoiceChannelCommands.cs b/src/NadekoBot/Modules/Administration/GameVoiceChannel/GameVoiceChannelCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/GameVoiceChannel/GameVoiceChannelCommands.cs
rename to src/NadekoBot/Modules/Administration/GameVoiceChannel/GameVoiceChannelCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/GameVoiceChannel/GameVoiceChannelService.cs b/src/NadekoBot/Modules/Administration/GameVoiceChannel/GameVoiceChannelService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/GameVoiceChannel/GameVoiceChannelService.cs
rename to src/NadekoBot/Modules/Administration/GameVoiceChannel/GameVoiceChannelService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/GreetBye/GreetCommands.cs b/src/NadekoBot/Modules/Administration/GreetBye/GreetCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/GreetBye/GreetCommands.cs
rename to src/NadekoBot/Modules/Administration/GreetBye/GreetCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/GreetBye/GreetGrouper.cs b/src/NadekoBot/Modules/Administration/GreetBye/GreetGrouper.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/GreetBye/GreetGrouper.cs
rename to src/NadekoBot/Modules/Administration/GreetBye/GreetGrouper.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/GreetBye/GreetService.cs b/src/NadekoBot/Modules/Administration/GreetBye/GreetService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/GreetBye/GreetService.cs
rename to src/NadekoBot/Modules/Administration/GreetBye/GreetService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/GreetBye/GreetSettings.cs b/src/NadekoBot/Modules/Administration/GreetBye/GreetSettings.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/GreetBye/GreetSettings.cs
rename to src/NadekoBot/Modules/Administration/GreetBye/GreetSettings.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/ImageOnlyChannelService.cs b/src/NadekoBot/Modules/Administration/ImageOnlyChannelService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/ImageOnlyChannelService.cs
rename to src/NadekoBot/Modules/Administration/ImageOnlyChannelService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/LocalizationCommands.cs b/src/NadekoBot/Modules/Administration/LocalizationCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/LocalizationCommands.cs
rename to src/NadekoBot/Modules/Administration/LocalizationCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Mute/MuteCommands.cs b/src/NadekoBot/Modules/Administration/Mute/MuteCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Mute/MuteCommands.cs
rename to src/NadekoBot/Modules/Administration/Mute/MuteCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Mute/MuteService.cs b/src/NadekoBot/Modules/Administration/Mute/MuteService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Mute/MuteService.cs
rename to src/NadekoBot/Modules/Administration/Mute/MuteService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/PermOverrides/DiscordPermOverrideCommands.cs b/src/NadekoBot/Modules/Administration/PermOverrides/DiscordPermOverrideCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/PermOverrides/DiscordPermOverrideCommands.cs
rename to src/NadekoBot/Modules/Administration/PermOverrides/DiscordPermOverrideCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/PlayingRotate/PlayingRotateCommands.cs b/src/NadekoBot/Modules/Administration/PlayingRotate/PlayingRotateCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/PlayingRotate/PlayingRotateCommands.cs
rename to src/NadekoBot/Modules/Administration/PlayingRotate/PlayingRotateCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/PlayingRotate/PlayingRotateService.cs b/src/NadekoBot/Modules/Administration/PlayingRotate/PlayingRotateService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/PlayingRotate/PlayingRotateService.cs
rename to src/NadekoBot/Modules/Administration/PlayingRotate/PlayingRotateService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Prefix/PrefixCommands.cs b/src/NadekoBot/Modules/Administration/Prefix/PrefixCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Prefix/PrefixCommands.cs
rename to src/NadekoBot/Modules/Administration/Prefix/PrefixCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Protection/ProtectionCommands.cs b/src/NadekoBot/Modules/Administration/Protection/ProtectionCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Protection/ProtectionCommands.cs
rename to src/NadekoBot/Modules/Administration/Protection/ProtectionCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Protection/ProtectionService.cs b/src/NadekoBot/Modules/Administration/Protection/ProtectionService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Protection/ProtectionService.cs
rename to src/NadekoBot/Modules/Administration/Protection/ProtectionService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Protection/ProtectionStats.cs b/src/NadekoBot/Modules/Administration/Protection/ProtectionStats.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Protection/ProtectionStats.cs
rename to src/NadekoBot/Modules/Administration/Protection/ProtectionStats.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Protection/PunishQueueItem.cs b/src/NadekoBot/Modules/Administration/Protection/PunishQueueItem.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Protection/PunishQueueItem.cs
rename to src/NadekoBot/Modules/Administration/Protection/PunishQueueItem.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Protection/UserSpamStats.cs b/src/NadekoBot/Modules/Administration/Protection/UserSpamStats.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Protection/UserSpamStats.cs
rename to src/NadekoBot/Modules/Administration/Protection/UserSpamStats.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Prune/PruneCommands.cs b/src/NadekoBot/Modules/Administration/Prune/PruneCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Prune/PruneCommands.cs
rename to src/NadekoBot/Modules/Administration/Prune/PruneCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Prune/PruneService.cs b/src/NadekoBot/Modules/Administration/Prune/PruneService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Prune/PruneService.cs
rename to src/NadekoBot/Modules/Administration/Prune/PruneService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Role/IReactionRoleService.cs b/src/NadekoBot/Modules/Administration/Role/IReactionRoleService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Role/IReactionRoleService.cs
rename to src/NadekoBot/Modules/Administration/Role/IReactionRoleService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Role/ReactionRoleCommands.cs b/src/NadekoBot/Modules/Administration/Role/ReactionRoleCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Role/ReactionRoleCommands.cs
rename to src/NadekoBot/Modules/Administration/Role/ReactionRoleCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Role/ReactionRolesService.cs b/src/NadekoBot/Modules/Administration/Role/ReactionRolesService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Role/ReactionRolesService.cs
rename to src/NadekoBot/Modules/Administration/Role/ReactionRolesService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Role/RoleCommands.cs b/src/NadekoBot/Modules/Administration/Role/RoleCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Role/RoleCommands.cs
rename to src/NadekoBot/Modules/Administration/Role/RoleCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Role/StickyRolesService.cs b/src/NadekoBot/Modules/Administration/Role/StickyRolesService.cs
similarity index 63%
rename from src/Nadeko.Bot.Modules.Administration/Role/StickyRolesService.cs
rename to src/NadekoBot/Modules/Administration/Role/StickyRolesService.cs
index 679d64f35..7c6513753 100644
--- a/src/Nadeko.Bot.Modules.Administration/Role/StickyRolesService.cs
+++ b/src/NadekoBot/Modules/Administration/Role/StickyRolesService.cs
@@ -12,9 +12,10 @@ public sealed class StickyRolesService : INService, IReadyExecutor
private readonly DiscordSocketClient _client;
private readonly IBotCredentials _creds;
private readonly DbService _db;
- private HashSet _stickyRoles;
+ private HashSet _stickyRoles = new();
- public StickyRolesService(DiscordSocketClient client,
+ public StickyRolesService(
+ DiscordSocketClient client,
IBotCredentials creds,
DbService db)
{
@@ -29,12 +30,14 @@ public sealed class StickyRolesService : INService, IReadyExecutor
await using (var ctx = _db.GetDbContext())
{
_stickyRoles = (await ctx
- .Set()
- .ToLinqToDBTable()
- .Where(x => Linq2DbExpressions.GuildOnShard(x.GuildId, _creds.TotalShards, _client.ShardId))
- .Where(x => x.StickyRoles)
- .Select(x => x.GuildId)
- .ToListAsync())
+ .Set()
+ .ToLinqToDBTable()
+ .Where(x => Linq2DbExpressions.GuildOnShard(x.GuildId,
+ _creds.TotalShards,
+ _client.ShardId))
+ .Where(x => x.StickyRoles)
+ .Select(x => x.GuildId)
+ .ToListAsync())
.ToHashSet();
}
@@ -50,47 +53,46 @@ public sealed class StickyRolesService : INService, IReadyExecutor
{
await using var ctx = _db.GetDbContext();
await ctx.GetTable()
- .Where(x => x.DateAdded < DateTime.UtcNow - TimeSpan.FromDays(30))
- .DeleteAsync();
+ .Where(x => x.DateAdded < DateTime.UtcNow - TimeSpan.FromDays(30))
+ .DeleteAsync();
}
}
}
- private async Task ClientOnUserLeft(SocketGuild guild, SocketUser user)
+ private Task ClientOnUserLeft(SocketGuild guild, SocketUser user)
{
if (user is not SocketGuildUser gu)
- {
- return;
- }
+ return Task.CompletedTask;
if (!_stickyRoles.Contains(guild.Id))
- {
- return;
- }
+ return Task.CompletedTask;
_ = Task.Run(async () => await SaveRolesAsync(guild.Id, gu.Id, gu.Roles));
+
+ return Task.CompletedTask;
}
private async Task SaveRolesAsync(ulong guildId, ulong userId, IReadOnlyCollection guRoles)
{
await using var ctx = _db.GetDbContext();
await ctx.GetTable()
- .InsertAsync(() => new()
- {
- GuildId = guildId,
- UserId = userId,
- RoleIds = string.Join(',', guRoles.Where(x => !x.IsEveryone && !x.IsManaged).Select(x => x.Id.ToString())),
- DateAdded = DateTime.UtcNow
- });
+ .InsertAsync(() => new()
+ {
+ GuildId = guildId,
+ UserId = userId,
+ RoleIds = string.Join(',',
+ guRoles.Where(x => !x.IsEveryone && !x.IsManaged).Select(x => x.Id.ToString())),
+ DateAdded = DateTime.UtcNow
+ });
}
private Task ClientOnUserJoined(SocketGuildUser user)
{
+ if (!_stickyRoles.Contains(user.Guild.Id))
+ return Task.CompletedTask;
+
_ = Task.Run(async () =>
{
- if (!_stickyRoles.Contains(user.Guild.Id))
- return;
-
var roles = await GetRolesAsync(user.Guild.Id, user.Id);
await user.AddRolesAsync(roles);
@@ -103,9 +105,9 @@ public sealed class StickyRolesService : INService, IReadyExecutor
{
await using var ctx = _db.GetDbContext();
var stickyRolesEntry = await ctx
- .GetTable()
- .Where(x => x.GuildId == guildId && x.UserId == userId)
- .DeleteWithOutputAsync();
+ .GetTable()
+ .Where(x => x.GuildId == guildId && x.UserId == userId)
+ .DeleteWithOutputAsync();
if (stickyRolesEntry is { Length: > 0 })
{
diff --git a/src/Nadeko.Bot.Modules.Administration/Self/CheckForUpdatesService.cs b/src/NadekoBot/Modules/Administration/Self/CheckForUpdatesService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Self/CheckForUpdatesService.cs
rename to src/NadekoBot/Modules/Administration/Self/CheckForUpdatesService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Self/SelfCommands.cs b/src/NadekoBot/Modules/Administration/Self/SelfCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Self/SelfCommands.cs
rename to src/NadekoBot/Modules/Administration/Self/SelfCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Self/SelfService.cs b/src/NadekoBot/Modules/Administration/Self/SelfService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Self/SelfService.cs
rename to src/NadekoBot/Modules/Administration/Self/SelfService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/SelfAssignableRoles/SelfAssignedRolesCommands.cs b/src/NadekoBot/Modules/Administration/SelfAssignableRoles/SelfAssignedRolesCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/SelfAssignableRoles/SelfAssignedRolesCommands.cs
rename to src/NadekoBot/Modules/Administration/SelfAssignableRoles/SelfAssignedRolesCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/SelfAssignableRoles/SelfAssignedRolesService.cs b/src/NadekoBot/Modules/Administration/SelfAssignableRoles/SelfAssignedRolesService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/SelfAssignableRoles/SelfAssignedRolesService.cs
rename to src/NadekoBot/Modules/Administration/SelfAssignableRoles/SelfAssignedRolesService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/ServerLog/DummyLogCommandService.cs b/src/NadekoBot/Modules/Administration/ServerLog/DummyLogCommandService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/ServerLog/DummyLogCommandService.cs
rename to src/NadekoBot/Modules/Administration/ServerLog/DummyLogCommandService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/ServerLog/ServerLogCommandService.cs b/src/NadekoBot/Modules/Administration/ServerLog/ServerLogCommandService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/ServerLog/ServerLogCommandService.cs
rename to src/NadekoBot/Modules/Administration/ServerLog/ServerLogCommandService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/ServerLog/ServerLogCommands.cs b/src/NadekoBot/Modules/Administration/ServerLog/ServerLogCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/ServerLog/ServerLogCommands.cs
rename to src/NadekoBot/Modules/Administration/ServerLog/ServerLogCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Timezone/GuildTimezoneService.cs b/src/NadekoBot/Modules/Administration/Timezone/GuildTimezoneService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Timezone/GuildTimezoneService.cs
rename to src/NadekoBot/Modules/Administration/Timezone/GuildTimezoneService.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/Timezone/TimeZoneCommands.cs b/src/NadekoBot/Modules/Administration/Timezone/TimeZoneCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/Timezone/TimeZoneCommands.cs
rename to src/NadekoBot/Modules/Administration/Timezone/TimeZoneCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/UserPunish/UserPunishCommands.cs b/src/NadekoBot/Modules/Administration/UserPunish/UserPunishCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/UserPunish/UserPunishCommands.cs
rename to src/NadekoBot/Modules/Administration/UserPunish/UserPunishCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/UserPunish/UserPunishService.cs b/src/NadekoBot/Modules/Administration/UserPunish/UserPunishService.cs
similarity index 99%
rename from src/Nadeko.Bot.Modules.Administration/UserPunish/UserPunishService.cs
rename to src/NadekoBot/Modules/Administration/UserPunish/UserPunishService.cs
index 967652ce4..ebe2b39c7 100644
--- a/src/Nadeko.Bot.Modules.Administration/UserPunish/UserPunishService.cs
+++ b/src/NadekoBot/Modules/Administration/UserPunish/UserPunishService.cs
@@ -459,7 +459,7 @@ public class UserPunishService : INService, IReadyExecutor
//get only data for found users
var found = bans.Where(x => x.Id.HasValue).Select(x => x.Id.Value).ToList();
- _blacklistService.BlacklistUsers(found);
+ _ = _blacklistService.BlacklistUsers(found);
return (bans, missing);
}
diff --git a/src/Nadeko.Bot.Modules.Administration/VcRole/VcRoleCommands.cs b/src/NadekoBot/Modules/Administration/VcRole/VcRoleCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/VcRole/VcRoleCommands.cs
rename to src/NadekoBot/Modules/Administration/VcRole/VcRoleCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Administration/VcRole/VcRoleService.cs b/src/NadekoBot/Modules/Administration/VcRole/VcRoleService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Administration/VcRole/VcRoleService.cs
rename to src/NadekoBot/Modules/Administration/VcRole/VcRoleService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/AnimalRace.cs b/src/NadekoBot/Modules/Gambling/AnimalRacing/AnimalRace.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/AnimalRace.cs
rename to src/NadekoBot/Modules/Gambling/AnimalRacing/AnimalRace.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/AnimalRaceService.cs b/src/NadekoBot/Modules/Gambling/AnimalRacing/AnimalRaceService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/AnimalRaceService.cs
rename to src/NadekoBot/Modules/Gambling/AnimalRacing/AnimalRaceService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/AnimalRacingCommands.cs b/src/NadekoBot/Modules/Gambling/AnimalRacing/AnimalRacingCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/AnimalRacingCommands.cs
rename to src/NadekoBot/Modules/Gambling/AnimalRacing/AnimalRacingCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/AnimalRacingUser.cs b/src/NadekoBot/Modules/Gambling/AnimalRacing/AnimalRacingUser.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/AnimalRacingUser.cs
rename to src/NadekoBot/Modules/Gambling/AnimalRacing/AnimalRacingUser.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/Exceptions/AlreadyJoinedException.cs b/src/NadekoBot/Modules/Gambling/AnimalRacing/Exceptions/AlreadyJoinedException.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/Exceptions/AlreadyJoinedException.cs
rename to src/NadekoBot/Modules/Gambling/AnimalRacing/Exceptions/AlreadyJoinedException.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/Exceptions/AlreadyStartedException.cs b/src/NadekoBot/Modules/Gambling/AnimalRacing/Exceptions/AlreadyStartedException.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/Exceptions/AlreadyStartedException.cs
rename to src/NadekoBot/Modules/Gambling/AnimalRacing/Exceptions/AlreadyStartedException.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/Exceptions/AnimalRaceFullException.cs b/src/NadekoBot/Modules/Gambling/AnimalRacing/Exceptions/AnimalRaceFullException.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/Exceptions/AnimalRaceFullException.cs
rename to src/NadekoBot/Modules/Gambling/AnimalRacing/Exceptions/AnimalRaceFullException.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/Exceptions/NotEnoughFundsException.cs b/src/NadekoBot/Modules/Gambling/AnimalRacing/Exceptions/NotEnoughFundsException.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/Exceptions/NotEnoughFundsException.cs
rename to src/NadekoBot/Modules/Gambling/AnimalRacing/Exceptions/NotEnoughFundsException.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/RaceOptions.cs b/src/NadekoBot/Modules/Gambling/AnimalRacing/RaceOptions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/AnimalRacing/RaceOptions.cs
rename to src/NadekoBot/Modules/Gambling/AnimalRacing/RaceOptions.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Bank/BankCommands.cs b/src/NadekoBot/Modules/Gambling/Bank/BankCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Bank/BankCommands.cs
rename to src/NadekoBot/Modules/Gambling/Bank/BankCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Bank/BankService.cs b/src/NadekoBot/Modules/Gambling/Bank/BankService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Bank/BankService.cs
rename to src/NadekoBot/Modules/Gambling/Bank/BankService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/BlackJack/BlackJackCommands.cs b/src/NadekoBot/Modules/Gambling/BlackJack/BlackJackCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/BlackJack/BlackJackCommands.cs
rename to src/NadekoBot/Modules/Gambling/BlackJack/BlackJackCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/BlackJack/BlackJackService.cs b/src/NadekoBot/Modules/Gambling/BlackJack/BlackJackService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/BlackJack/BlackJackService.cs
rename to src/NadekoBot/Modules/Gambling/BlackJack/BlackJackService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/BlackJack/Blackjack.cs b/src/NadekoBot/Modules/Gambling/BlackJack/Blackjack.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/BlackJack/Blackjack.cs
rename to src/NadekoBot/Modules/Gambling/BlackJack/Blackjack.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/BlackJack/Player.cs b/src/NadekoBot/Modules/Gambling/BlackJack/Player.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/BlackJack/Player.cs
rename to src/NadekoBot/Modules/Gambling/BlackJack/Player.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/CleanupCommands.cs b/src/NadekoBot/Modules/Gambling/CleanupCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/CleanupCommands.cs
rename to src/NadekoBot/Modules/Gambling/CleanupCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Connect4/Connect4.cs b/src/NadekoBot/Modules/Gambling/Connect4/Connect4.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Connect4/Connect4.cs
rename to src/NadekoBot/Modules/Gambling/Connect4/Connect4.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Connect4/Connect4Commands.cs b/src/NadekoBot/Modules/Gambling/Connect4/Connect4Commands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Connect4/Connect4Commands.cs
rename to src/NadekoBot/Modules/Gambling/Connect4/Connect4Commands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/DiceRoll/DiceRollCommands.cs b/src/NadekoBot/Modules/Gambling/DiceRoll/DiceRollCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/DiceRoll/DiceRollCommands.cs
rename to src/NadekoBot/Modules/Gambling/DiceRoll/DiceRollCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Draw/DrawCommands.cs b/src/NadekoBot/Modules/Gambling/Draw/DrawCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Draw/DrawCommands.cs
rename to src/NadekoBot/Modules/Gambling/Draw/DrawCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/EconomyResult.cs b/src/NadekoBot/Modules/Gambling/EconomyResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/EconomyResult.cs
rename to src/NadekoBot/Modules/Gambling/EconomyResult.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Events/CurrencyEventsCommands.cs b/src/NadekoBot/Modules/Gambling/Events/CurrencyEventsCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Events/CurrencyEventsCommands.cs
rename to src/NadekoBot/Modules/Gambling/Events/CurrencyEventsCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Events/CurrencyEventsService.cs b/src/NadekoBot/Modules/Gambling/Events/CurrencyEventsService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Events/CurrencyEventsService.cs
rename to src/NadekoBot/Modules/Gambling/Events/CurrencyEventsService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Events/EventOptions.cs b/src/NadekoBot/Modules/Gambling/Events/EventOptions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Events/EventOptions.cs
rename to src/NadekoBot/Modules/Gambling/Events/EventOptions.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Events/GameStatusEvent.cs b/src/NadekoBot/Modules/Gambling/Events/GameStatusEvent.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Events/GameStatusEvent.cs
rename to src/NadekoBot/Modules/Gambling/Events/GameStatusEvent.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Events/ICurrencyEvent.cs b/src/NadekoBot/Modules/Gambling/Events/ICurrencyEvent.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Events/ICurrencyEvent.cs
rename to src/NadekoBot/Modules/Gambling/Events/ICurrencyEvent.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Events/ReactionEvent.cs b/src/NadekoBot/Modules/Gambling/Events/ReactionEvent.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Events/ReactionEvent.cs
rename to src/NadekoBot/Modules/Gambling/Events/ReactionEvent.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/FlipCoin/FlipCoinCommands.cs b/src/NadekoBot/Modules/Gambling/FlipCoin/FlipCoinCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/FlipCoin/FlipCoinCommands.cs
rename to src/NadekoBot/Modules/Gambling/FlipCoin/FlipCoinCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/FlipCoin/FlipResult.cs b/src/NadekoBot/Modules/Gambling/FlipCoin/FlipResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/FlipCoin/FlipResult.cs
rename to src/NadekoBot/Modules/Gambling/FlipCoin/FlipResult.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Gambling.cs b/src/NadekoBot/Modules/Gambling/Gambling.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Gambling.cs
rename to src/NadekoBot/Modules/Gambling/Gambling.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/GamblingConfig.cs b/src/NadekoBot/Modules/Gambling/GamblingConfig.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/GamblingConfig.cs
rename to src/NadekoBot/Modules/Gambling/GamblingConfig.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/GamblingConfigService.cs b/src/NadekoBot/Modules/Gambling/GamblingConfigService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/GamblingConfigService.cs
rename to src/NadekoBot/Modules/Gambling/GamblingConfigService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/GamblingService.cs b/src/NadekoBot/Modules/Gambling/GamblingService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/GamblingService.cs
rename to src/NadekoBot/Modules/Gambling/GamblingService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/GamblingTopLevelModule.cs b/src/NadekoBot/Modules/Gambling/GamblingTopLevelModule.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/GamblingTopLevelModule.cs
rename to src/NadekoBot/Modules/Gambling/GamblingTopLevelModule.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/InputRpsPick.cs b/src/NadekoBot/Modules/Gambling/InputRpsPick.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/InputRpsPick.cs
rename to src/NadekoBot/Modules/Gambling/InputRpsPick.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/PlantPick/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Gambling/PlantPick/PlantAndPickCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/PlantPick/PlantAndPickCommands.cs
rename to src/NadekoBot/Modules/Gambling/PlantPick/PlantAndPickCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/PlantPick/PlantPickService.cs b/src/NadekoBot/Modules/Gambling/PlantPick/PlantPickService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/PlantPick/PlantPickService.cs
rename to src/NadekoBot/Modules/Gambling/PlantPick/PlantPickService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Raffle/CurrencyRaffleCommands.cs b/src/NadekoBot/Modules/Gambling/Raffle/CurrencyRaffleCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Raffle/CurrencyRaffleCommands.cs
rename to src/NadekoBot/Modules/Gambling/Raffle/CurrencyRaffleCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Raffle/CurrencyRaffleGame.cs b/src/NadekoBot/Modules/Gambling/Raffle/CurrencyRaffleGame.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Raffle/CurrencyRaffleGame.cs
rename to src/NadekoBot/Modules/Gambling/Raffle/CurrencyRaffleGame.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Raffle/CurrencyRaffleService.cs b/src/NadekoBot/Modules/Gambling/Raffle/CurrencyRaffleService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Raffle/CurrencyRaffleService.cs
rename to src/NadekoBot/Modules/Gambling/Raffle/CurrencyRaffleService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Shop/IShopService.cs b/src/NadekoBot/Modules/Gambling/Shop/IShopService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Shop/IShopService.cs
rename to src/NadekoBot/Modules/Gambling/Shop/IShopService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Shop/ShopCommands.cs b/src/NadekoBot/Modules/Gambling/Shop/ShopCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Shop/ShopCommands.cs
rename to src/NadekoBot/Modules/Gambling/Shop/ShopCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Shop/ShopService.cs b/src/NadekoBot/Modules/Gambling/Shop/ShopService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Shop/ShopService.cs
rename to src/NadekoBot/Modules/Gambling/Shop/ShopService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Slot/SlotCommands.cs b/src/NadekoBot/Modules/Gambling/Slot/SlotCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Slot/SlotCommands.cs
rename to src/NadekoBot/Modules/Gambling/Slot/SlotCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/VoteRewardService.cs b/src/NadekoBot/Modules/Gambling/VoteRewardService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/VoteRewardService.cs
rename to src/NadekoBot/Modules/Gambling/VoteRewardService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/WaifuClaimCommands.cs b/src/NadekoBot/Modules/Gambling/Waifus/WaifuClaimCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/WaifuClaimCommands.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/WaifuClaimCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/WaifuService.cs b/src/NadekoBot/Modules/Gambling/Waifus/WaifuService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/WaifuService.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/WaifuService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/_common/AffinityTitle.cs b/src/NadekoBot/Modules/Gambling/Waifus/_common/AffinityTitle.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/_common/AffinityTitle.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/_common/AffinityTitle.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/_common/ClaimTitle.cs b/src/NadekoBot/Modules/Gambling/Waifus/_common/ClaimTitle.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/_common/ClaimTitle.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/_common/ClaimTitle.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/_common/DivorceResult.cs b/src/NadekoBot/Modules/Gambling/Waifus/_common/DivorceResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/_common/DivorceResult.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/_common/DivorceResult.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/_common/Extensions.cs b/src/NadekoBot/Modules/Gambling/Waifus/_common/Extensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/_common/Extensions.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/_common/Extensions.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/_common/WaifuClaimResult.cs b/src/NadekoBot/Modules/Gambling/Waifus/_common/WaifuClaimResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/_common/WaifuClaimResult.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/_common/WaifuClaimResult.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/Waifu.cs b/src/NadekoBot/Modules/Gambling/Waifus/db/Waifu.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/Waifu.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/db/Waifu.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/WaifuExtensions.cs b/src/NadekoBot/Modules/Gambling/Waifus/db/WaifuExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/WaifuExtensions.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/db/WaifuExtensions.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/WaifuInfoStats.cs b/src/NadekoBot/Modules/Gambling/Waifus/db/WaifuInfoStats.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/WaifuInfoStats.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/db/WaifuInfoStats.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/WaifuItem.cs b/src/NadekoBot/Modules/Gambling/Waifus/db/WaifuItem.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/WaifuItem.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/db/WaifuItem.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/WaifuLbResult.cs b/src/NadekoBot/Modules/Gambling/Waifus/db/WaifuLbResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/WaifuLbResult.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/db/WaifuLbResult.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/WaifuUpdate.cs b/src/NadekoBot/Modules/Gambling/Waifus/db/WaifuUpdate.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/WaifuUpdate.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/db/WaifuUpdate.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/WaifuUpdateType.cs b/src/NadekoBot/Modules/Gambling/Waifus/db/WaifuUpdateType.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/Waifus/db/WaifuUpdateType.cs
rename to src/NadekoBot/Modules/Gambling/Waifus/db/WaifuUpdateType.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/_common/Decks/QuadDeck.cs b/src/NadekoBot/Modules/Gambling/_common/Decks/QuadDeck.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/_common/Decks/QuadDeck.cs
rename to src/NadekoBot/Modules/Gambling/_common/Decks/QuadDeck.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/_common/GamblingCleanupService.cs b/src/NadekoBot/Modules/Gambling/_common/GamblingCleanupService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/_common/GamblingCleanupService.cs
rename to src/NadekoBot/Modules/Gambling/_common/GamblingCleanupService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/_common/IGamblingCleanupService.cs b/src/NadekoBot/Modules/Gambling/_common/IGamblingCleanupService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/_common/IGamblingCleanupService.cs
rename to src/NadekoBot/Modules/Gambling/_common/IGamblingCleanupService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/_common/IGamblingService.cs b/src/NadekoBot/Modules/Gambling/_common/IGamblingService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/_common/IGamblingService.cs
rename to src/NadekoBot/Modules/Gambling/_common/IGamblingService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/_common/NewGamblingService.cs b/src/NadekoBot/Modules/Gambling/_common/NewGamblingService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/_common/NewGamblingService.cs
rename to src/NadekoBot/Modules/Gambling/_common/NewGamblingService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/_common/RollDuelGame.cs b/src/NadekoBot/Modules/Gambling/_common/RollDuelGame.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/_common/RollDuelGame.cs
rename to src/NadekoBot/Modules/Gambling/_common/RollDuelGame.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/_common/TypeReaders/BaseShmartInputAmountReader.cs b/src/NadekoBot/Modules/Gambling/_common/TypeReaders/BaseShmartInputAmountReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/_common/TypeReaders/BaseShmartInputAmountReader.cs
rename to src/NadekoBot/Modules/Gambling/_common/TypeReaders/BaseShmartInputAmountReader.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/_common/TypeReaders/ShmartBankInputAmountReader.cs b/src/NadekoBot/Modules/Gambling/_common/TypeReaders/ShmartBankInputAmountReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/_common/TypeReaders/ShmartBankInputAmountReader.cs
rename to src/NadekoBot/Modules/Gambling/_common/TypeReaders/ShmartBankInputAmountReader.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Gambling/_common/TypeReaders/ShmartNumberTypeReader.cs b/src/NadekoBot/Modules/Gambling/_common/TypeReaders/ShmartNumberTypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Gambling/_common/TypeReaders/ShmartNumberTypeReader.cs
rename to src/NadekoBot/Modules/Gambling/_common/TypeReaders/ShmartNumberTypeReader.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Acrophobia/Acrophobia.cs b/src/NadekoBot/Modules/Games/Acrophobia/Acrophobia.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Acrophobia/Acrophobia.cs
rename to src/NadekoBot/Modules/Games/Acrophobia/Acrophobia.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Acrophobia/AcrophobiaUser.cs b/src/NadekoBot/Modules/Games/Acrophobia/AcrophobiaUser.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Acrophobia/AcrophobiaUser.cs
rename to src/NadekoBot/Modules/Games/Acrophobia/AcrophobiaUser.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Acrophobia/AcropobiaCommands.cs b/src/NadekoBot/Modules/Games/Acrophobia/AcropobiaCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Acrophobia/AcropobiaCommands.cs
rename to src/NadekoBot/Modules/Games/Acrophobia/AcropobiaCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/ChatterbotService.cs b/src/NadekoBot/Modules/Games/ChatterBot/ChatterbotService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/ChatterbotService.cs
rename to src/NadekoBot/Modules/Games/ChatterBot/ChatterbotService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/CleverBotCommands.cs b/src/NadekoBot/Modules/Games/ChatterBot/CleverBotCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/CleverBotCommands.cs
rename to src/NadekoBot/Modules/Games/ChatterBot/CleverBotCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/_common/CleverbotResponse.cs b/src/NadekoBot/Modules/Games/ChatterBot/_common/CleverbotResponse.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/_common/CleverbotResponse.cs
rename to src/NadekoBot/Modules/Games/ChatterBot/_common/CleverbotResponse.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/_common/Gpt3Response.cs b/src/NadekoBot/Modules/Games/ChatterBot/_common/Gpt3Response.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/_common/Gpt3Response.cs
rename to src/NadekoBot/Modules/Games/ChatterBot/_common/Gpt3Response.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/_common/IChatterBotSession.cs b/src/NadekoBot/Modules/Games/ChatterBot/_common/IChatterBotSession.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/_common/IChatterBotSession.cs
rename to src/NadekoBot/Modules/Games/ChatterBot/_common/IChatterBotSession.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/_common/OfficialCleverbotSession.cs b/src/NadekoBot/Modules/Games/ChatterBot/_common/OfficialCleverbotSession.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/_common/OfficialCleverbotSession.cs
rename to src/NadekoBot/Modules/Games/ChatterBot/_common/OfficialCleverbotSession.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/_common/OfficialGpt3Session.cs b/src/NadekoBot/Modules/Games/ChatterBot/_common/OfficialGpt3Session.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/ChatterBot/_common/OfficialGpt3Session.cs
rename to src/NadekoBot/Modules/Games/ChatterBot/_common/OfficialGpt3Session.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Games.cs b/src/NadekoBot/Modules/Games/Games.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Games.cs
rename to src/NadekoBot/Modules/Games/Games.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/GamesConfig.cs b/src/NadekoBot/Modules/Games/GamesConfig.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/GamesConfig.cs
rename to src/NadekoBot/Modules/Games/GamesConfig.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/GamesConfigService.cs b/src/NadekoBot/Modules/Games/GamesConfigService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/GamesConfigService.cs
rename to src/NadekoBot/Modules/Games/GamesConfigService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/GamesService.cs b/src/NadekoBot/Modules/Games/GamesService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/GamesService.cs
rename to src/NadekoBot/Modules/Games/GamesService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/GirlRating.cs b/src/NadekoBot/Modules/Games/GirlRating.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/GirlRating.cs
rename to src/NadekoBot/Modules/Games/GirlRating.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Hangman/DefaultHangmanSource.cs b/src/NadekoBot/Modules/Games/Hangman/DefaultHangmanSource.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Hangman/DefaultHangmanSource.cs
rename to src/NadekoBot/Modules/Games/Hangman/DefaultHangmanSource.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Hangman/HangmanCommands.cs b/src/NadekoBot/Modules/Games/Hangman/HangmanCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Hangman/HangmanCommands.cs
rename to src/NadekoBot/Modules/Games/Hangman/HangmanCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Hangman/HangmanGame.cs b/src/NadekoBot/Modules/Games/Hangman/HangmanGame.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Hangman/HangmanGame.cs
rename to src/NadekoBot/Modules/Games/Hangman/HangmanGame.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Hangman/HangmanService.cs b/src/NadekoBot/Modules/Games/Hangman/HangmanService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Hangman/HangmanService.cs
rename to src/NadekoBot/Modules/Games/Hangman/HangmanService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Hangman/HangmanTerm.cs b/src/NadekoBot/Modules/Games/Hangman/HangmanTerm.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Hangman/HangmanTerm.cs
rename to src/NadekoBot/Modules/Games/Hangman/HangmanTerm.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Hangman/IHangmanService.cs b/src/NadekoBot/Modules/Games/Hangman/IHangmanService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Hangman/IHangmanService.cs
rename to src/NadekoBot/Modules/Games/Hangman/IHangmanService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Hangman/IHangmanSource.cs b/src/NadekoBot/Modules/Games/Hangman/IHangmanSource.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Hangman/IHangmanSource.cs
rename to src/NadekoBot/Modules/Games/Hangman/IHangmanSource.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Nunchi/Nunchi.cs b/src/NadekoBot/Modules/Games/Nunchi/Nunchi.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Nunchi/Nunchi.cs
rename to src/NadekoBot/Modules/Games/Nunchi/Nunchi.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Nunchi/NunchiCommands.cs b/src/NadekoBot/Modules/Games/Nunchi/NunchiCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Nunchi/NunchiCommands.cs
rename to src/NadekoBot/Modules/Games/Nunchi/NunchiCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/SpeedTyping/SpeedTypingCommands.cs b/src/NadekoBot/Modules/Games/SpeedTyping/SpeedTypingCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/SpeedTyping/SpeedTypingCommands.cs
rename to src/NadekoBot/Modules/Games/SpeedTyping/SpeedTypingCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/SpeedTyping/TypingArticle.cs b/src/NadekoBot/Modules/Games/SpeedTyping/TypingArticle.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/SpeedTyping/TypingArticle.cs
rename to src/NadekoBot/Modules/Games/SpeedTyping/TypingArticle.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/SpeedTyping/TypingGame.cs b/src/NadekoBot/Modules/Games/SpeedTyping/TypingGame.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/SpeedTyping/TypingGame.cs
rename to src/NadekoBot/Modules/Games/SpeedTyping/TypingGame.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/TicTacToe/TicTacToe.cs b/src/NadekoBot/Modules/Games/TicTacToe/TicTacToe.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/TicTacToe/TicTacToe.cs
rename to src/NadekoBot/Modules/Games/TicTacToe/TicTacToe.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/TicTacToe/TicTacToeCommands.cs b/src/NadekoBot/Modules/Games/TicTacToe/TicTacToeCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/TicTacToe/TicTacToeCommands.cs
rename to src/NadekoBot/Modules/Games/TicTacToe/TicTacToeCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Trivia/Games.cs b/src/NadekoBot/Modules/Games/Trivia/Games.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Trivia/Games.cs
rename to src/NadekoBot/Modules/Games/Trivia/Games.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Trivia/QuestionPool/DefaultQuestionPool.cs b/src/NadekoBot/Modules/Games/Trivia/QuestionPool/DefaultQuestionPool.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Trivia/QuestionPool/DefaultQuestionPool.cs
rename to src/NadekoBot/Modules/Games/Trivia/QuestionPool/DefaultQuestionPool.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Trivia/QuestionPool/IQuestionPool.cs b/src/NadekoBot/Modules/Games/Trivia/QuestionPool/IQuestionPool.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Trivia/QuestionPool/IQuestionPool.cs
rename to src/NadekoBot/Modules/Games/Trivia/QuestionPool/IQuestionPool.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Trivia/QuestionPool/PokemonQuestionPool.cs b/src/NadekoBot/Modules/Games/Trivia/QuestionPool/PokemonQuestionPool.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Trivia/QuestionPool/PokemonQuestionPool.cs
rename to src/NadekoBot/Modules/Games/Trivia/QuestionPool/PokemonQuestionPool.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Trivia/TriviaGame.cs b/src/NadekoBot/Modules/Games/Trivia/TriviaGame.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Trivia/TriviaGame.cs
rename to src/NadekoBot/Modules/Games/Trivia/TriviaGame.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Trivia/TriviaGamesService.cs b/src/NadekoBot/Modules/Games/Trivia/TriviaGamesService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Trivia/TriviaGamesService.cs
rename to src/NadekoBot/Modules/Games/Trivia/TriviaGamesService.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Trivia/TriviaOptions.cs b/src/NadekoBot/Modules/Games/Trivia/TriviaOptions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Trivia/TriviaOptions.cs
rename to src/NadekoBot/Modules/Games/Trivia/TriviaOptions.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Trivia/TriviaQuestion.cs b/src/NadekoBot/Modules/Games/Trivia/TriviaQuestion.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Trivia/TriviaQuestion.cs
rename to src/NadekoBot/Modules/Games/Trivia/TriviaQuestion.cs
diff --git a/src/Nadeko.Bot.Modules.Gambling/Games/Trivia/TriviaUser.cs b/src/NadekoBot/Modules/Games/Trivia/TriviaUser.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Gambling/Games/Trivia/TriviaUser.cs
rename to src/NadekoBot/Modules/Games/Trivia/TriviaUser.cs
diff --git a/src/Nadeko.Bot.Modules.Help/CommandJsonObject.cs b/src/NadekoBot/Modules/Help/CommandJsonObject.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Help/CommandJsonObject.cs
rename to src/NadekoBot/Modules/Help/CommandJsonObject.cs
diff --git a/src/Nadeko.Bot.Modules.Help/CommandsOptions.cs b/src/NadekoBot/Modules/Help/CommandsOptions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Help/CommandsOptions.cs
rename to src/NadekoBot/Modules/Help/CommandsOptions.cs
diff --git a/src/Nadeko.Bot.Modules.Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Help/Help.cs
rename to src/NadekoBot/Modules/Help/Help.cs
diff --git a/src/Nadeko.Bot.Modules.Help/HelpService.cs b/src/NadekoBot/Modules/Help/HelpService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Help/HelpService.cs
rename to src/NadekoBot/Modules/Help/HelpService.cs
diff --git a/src/Nadeko.Bot.Modules.Music/CleanupCommands.cs b/src/NadekoBot/Modules/Music/CleanupCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/CleanupCommands.cs
rename to src/NadekoBot/Modules/Music/CleanupCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/Music.cs
rename to src/NadekoBot/Modules/Music/Music.cs
diff --git a/src/Nadeko.Bot.Modules.Music/PlaylistCommands.cs b/src/NadekoBot/Modules/Music/PlaylistCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/PlaylistCommands.cs
rename to src/NadekoBot/Modules/Music/PlaylistCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Music/Services/AyuVoiceStateService.cs b/src/NadekoBot/Modules/Music/Services/AyuVoiceStateService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/Services/AyuVoiceStateService.cs
rename to src/NadekoBot/Modules/Music/Services/AyuVoiceStateService.cs
diff --git a/src/Nadeko.Bot.Modules.Music/Services/IMusicService.cs b/src/NadekoBot/Modules/Music/Services/IMusicService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/Services/IMusicService.cs
rename to src/NadekoBot/Modules/Music/Services/IMusicService.cs
diff --git a/src/Nadeko.Bot.Modules.Music/Services/MusicService.cs b/src/NadekoBot/Modules/Music/Services/MusicService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/Services/MusicService.cs
rename to src/NadekoBot/Modules/Music/Services/MusicService.cs
diff --git a/src/Nadeko.Bot.Modules.Music/Services/extractor/Misc.cs b/src/NadekoBot/Modules/Music/Services/extractor/Misc.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/Services/extractor/Misc.cs
rename to src/NadekoBot/Modules/Music/Services/extractor/Misc.cs
diff --git a/src/Nadeko.Bot.Modules.Music/Services/extractor/YtLoader.cs b/src/NadekoBot/Modules/Music/Services/extractor/YtLoader.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/Services/extractor/YtLoader.cs
rename to src/NadekoBot/Modules/Music/Services/extractor/YtLoader.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/ICachableTrackData.cs b/src/NadekoBot/Modules/Music/_common/ICachableTrackData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/ICachableTrackData.cs
rename to src/NadekoBot/Modules/Music/_common/ICachableTrackData.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/ILocalTrackResolver.cs b/src/NadekoBot/Modules/Music/_common/ILocalTrackResolver.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/ILocalTrackResolver.cs
rename to src/NadekoBot/Modules/Music/_common/ILocalTrackResolver.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/IMusicPlayer.cs b/src/NadekoBot/Modules/Music/_common/IMusicPlayer.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/IMusicPlayer.cs
rename to src/NadekoBot/Modules/Music/_common/IMusicPlayer.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/IMusicQueue.cs b/src/NadekoBot/Modules/Music/_common/IMusicQueue.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/IMusicQueue.cs
rename to src/NadekoBot/Modules/Music/_common/IMusicQueue.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/IPlatformQueryResolver.cs b/src/NadekoBot/Modules/Music/_common/IPlatformQueryResolver.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/IPlatformQueryResolver.cs
rename to src/NadekoBot/Modules/Music/_common/IPlatformQueryResolver.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/IQueuedTrackInfo.cs b/src/NadekoBot/Modules/Music/_common/IQueuedTrackInfo.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/IQueuedTrackInfo.cs
rename to src/NadekoBot/Modules/Music/_common/IQueuedTrackInfo.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/IRadioResolver.cs b/src/NadekoBot/Modules/Music/_common/IRadioResolver.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/IRadioResolver.cs
rename to src/NadekoBot/Modules/Music/_common/IRadioResolver.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/ITrackCacher.cs b/src/NadekoBot/Modules/Music/_common/ITrackCacher.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/ITrackCacher.cs
rename to src/NadekoBot/Modules/Music/_common/ITrackCacher.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/ITrackInfo.cs b/src/NadekoBot/Modules/Music/_common/ITrackInfo.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/ITrackInfo.cs
rename to src/NadekoBot/Modules/Music/_common/ITrackInfo.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/ITrackResolveProvider.cs b/src/NadekoBot/Modules/Music/_common/ITrackResolveProvider.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/ITrackResolveProvider.cs
rename to src/NadekoBot/Modules/Music/_common/ITrackResolveProvider.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/IVoiceProxy.cs b/src/NadekoBot/Modules/Music/_common/IVoiceProxy.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/IVoiceProxy.cs
rename to src/NadekoBot/Modules/Music/_common/IVoiceProxy.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/IYoutubeResolver.cs b/src/NadekoBot/Modules/Music/_common/IYoutubeResolver.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/IYoutubeResolver.cs
rename to src/NadekoBot/Modules/Music/_common/IYoutubeResolver.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Impl/CachableTrackData.cs b/src/NadekoBot/Modules/Music/_common/Impl/CachableTrackData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Impl/CachableTrackData.cs
rename to src/NadekoBot/Modules/Music/_common/Impl/CachableTrackData.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Impl/MultimediaTimer.cs b/src/NadekoBot/Modules/Music/_common/Impl/MultimediaTimer.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Impl/MultimediaTimer.cs
rename to src/NadekoBot/Modules/Music/_common/Impl/MultimediaTimer.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Impl/MusicExtensions.cs b/src/NadekoBot/Modules/Music/_common/Impl/MusicExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Impl/MusicExtensions.cs
rename to src/NadekoBot/Modules/Music/_common/Impl/MusicExtensions.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Impl/MusicPlatform.cs b/src/NadekoBot/Modules/Music/_common/Impl/MusicPlatform.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Impl/MusicPlatform.cs
rename to src/NadekoBot/Modules/Music/_common/Impl/MusicPlatform.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Impl/MusicPlayer.cs b/src/NadekoBot/Modules/Music/_common/Impl/MusicPlayer.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Impl/MusicPlayer.cs
rename to src/NadekoBot/Modules/Music/_common/Impl/MusicPlayer.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Impl/MusicQueue.cs b/src/NadekoBot/Modules/Music/_common/Impl/MusicQueue.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Impl/MusicQueue.cs
rename to src/NadekoBot/Modules/Music/_common/Impl/MusicQueue.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Impl/RemoteTrackInfo.cs b/src/NadekoBot/Modules/Music/_common/Impl/RemoteTrackInfo.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Impl/RemoteTrackInfo.cs
rename to src/NadekoBot/Modules/Music/_common/Impl/RemoteTrackInfo.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Impl/SimpleTrackInfo.cs b/src/NadekoBot/Modules/Music/_common/Impl/SimpleTrackInfo.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Impl/SimpleTrackInfo.cs
rename to src/NadekoBot/Modules/Music/_common/Impl/SimpleTrackInfo.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Impl/TrackCacher.cs b/src/NadekoBot/Modules/Music/_common/Impl/TrackCacher.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Impl/TrackCacher.cs
rename to src/NadekoBot/Modules/Music/_common/Impl/TrackCacher.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Impl/VoiceProxy.cs b/src/NadekoBot/Modules/Music/_common/Impl/VoiceProxy.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Impl/VoiceProxy.cs
rename to src/NadekoBot/Modules/Music/_common/Impl/VoiceProxy.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Resolvers/LocalTrackResolver.cs b/src/NadekoBot/Modules/Music/_common/Resolvers/LocalTrackResolver.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Resolvers/LocalTrackResolver.cs
rename to src/NadekoBot/Modules/Music/_common/Resolvers/LocalTrackResolver.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Resolvers/RadioResolveStrategy.cs b/src/NadekoBot/Modules/Music/_common/Resolvers/RadioResolveStrategy.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Resolvers/RadioResolveStrategy.cs
rename to src/NadekoBot/Modules/Music/_common/Resolvers/RadioResolveStrategy.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Resolvers/TrackResolveProvider.cs b/src/NadekoBot/Modules/Music/_common/Resolvers/TrackResolveProvider.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Resolvers/TrackResolveProvider.cs
rename to src/NadekoBot/Modules/Music/_common/Resolvers/TrackResolveProvider.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/Resolvers/YtdlYoutubeResolver.cs b/src/NadekoBot/Modules/Music/_common/Resolvers/YtdlYoutubeResolver.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/Resolvers/YtdlYoutubeResolver.cs
rename to src/NadekoBot/Modules/Music/_common/Resolvers/YtdlYoutubeResolver.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/db/MusicPlayerSettingsExtensions.cs b/src/NadekoBot/Modules/Music/_common/db/MusicPlayerSettingsExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/db/MusicPlayerSettingsExtensions.cs
rename to src/NadekoBot/Modules/Music/_common/db/MusicPlayerSettingsExtensions.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/db/MusicPlaylist.cs b/src/NadekoBot/Modules/Music/_common/db/MusicPlaylist.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/db/MusicPlaylist.cs
rename to src/NadekoBot/Modules/Music/_common/db/MusicPlaylist.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/db/MusicPlaylistExtensions.cs b/src/NadekoBot/Modules/Music/_common/db/MusicPlaylistExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/db/MusicPlaylistExtensions.cs
rename to src/NadekoBot/Modules/Music/_common/db/MusicPlaylistExtensions.cs
diff --git a/src/Nadeko.Bot.Modules.Music/_common/db/MusicSettings.cs b/src/NadekoBot/Modules/Music/_common/db/MusicSettings.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Music/_common/db/MusicSettings.cs
rename to src/NadekoBot/Modules/Music/_common/db/MusicSettings.cs
diff --git a/src/Nadeko.Bot.Modules.Patronage/Patronage/Config/PatronageConfig.cs b/src/NadekoBot/Modules/Patronage/Config/PatronageConfig.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Patronage/Patronage/Config/PatronageConfig.cs
rename to src/NadekoBot/Modules/Patronage/Config/PatronageConfig.cs
diff --git a/src/Nadeko.Bot.Modules.Patronage/Patronage/CurrencyRewardService.cs b/src/NadekoBot/Modules/Patronage/CurrencyRewardService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Patronage/Patronage/CurrencyRewardService.cs
rename to src/NadekoBot/Modules/Patronage/CurrencyRewardService.cs
diff --git a/src/Nadeko.Bot.Modules.Patronage/Patronage/InsufficientTier.cs b/src/NadekoBot/Modules/Patronage/InsufficientTier.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Patronage/Patronage/InsufficientTier.cs
rename to src/NadekoBot/Modules/Patronage/InsufficientTier.cs
diff --git a/src/Nadeko.Bot.Modules.Patronage/Patronage/Patreon/PatreonClient.cs b/src/NadekoBot/Modules/Patronage/Patreon/PatreonClient.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Patronage/Patronage/Patreon/PatreonClient.cs
rename to src/NadekoBot/Modules/Patronage/Patreon/PatreonClient.cs
diff --git a/src/Nadeko.Bot.Modules.Patronage/Patronage/Patreon/PatreonCredentials.cs b/src/NadekoBot/Modules/Patronage/Patreon/PatreonCredentials.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Patronage/Patronage/Patreon/PatreonCredentials.cs
rename to src/NadekoBot/Modules/Patronage/Patreon/PatreonCredentials.cs
diff --git a/src/Nadeko.Bot.Modules.Patronage/Patronage/Patreon/PatreonData.cs b/src/NadekoBot/Modules/Patronage/Patreon/PatreonData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Patronage/Patronage/Patreon/PatreonData.cs
rename to src/NadekoBot/Modules/Patronage/Patreon/PatreonData.cs
diff --git a/src/Nadeko.Bot.Modules.Patronage/Patronage/Patreon/PatreonMemberData.cs b/src/NadekoBot/Modules/Patronage/Patreon/PatreonMemberData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Patronage/Patronage/Patreon/PatreonMemberData.cs
rename to src/NadekoBot/Modules/Patronage/Patreon/PatreonMemberData.cs
diff --git a/src/Nadeko.Bot.Modules.Patronage/Patronage/Patreon/PatreonRefreshData.cs b/src/NadekoBot/Modules/Patronage/Patreon/PatreonRefreshData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Patronage/Patronage/Patreon/PatreonRefreshData.cs
rename to src/NadekoBot/Modules/Patronage/Patreon/PatreonRefreshData.cs
diff --git a/src/Nadeko.Bot.Modules.Patronage/Patronage/Patreon/PatreonSubscriptionHandler.cs b/src/NadekoBot/Modules/Patronage/Patreon/PatreonSubscriptionHandler.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Patronage/Patronage/Patreon/PatreonSubscriptionHandler.cs
rename to src/NadekoBot/Modules/Patronage/Patreon/PatreonSubscriptionHandler.cs
diff --git a/src/Nadeko.Bot.Modules.Patronage/Patronage/PatronageCommands.cs b/src/NadekoBot/Modules/Patronage/PatronageCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Patronage/Patronage/PatronageCommands.cs
rename to src/NadekoBot/Modules/Patronage/PatronageCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Patronage/Patronage/PatronageService.cs b/src/NadekoBot/Modules/Patronage/PatronageService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Patronage/Patronage/PatronageService.cs
rename to src/NadekoBot/Modules/Patronage/PatronageService.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/Blacklist/BlacklistCommands.cs b/src/NadekoBot/Modules/Permissions/Blacklist/BlacklistCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/Blacklist/BlacklistCommands.cs
rename to src/NadekoBot/Modules/Permissions/Blacklist/BlacklistCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/CommandCooldown/CleverbotResponseCmdCdTypeReader.cs b/src/NadekoBot/Modules/Permissions/CommandCooldown/CleverbotResponseCmdCdTypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/CommandCooldown/CleverbotResponseCmdCdTypeReader.cs
rename to src/NadekoBot/Modules/Permissions/CommandCooldown/CleverbotResponseCmdCdTypeReader.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/CommandCooldown/CmdCdService.cs b/src/NadekoBot/Modules/Permissions/CommandCooldown/CmdCdService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/CommandCooldown/CmdCdService.cs
rename to src/NadekoBot/Modules/Permissions/CommandCooldown/CmdCdService.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/CommandCooldown/CmdCdsCommands.cs b/src/NadekoBot/Modules/Permissions/CommandCooldown/CmdCdsCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/CommandCooldown/CmdCdsCommands.cs
rename to src/NadekoBot/Modules/Permissions/CommandCooldown/CmdCdsCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/Filter/FilterCommands.cs b/src/NadekoBot/Modules/Permissions/Filter/FilterCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/Filter/FilterCommands.cs
rename to src/NadekoBot/Modules/Permissions/Filter/FilterCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/Filter/FilterService.cs b/src/NadekoBot/Modules/Permissions/Filter/FilterService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/Filter/FilterService.cs
rename to src/NadekoBot/Modules/Permissions/Filter/FilterService.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/Filter/ServerFilterSettings.cs b/src/NadekoBot/Modules/Permissions/Filter/ServerFilterSettings.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/Filter/ServerFilterSettings.cs
rename to src/NadekoBot/Modules/Permissions/Filter/ServerFilterSettings.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/GlobalPermissions/GlobalPermissionCommands.cs b/src/NadekoBot/Modules/Permissions/GlobalPermissions/GlobalPermissionCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/GlobalPermissions/GlobalPermissionCommands.cs
rename to src/NadekoBot/Modules/Permissions/GlobalPermissions/GlobalPermissionCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/GlobalPermissions/GlobalPermissionService.cs b/src/NadekoBot/Modules/Permissions/GlobalPermissions/GlobalPermissionService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/GlobalPermissions/GlobalPermissionService.cs
rename to src/NadekoBot/Modules/Permissions/GlobalPermissions/GlobalPermissionService.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/PermissionCache.cs b/src/NadekoBot/Modules/Permissions/PermissionCache.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/PermissionCache.cs
rename to src/NadekoBot/Modules/Permissions/PermissionCache.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/PermissionExtensions.cs b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/PermissionExtensions.cs
rename to src/NadekoBot/Modules/Permissions/PermissionExtensions.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/Permissions.cs
rename to src/NadekoBot/Modules/Permissions/Permissions.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/PermissionsCollection.cs b/src/NadekoBot/Modules/Permissions/PermissionsCollection.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/PermissionsCollection.cs
rename to src/NadekoBot/Modules/Permissions/PermissionsCollection.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/PermissionsService.cs b/src/NadekoBot/Modules/Permissions/PermissionsService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/PermissionsService.cs
rename to src/NadekoBot/Modules/Permissions/PermissionsService.cs
diff --git a/src/Nadeko.Bot.Modules.Permisssions/ResetPermissionsCommands.cs b/src/NadekoBot/Modules/Permissions/ResetPermissionsCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Permisssions/ResetPermissionsCommands.cs
rename to src/NadekoBot/Modules/Permissions/ResetPermissionsCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Anime/AnimeResult.cs b/src/NadekoBot/Modules/Searches/Anime/AnimeResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Anime/AnimeResult.cs
rename to src/NadekoBot/Modules/Searches/Anime/AnimeResult.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Anime/AnimeSearchCommands.cs b/src/NadekoBot/Modules/Searches/Anime/AnimeSearchCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Anime/AnimeSearchCommands.cs
rename to src/NadekoBot/Modules/Searches/Anime/AnimeSearchCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Anime/AnimeSearchService.cs b/src/NadekoBot/Modules/Searches/Anime/AnimeSearchService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Anime/AnimeSearchService.cs
rename to src/NadekoBot/Modules/Searches/Anime/AnimeSearchService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Anime/MangaResult.cs b/src/NadekoBot/Modules/Searches/Anime/MangaResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Anime/MangaResult.cs
rename to src/NadekoBot/Modules/Searches/Anime/MangaResult.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/CryptoCommands.cs b/src/NadekoBot/Modules/Searches/Crypto/CryptoCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/CryptoCommands.cs
rename to src/NadekoBot/Modules/Searches/Crypto/CryptoCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/CryptoService.cs b/src/NadekoBot/Modules/Searches/Crypto/CryptoService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/CryptoService.cs
rename to src/NadekoBot/Modules/Searches/Crypto/CryptoService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/DefaultStockDataService.cs b/src/NadekoBot/Modules/Searches/Crypto/DefaultStockDataService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/DefaultStockDataService.cs
rename to src/NadekoBot/Modules/Searches/Crypto/DefaultStockDataService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/Drawing/CandleDrawingData.cs b/src/NadekoBot/Modules/Searches/Crypto/Drawing/CandleDrawingData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/Drawing/CandleDrawingData.cs
rename to src/NadekoBot/Modules/Searches/Crypto/Drawing/CandleDrawingData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/Drawing/IStockChartDrawingService.cs b/src/NadekoBot/Modules/Searches/Crypto/Drawing/IStockChartDrawingService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/Drawing/IStockChartDrawingService.cs
rename to src/NadekoBot/Modules/Searches/Crypto/Drawing/IStockChartDrawingService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/Drawing/ImagesharpStockChartDrawingService.cs b/src/NadekoBot/Modules/Searches/Crypto/Drawing/ImagesharpStockChartDrawingService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/Drawing/ImagesharpStockChartDrawingService.cs
rename to src/NadekoBot/Modules/Searches/Crypto/Drawing/ImagesharpStockChartDrawingService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/IStockDataService.cs b/src/NadekoBot/Modules/Searches/Crypto/IStockDataService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/IStockDataService.cs
rename to src/NadekoBot/Modules/Searches/Crypto/IStockDataService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/Polygon/FinnHubSearchResponse.cs b/src/NadekoBot/Modules/Searches/Crypto/Polygon/FinnHubSearchResponse.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/Polygon/FinnHubSearchResponse.cs
rename to src/NadekoBot/Modules/Searches/Crypto/Polygon/FinnHubSearchResponse.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/Polygon/FinnHubSearchResult.cs b/src/NadekoBot/Modules/Searches/Crypto/Polygon/FinnHubSearchResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/Polygon/FinnHubSearchResult.cs
rename to src/NadekoBot/Modules/Searches/Crypto/Polygon/FinnHubSearchResult.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/Polygon/PolygonApiClient.cs b/src/NadekoBot/Modules/Searches/Crypto/Polygon/PolygonApiClient.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/Polygon/PolygonApiClient.cs
rename to src/NadekoBot/Modules/Searches/Crypto/Polygon/PolygonApiClient.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/Polygon/PolygonStockDataService.cs b/src/NadekoBot/Modules/Searches/Crypto/Polygon/PolygonStockDataService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/Polygon/PolygonStockDataService.cs
rename to src/NadekoBot/Modules/Searches/Crypto/Polygon/PolygonStockDataService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/Polygon/PolygonTickerData.cs b/src/NadekoBot/Modules/Searches/Crypto/Polygon/PolygonTickerData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/Polygon/PolygonTickerData.cs
rename to src/NadekoBot/Modules/Searches/Crypto/Polygon/PolygonTickerData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/Polygon/PolygonTickerResponse.cs b/src/NadekoBot/Modules/Searches/Crypto/Polygon/PolygonTickerResponse.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/Polygon/PolygonTickerResponse.cs
rename to src/NadekoBot/Modules/Searches/Crypto/Polygon/PolygonTickerResponse.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/_common/CandleData.cs b/src/NadekoBot/Modules/Searches/Crypto/_common/CandleData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/_common/CandleData.cs
rename to src/NadekoBot/Modules/Searches/Crypto/_common/CandleData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/_common/ImageData.cs b/src/NadekoBot/Modules/Searches/Crypto/_common/ImageData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/_common/ImageData.cs
rename to src/NadekoBot/Modules/Searches/Crypto/_common/ImageData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/_common/QuoteResponse.cs b/src/NadekoBot/Modules/Searches/Crypto/_common/QuoteResponse.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/_common/QuoteResponse.cs
rename to src/NadekoBot/Modules/Searches/Crypto/_common/QuoteResponse.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/_common/StockData.cs b/src/NadekoBot/Modules/Searches/Crypto/_common/StockData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/_common/StockData.cs
rename to src/NadekoBot/Modules/Searches/Crypto/_common/StockData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/_common/SymbolData.cs b/src/NadekoBot/Modules/Searches/Crypto/_common/SymbolData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/_common/SymbolData.cs
rename to src/NadekoBot/Modules/Searches/Crypto/_common/SymbolData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/_common/YahooFinanceCandleData.cs b/src/NadekoBot/Modules/Searches/Crypto/_common/YahooFinanceCandleData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/_common/YahooFinanceCandleData.cs
rename to src/NadekoBot/Modules/Searches/Crypto/_common/YahooFinanceCandleData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/_common/YahooFinanceSearchResponse.cs b/src/NadekoBot/Modules/Searches/Crypto/_common/YahooFinanceSearchResponse.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/_common/YahooFinanceSearchResponse.cs
rename to src/NadekoBot/Modules/Searches/Crypto/_common/YahooFinanceSearchResponse.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/_common/YahooFinanceSearchResponseItem.cs b/src/NadekoBot/Modules/Searches/Crypto/_common/YahooFinanceSearchResponseItem.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/_common/YahooFinanceSearchResponseItem.cs
rename to src/NadekoBot/Modules/Searches/Crypto/_common/YahooFinanceSearchResponseItem.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Crypto/_common/YahooQueryModel.cs b/src/NadekoBot/Modules/Searches/Crypto/_common/YahooQueryModel.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Crypto/_common/YahooQueryModel.cs
rename to src/NadekoBot/Modules/Searches/Crypto/_common/YahooQueryModel.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Feeds/FeedCommands.cs b/src/NadekoBot/Modules/Searches/Feeds/FeedCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Feeds/FeedCommands.cs
rename to src/NadekoBot/Modules/Searches/Feeds/FeedCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Feeds/FeedsService.cs b/src/NadekoBot/Modules/Searches/Feeds/FeedsService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Feeds/FeedsService.cs
rename to src/NadekoBot/Modules/Searches/Feeds/FeedsService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/JokeCommands.cs b/src/NadekoBot/Modules/Searches/JokeCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/JokeCommands.cs
rename to src/NadekoBot/Modules/Searches/JokeCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/MemegenCommands.cs b/src/NadekoBot/Modules/Searches/MemegenCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/MemegenCommands.cs
rename to src/NadekoBot/Modules/Searches/MemegenCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/OsuCommands.cs b/src/NadekoBot/Modules/Searches/OsuCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/OsuCommands.cs
rename to src/NadekoBot/Modules/Searches/OsuCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/PathOfExileCommands.cs b/src/NadekoBot/Modules/Searches/PathOfExileCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/PathOfExileCommands.cs
rename to src/NadekoBot/Modules/Searches/PathOfExileCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/PlaceCommands.cs b/src/NadekoBot/Modules/Searches/PlaceCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/PlaceCommands.cs
rename to src/NadekoBot/Modules/Searches/PlaceCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/PokemonSearchCommands.cs b/src/NadekoBot/Modules/Searches/PokemonSearchCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/PokemonSearchCommands.cs
rename to src/NadekoBot/Modules/Searches/PokemonSearchCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/DefaultSearchServiceFactory.cs b/src/NadekoBot/Modules/Searches/Search/DefaultSearchServiceFactory.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/DefaultSearchServiceFactory.cs
rename to src/NadekoBot/Modules/Searches/Search/DefaultSearchServiceFactory.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/DuckDuckGoScrape/DuckDuckGoSeachService.cs b/src/NadekoBot/Modules/Searches/Search/DuckDuckGoScrape/DuckDuckGoSeachService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/DuckDuckGoScrape/DuckDuckGoSeachService.cs
rename to src/NadekoBot/Modules/Searches/Search/DuckDuckGoScrape/DuckDuckGoSeachService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Google/GoogleCustomSearchResult.cs b/src/NadekoBot/Modules/Searches/Search/Google/GoogleCustomSearchResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Google/GoogleCustomSearchResult.cs
rename to src/NadekoBot/Modules/Searches/Search/Google/GoogleCustomSearchResult.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Google/GoogleImageData.cs b/src/NadekoBot/Modules/Searches/Search/Google/GoogleImageData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Google/GoogleImageData.cs
rename to src/NadekoBot/Modules/Searches/Search/Google/GoogleImageData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Google/GoogleImageResult.cs b/src/NadekoBot/Modules/Searches/Search/Google/GoogleImageResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Google/GoogleImageResult.cs
rename to src/NadekoBot/Modules/Searches/Search/Google/GoogleImageResult.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Google/GoogleImageResultEntry.cs b/src/NadekoBot/Modules/Searches/Search/Google/GoogleImageResultEntry.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Google/GoogleImageResultEntry.cs
rename to src/NadekoBot/Modules/Searches/Search/Google/GoogleImageResultEntry.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Google/GoogleSearchResultInformation.cs b/src/NadekoBot/Modules/Searches/Search/Google/GoogleSearchResultInformation.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Google/GoogleSearchResultInformation.cs
rename to src/NadekoBot/Modules/Searches/Search/Google/GoogleSearchResultInformation.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Google/GoogleSearchService.cs b/src/NadekoBot/Modules/Searches/Search/Google/GoogleSearchService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Google/GoogleSearchService.cs
rename to src/NadekoBot/Modules/Searches/Search/Google/GoogleSearchService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Google/OfficialGoogleSearchResultEntry.cs b/src/NadekoBot/Modules/Searches/Search/Google/OfficialGoogleSearchResultEntry.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Google/OfficialGoogleSearchResultEntry.cs
rename to src/NadekoBot/Modules/Searches/Search/Google/OfficialGoogleSearchResultEntry.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/GoogleScrape/GoogleScrapeService.cs b/src/NadekoBot/Modules/Searches/Search/GoogleScrape/GoogleScrapeService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/GoogleScrape/GoogleScrapeService.cs
rename to src/NadekoBot/Modules/Searches/Search/GoogleScrape/GoogleScrapeService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/GoogleScrape/PlainGoogleScrapeSearchResult.cs b/src/NadekoBot/Modules/Searches/Search/GoogleScrape/PlainGoogleScrapeSearchResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/GoogleScrape/PlainGoogleScrapeSearchResult.cs
rename to src/NadekoBot/Modules/Searches/Search/GoogleScrape/PlainGoogleScrapeSearchResult.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/GoogleScrape/PlainSearchResultEntry.cs b/src/NadekoBot/Modules/Searches/Search/GoogleScrape/PlainSearchResultEntry.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/GoogleScrape/PlainSearchResultEntry.cs
rename to src/NadekoBot/Modules/Searches/Search/GoogleScrape/PlainSearchResultEntry.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/GoogleScrape/PlainSearchResultInfo.cs b/src/NadekoBot/Modules/Searches/Search/GoogleScrape/PlainSearchResultInfo.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/GoogleScrape/PlainSearchResultInfo.cs
rename to src/NadekoBot/Modules/Searches/Search/GoogleScrape/PlainSearchResultInfo.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/IImageSearchResult.cs b/src/NadekoBot/Modules/Searches/Search/IImageSearchResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/IImageSearchResult.cs
rename to src/NadekoBot/Modules/Searches/Search/IImageSearchResult.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/ISearchResult.cs b/src/NadekoBot/Modules/Searches/Search/ISearchResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/ISearchResult.cs
rename to src/NadekoBot/Modules/Searches/Search/ISearchResult.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/ISearchResultEntry.cs b/src/NadekoBot/Modules/Searches/Search/ISearchResultEntry.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/ISearchResultEntry.cs
rename to src/NadekoBot/Modules/Searches/Search/ISearchResultEntry.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/ISearchResultInformation.cs b/src/NadekoBot/Modules/Searches/Search/ISearchResultInformation.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/ISearchResultInformation.cs
rename to src/NadekoBot/Modules/Searches/Search/ISearchResultInformation.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/ISearchService.cs b/src/NadekoBot/Modules/Searches/Search/ISearchService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/ISearchService.cs
rename to src/NadekoBot/Modules/Searches/Search/ISearchService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/ISearchServiceFactory.cs b/src/NadekoBot/Modules/Searches/Search/ISearchServiceFactory.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/ISearchServiceFactory.cs
rename to src/NadekoBot/Modules/Searches/Search/ISearchServiceFactory.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/SearchCommands.cs b/src/NadekoBot/Modules/Searches/Search/SearchCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/SearchCommands.cs
rename to src/NadekoBot/Modules/Searches/Search/SearchCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/SearchServiceBase.cs b/src/NadekoBot/Modules/Searches/Search/SearchServiceBase.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/SearchServiceBase.cs
rename to src/NadekoBot/Modules/Searches/Search/SearchServiceBase.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxImageSearchResult.cs b/src/NadekoBot/Modules/Searches/Search/Searx/SearxImageSearchResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxImageSearchResult.cs
rename to src/NadekoBot/Modules/Searches/Search/Searx/SearxImageSearchResult.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxImageSearchResultEntry.cs b/src/NadekoBot/Modules/Searches/Search/Searx/SearxImageSearchResultEntry.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxImageSearchResultEntry.cs
rename to src/NadekoBot/Modules/Searches/Search/Searx/SearxImageSearchResultEntry.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxInfobox.cs b/src/NadekoBot/Modules/Searches/Search/Searx/SearxInfobox.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxInfobox.cs
rename to src/NadekoBot/Modules/Searches/Search/Searx/SearxInfobox.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxSearchAttribute.cs b/src/NadekoBot/Modules/Searches/Search/Searx/SearxSearchAttribute.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxSearchAttribute.cs
rename to src/NadekoBot/Modules/Searches/Search/Searx/SearxSearchAttribute.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxSearchResult.cs b/src/NadekoBot/Modules/Searches/Search/Searx/SearxSearchResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxSearchResult.cs
rename to src/NadekoBot/Modules/Searches/Search/Searx/SearxSearchResult.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxSearchResultEntry.cs b/src/NadekoBot/Modules/Searches/Search/Searx/SearxSearchResultEntry.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxSearchResultEntry.cs
rename to src/NadekoBot/Modules/Searches/Search/Searx/SearxSearchResultEntry.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxSearchResultInformation.cs b/src/NadekoBot/Modules/Searches/Search/Searx/SearxSearchResultInformation.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxSearchResultInformation.cs
rename to src/NadekoBot/Modules/Searches/Search/Searx/SearxSearchResultInformation.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxSearchService.cs b/src/NadekoBot/Modules/Searches/Search/Searx/SearxSearchService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxSearchService.cs
rename to src/NadekoBot/Modules/Searches/Search/Searx/SearxSearchService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxUrlData.cs b/src/NadekoBot/Modules/Searches/Search/Searx/SearxUrlData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Searx/SearxUrlData.cs
rename to src/NadekoBot/Modules/Searches/Search/Searx/SearxUrlData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Youtube/IYoutubeSearchService.cs b/src/NadekoBot/Modules/Searches/Search/Youtube/IYoutubeSearchService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Youtube/IYoutubeSearchService.cs
rename to src/NadekoBot/Modules/Searches/Search/Youtube/IYoutubeSearchService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Youtube/InvidiousSearchResponse.cs b/src/NadekoBot/Modules/Searches/Search/Youtube/InvidiousSearchResponse.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Youtube/InvidiousSearchResponse.cs
rename to src/NadekoBot/Modules/Searches/Search/Youtube/InvidiousSearchResponse.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Youtube/InvidiousYtSearchService.cs b/src/NadekoBot/Modules/Searches/Search/Youtube/InvidiousYtSearchService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Youtube/InvidiousYtSearchService.cs
rename to src/NadekoBot/Modules/Searches/Search/Youtube/InvidiousYtSearchService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Youtube/VideoInfo.cs b/src/NadekoBot/Modules/Searches/Search/Youtube/VideoInfo.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Youtube/VideoInfo.cs
rename to src/NadekoBot/Modules/Searches/Search/Youtube/VideoInfo.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Youtube/YoutubeDataApiSearchService.cs b/src/NadekoBot/Modules/Searches/Search/Youtube/YoutubeDataApiSearchService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Youtube/YoutubeDataApiSearchService.cs
rename to src/NadekoBot/Modules/Searches/Search/Youtube/YoutubeDataApiSearchService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Youtube/YtdlYoutubeSearchService.cs b/src/NadekoBot/Modules/Searches/Search/Youtube/YtdlYoutubeSearchService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Youtube/YtdlYoutubeSearchService.cs
rename to src/NadekoBot/Modules/Searches/Search/Youtube/YtdlYoutubeSearchService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Youtube/YtdlpYoutubeSearchService.cs b/src/NadekoBot/Modules/Searches/Search/Youtube/YtdlpYoutubeSearchService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Youtube/YtdlpYoutubeSearchService.cs
rename to src/NadekoBot/Modules/Searches/Search/Youtube/YtdlpYoutubeSearchService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Search/Youtube/YtdlxServiceBase.cs b/src/NadekoBot/Modules/Searches/Search/Youtube/YtdlxServiceBase.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Search/Youtube/YtdlxServiceBase.cs
rename to src/NadekoBot/Modules/Searches/Search/Youtube/YtdlxServiceBase.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Searches.cs b/src/NadekoBot/Modules/Searches/Searches.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Searches.cs
rename to src/NadekoBot/Modules/Searches/Searches.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/SearchesService.cs b/src/NadekoBot/Modules/Searches/SearchesService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/SearchesService.cs
rename to src/NadekoBot/Modules/Searches/SearchesService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/StreamNotification/StreamNotificationCommands.cs b/src/NadekoBot/Modules/Searches/StreamNotification/StreamNotificationCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/StreamNotification/StreamNotificationCommands.cs
rename to src/NadekoBot/Modules/Searches/StreamNotification/StreamNotificationCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/StreamNotification/StreamNotificationService.cs b/src/NadekoBot/Modules/Searches/StreamNotification/StreamNotificationService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/StreamNotification/StreamNotificationService.cs
rename to src/NadekoBot/Modules/Searches/StreamNotification/StreamNotificationService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/StreamNotification/StreamOnlineMessageDeleterService.cs b/src/NadekoBot/Modules/Searches/StreamNotification/StreamOnlineMessageDeleterService.cs
similarity index 96%
rename from src/Nadeko.Bot.Modules.Searches/StreamNotification/StreamOnlineMessageDeleterService.cs
rename to src/NadekoBot/Modules/Searches/StreamNotification/StreamOnlineMessageDeleterService.cs
index dbcd3b1cf..fe7059a8c 100644
--- a/src/Nadeko.Bot.Modules.Searches/StreamNotification/StreamOnlineMessageDeleterService.cs
+++ b/src/NadekoBot/Modules/Searches/StreamNotification/StreamOnlineMessageDeleterService.cs
@@ -1,99 +1,99 @@
-#nullable disable
-using LinqToDB;
-using LinqToDB.EntityFrameworkCore;
-using NadekoBot.Common.ModuleBehaviors;
-using NadekoBot.Db.Models;
-using NadekoBot.Modules.Searches.Common;
-
-namespace NadekoBot.Modules.Searches.Services;
-
-public sealed class StreamOnlineMessageDeleterService : INService, IReadyExecutor
-{
- private readonly StreamNotificationService _notifService;
- private readonly DbService _db;
- private readonly DiscordSocketClient _client;
- private readonly IPubSub _pubSub;
-
- public StreamOnlineMessageDeleterService(
- StreamNotificationService notifService,
- DbService db,
- IPubSub pubSub,
- DiscordSocketClient client)
- {
- _notifService = notifService;
- _db = db;
- _client = client;
- _pubSub = pubSub;
- }
-
- public async Task OnReadyAsync()
- {
- _notifService.OnlineMessagesSent += OnOnlineMessagesSent;
-
- if (_client.ShardId == 0)
- await _pubSub.Sub(_notifService.StreamsOfflineKey, OnStreamsOffline);
- }
-
- private async Task OnOnlineMessagesSent(
- FollowedStream.FType type,
- string name,
- IReadOnlyCollection<(ulong, ulong)> pairs)
- {
- await using var ctx = _db.GetDbContext();
- foreach (var (channelId, messageId) in pairs)
- {
- await ctx.GetTable()
- .InsertAsync(() => new()
- {
- Name = name,
- Type = type,
- MessageId = messageId,
- ChannelId = channelId,
- DateAdded = DateTime.UtcNow,
- });
- }
- }
-
- private async ValueTask OnStreamsOffline(List streamDatas)
- {
- if (_client.ShardId != 0)
- return;
-
- var pairs = await GetMessagesToDelete(streamDatas);
-
- foreach (var (channelId, messageId) in pairs)
- {
- try
- {
- var textChannel = await _client.GetChannelAsync(channelId) as ITextChannel;
- if (textChannel is null)
- continue;
-
- await textChannel.DeleteMessageAsync(messageId);
- }
- catch
- {
- continue;
- }
- }
- }
-
- private async Task> GetMessagesToDelete(List streamDatas)
- {
- await using var ctx = _db.GetDbContext();
-
- var toReturn = new List<(ulong, ulong)>();
- foreach (var sd in streamDatas)
- {
- var key = sd.CreateKey();
- var toDelete = await ctx.GetTable()
- .Where(x => (x.Type == key.Type && x.Name == key.Name)
- || Sql.DateDiff(Sql.DateParts.Day, x.DateAdded, DateTime.UtcNow) > 1)
- .DeleteWithOutputAsync();
-
- toReturn.AddRange(toDelete.Select(x => (x.ChannelId, x.MessageId)));
- }
-
- return toReturn;
- }
+#nullable disable
+using LinqToDB;
+using LinqToDB.EntityFrameworkCore;
+using NadekoBot.Common.ModuleBehaviors;
+using NadekoBot.Db.Models;
+using NadekoBot.Modules.Searches.Common;
+
+namespace NadekoBot.Modules.Searches.Services;
+
+public sealed class StreamOnlineMessageDeleterService : INService, IReadyExecutor
+{
+ private readonly StreamNotificationService _notifService;
+ private readonly DbService _db;
+ private readonly DiscordSocketClient _client;
+ private readonly IPubSub _pubSub;
+
+ public StreamOnlineMessageDeleterService(
+ StreamNotificationService notifService,
+ DbService db,
+ IPubSub pubSub,
+ DiscordSocketClient client)
+ {
+ _notifService = notifService;
+ _db = db;
+ _client = client;
+ _pubSub = pubSub;
+ }
+
+ public async Task OnReadyAsync()
+ {
+ _notifService.OnlineMessagesSent += OnOnlineMessagesSent;
+
+ if (_client.ShardId == 0)
+ await _pubSub.Sub(_notifService.StreamsOfflineKey, OnStreamsOffline);
+ }
+
+ private async Task OnOnlineMessagesSent(
+ FollowedStream.FType type,
+ string name,
+ IReadOnlyCollection<(ulong, ulong)> pairs)
+ {
+ await using var ctx = _db.GetDbContext();
+ foreach (var (channelId, messageId) in pairs)
+ {
+ await ctx.GetTable()
+ .InsertAsync(() => new()
+ {
+ Name = name,
+ Type = type,
+ MessageId = messageId,
+ ChannelId = channelId,
+ DateAdded = DateTime.UtcNow,
+ });
+ }
+ }
+
+ private async ValueTask OnStreamsOffline(List streamDatas)
+ {
+ if (_client.ShardId != 0)
+ return;
+
+ var pairs = await GetMessagesToDelete(streamDatas);
+
+ foreach (var (channelId, messageId) in pairs)
+ {
+ try
+ {
+ var textChannel = await _client.GetChannelAsync(channelId) as ITextChannel;
+ if (textChannel is null)
+ continue;
+
+ await textChannel.DeleteMessageAsync(messageId);
+ }
+ catch
+ {
+ continue;
+ }
+ }
+ }
+
+ private async Task> GetMessagesToDelete(List streamDatas)
+ {
+ await using var ctx = _db.GetDbContext();
+
+ var toReturn = new List<(ulong, ulong)>();
+ foreach (var sd in streamDatas)
+ {
+ var key = sd.CreateKey();
+ var toDelete = await ctx.GetTable()
+ .Where(x => (x.Type == key.Type && x.Name == key.Name)
+ || Sql.DateDiff(Sql.DateParts.Day, x.DateAdded, DateTime.UtcNow) > 1)
+ .DeleteWithOutputAsync();
+
+ toReturn.AddRange(toDelete.Select(x => (x.ChannelId, x.MessageId)));
+ }
+
+ return toReturn;
+ }
}
\ No newline at end of file
diff --git a/src/Nadeko.Bot.Modules.Searches/Translate/ITranslateService.cs b/src/NadekoBot/Modules/Searches/Translate/ITranslateService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Translate/ITranslateService.cs
rename to src/NadekoBot/Modules/Searches/Translate/ITranslateService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Translate/TranslateService.cs b/src/NadekoBot/Modules/Searches/Translate/TranslateService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Translate/TranslateService.cs
rename to src/NadekoBot/Modules/Searches/Translate/TranslateService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/Translate/TranslatorCommands.cs b/src/NadekoBot/Modules/Searches/Translate/TranslatorCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/Translate/TranslatorCommands.cs
rename to src/NadekoBot/Modules/Searches/Translate/TranslatorCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/XkcdCommands.cs b/src/NadekoBot/Modules/Searches/XkcdCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/XkcdCommands.cs
rename to src/NadekoBot/Modules/Searches/XkcdCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/YoutubeTrack/YtTrackService.cs b/src/NadekoBot/Modules/Searches/YoutubeTrack/YtTrackService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/YoutubeTrack/YtTrackService.cs
rename to src/NadekoBot/Modules/Searches/YoutubeTrack/YtTrackService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/YoutubeTrack/YtUploadCommands.cs b/src/NadekoBot/Modules/Searches/YoutubeTrack/YtUploadCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/YoutubeTrack/YtUploadCommands.cs
rename to src/NadekoBot/Modules/Searches/YoutubeTrack/YtUploadCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/AtlExtensions.cs b/src/NadekoBot/Modules/Searches/_common/AtlExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/AtlExtensions.cs
rename to src/NadekoBot/Modules/Searches/_common/AtlExtensions.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/BibleVerses.cs b/src/NadekoBot/Modules/Searches/_common/BibleVerses.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/BibleVerses.cs
rename to src/NadekoBot/Modules/Searches/_common/BibleVerses.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/Config/ImgSearchEngine.cs b/src/NadekoBot/Modules/Searches/_common/Config/ImgSearchEngine.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/Config/ImgSearchEngine.cs
rename to src/NadekoBot/Modules/Searches/_common/Config/ImgSearchEngine.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/Config/SearchesConfig.cs b/src/NadekoBot/Modules/Searches/_common/Config/SearchesConfig.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/Config/SearchesConfig.cs
rename to src/NadekoBot/Modules/Searches/_common/Config/SearchesConfig.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/Config/SearchesConfigService.cs b/src/NadekoBot/Modules/Searches/_common/Config/SearchesConfigService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/Config/SearchesConfigService.cs
rename to src/NadekoBot/Modules/Searches/_common/Config/SearchesConfigService.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/Config/WebSearchEngine.cs b/src/NadekoBot/Modules/Searches/_common/Config/WebSearchEngine.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/Config/WebSearchEngine.cs
rename to src/NadekoBot/Modules/Searches/_common/Config/WebSearchEngine.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/CryptoData.cs b/src/NadekoBot/Modules/Searches/_common/CryptoData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/CryptoData.cs
rename to src/NadekoBot/Modules/Searches/_common/CryptoData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/DefineModel.cs b/src/NadekoBot/Modules/Searches/_common/DefineModel.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/DefineModel.cs
rename to src/NadekoBot/Modules/Searches/_common/DefineModel.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/E621Object.cs b/src/NadekoBot/Modules/Searches/_common/E621Object.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/E621Object.cs
rename to src/NadekoBot/Modules/Searches/_common/E621Object.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/Exceptions/StreamNotFoundException.cs b/src/NadekoBot/Modules/Searches/_common/Exceptions/StreamNotFoundException.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/Exceptions/StreamNotFoundException.cs
rename to src/NadekoBot/Modules/Searches/_common/Exceptions/StreamNotFoundException.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/Extensions.cs b/src/NadekoBot/Modules/Searches/_common/Extensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/Extensions.cs
rename to src/NadekoBot/Modules/Searches/_common/Extensions.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/Gallery.cs b/src/NadekoBot/Modules/Searches/_common/Gallery.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/Gallery.cs
rename to src/NadekoBot/Modules/Searches/_common/Gallery.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/GatariUserResponse.cs b/src/NadekoBot/Modules/Searches/_common/GatariUserResponse.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/GatariUserResponse.cs
rename to src/NadekoBot/Modules/Searches/_common/GatariUserResponse.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/GatariUserStatsResponse.cs b/src/NadekoBot/Modules/Searches/_common/GatariUserStatsResponse.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/GatariUserStatsResponse.cs
rename to src/NadekoBot/Modules/Searches/_common/GatariUserStatsResponse.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/GoogleSearchResult.cs b/src/NadekoBot/Modules/Searches/_common/GoogleSearchResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/GoogleSearchResult.cs
rename to src/NadekoBot/Modules/Searches/_common/GoogleSearchResult.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/HearthstoneCardData.cs b/src/NadekoBot/Modules/Searches/_common/HearthstoneCardData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/HearthstoneCardData.cs
rename to src/NadekoBot/Modules/Searches/_common/HearthstoneCardData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/LowerCaseNamingPolicy.cs b/src/NadekoBot/Modules/Searches/_common/LowerCaseNamingPolicy.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/LowerCaseNamingPolicy.cs
rename to src/NadekoBot/Modules/Searches/_common/LowerCaseNamingPolicy.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/MagicItem.cs b/src/NadekoBot/Modules/Searches/_common/MagicItem.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/MagicItem.cs
rename to src/NadekoBot/Modules/Searches/_common/MagicItem.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/MtgData.cs b/src/NadekoBot/Modules/Searches/_common/MtgData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/MtgData.cs
rename to src/NadekoBot/Modules/Searches/_common/MtgData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/NovelData.cs b/src/NadekoBot/Modules/Searches/_common/NovelData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/NovelData.cs
rename to src/NadekoBot/Modules/Searches/_common/NovelData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/OmdbMovie.cs b/src/NadekoBot/Modules/Searches/_common/OmdbMovie.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/OmdbMovie.cs
rename to src/NadekoBot/Modules/Searches/_common/OmdbMovie.cs
diff --git a/src/Nadeko.Bot.Common/_common/OsuMapData.cs b/src/NadekoBot/Modules/Searches/_common/OsuMapData.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/OsuMapData.cs
rename to src/NadekoBot/Modules/Searches/_common/OsuMapData.cs
diff --git a/src/Nadeko.Bot.Common/_common/OsuUserBets.cs b/src/NadekoBot/Modules/Searches/_common/OsuUserBets.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/OsuUserBets.cs
rename to src/NadekoBot/Modules/Searches/_common/OsuUserBets.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/OsuUserData.cs b/src/NadekoBot/Modules/Searches/_common/OsuUserData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/OsuUserData.cs
rename to src/NadekoBot/Modules/Searches/_common/OsuUserData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/PathOfExileModels.cs b/src/NadekoBot/Modules/Searches/_common/PathOfExileModels.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/PathOfExileModels.cs
rename to src/NadekoBot/Modules/Searches/_common/PathOfExileModels.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/SteamGameId.cs b/src/NadekoBot/Modules/Searches/_common/SteamGameId.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/SteamGameId.cs
rename to src/NadekoBot/Modules/Searches/_common/SteamGameId.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/HelixStreamsResponse.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/HelixStreamsResponse.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/HelixStreamsResponse.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/HelixStreamsResponse.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/HelixUsersResponse.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/HelixUsersResponse.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/HelixUsersResponse.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/HelixUsersResponse.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/PicartoChannelResponse.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/PicartoChannelResponse.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/PicartoChannelResponse.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/PicartoChannelResponse.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/StreamData.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/StreamData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/StreamData.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/StreamData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/StreamDataKey.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/StreamDataKey.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/StreamDataKey.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/StreamDataKey.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/TrovoGetUsersResponse.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/TrovoGetUsersResponse.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/TrovoGetUsersResponse.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/TrovoGetUsersResponse.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/TrovoRequestData.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/TrovoRequestData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/TrovoRequestData.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/TrovoRequestData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/TrovoSocialLink.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/TrovoSocialLink.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/TrovoSocialLink.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/TrovoSocialLink.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/TwitchResponseV5.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/TwitchResponseV5.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/TwitchResponseV5.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/TwitchResponseV5.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/TwitchUsersResponseV5.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/TwitchUsersResponseV5.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Models/TwitchUsersResponseV5.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Models/TwitchUsersResponseV5.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/NotifChecker.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/NotifChecker.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/NotifChecker.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/NotifChecker.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Providers/PicartoProvider.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Providers/PicartoProvider.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Providers/PicartoProvider.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Providers/PicartoProvider.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Providers/Provider.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Providers/Provider.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Providers/Provider.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Providers/Provider.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Providers/TrovoProvider.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Providers/TrovoProvider.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Providers/TrovoProvider.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Providers/TrovoProvider.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Providers/TwitchHelixProvider.cs b/src/NadekoBot/Modules/Searches/_common/StreamNotifications/Providers/TwitchHelixProvider.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/StreamNotifications/Providers/TwitchHelixProvider.cs
rename to src/NadekoBot/Modules/Searches/_common/StreamNotifications/Providers/TwitchHelixProvider.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/TimeData.cs b/src/NadekoBot/Modules/Searches/_common/TimeData.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/TimeData.cs
rename to src/NadekoBot/Modules/Searches/_common/TimeData.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/TimeModels.cs b/src/NadekoBot/Modules/Searches/_common/TimeModels.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/TimeModels.cs
rename to src/NadekoBot/Modules/Searches/_common/TimeModels.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/UrbanDef.cs b/src/NadekoBot/Modules/Searches/_common/UrbanDef.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/UrbanDef.cs
rename to src/NadekoBot/Modules/Searches/_common/UrbanDef.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/WeatherModels.cs b/src/NadekoBot/Modules/Searches/_common/WeatherModels.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/WeatherModels.cs
rename to src/NadekoBot/Modules/Searches/_common/WeatherModels.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/WikipediaApiModel.cs b/src/NadekoBot/Modules/Searches/_common/WikipediaApiModel.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/WikipediaApiModel.cs
rename to src/NadekoBot/Modules/Searches/_common/WikipediaApiModel.cs
diff --git a/src/Nadeko.Bot.Modules.Searches/_common/WoWJoke.cs b/src/NadekoBot/Modules/Searches/_common/WoWJoke.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Searches/_common/WoWJoke.cs
rename to src/NadekoBot/Modules/Searches/_common/WoWJoke.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Alias/AliasCommands.cs b/src/NadekoBot/Modules/Utility/Alias/AliasCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Alias/AliasCommands.cs
rename to src/NadekoBot/Modules/Utility/Alias/AliasCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Alias/AliasService.cs b/src/NadekoBot/Modules/Utility/Alias/AliasService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Alias/AliasService.cs
rename to src/NadekoBot/Modules/Utility/Alias/AliasService.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Calc/CalcCommands.cs b/src/NadekoBot/Modules/Utility/Calc/CalcCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Calc/CalcCommands.cs
rename to src/NadekoBot/Modules/Utility/Calc/CalcCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/ConfigCommands.cs b/src/NadekoBot/Modules/Utility/ConfigCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/ConfigCommands.cs
rename to src/NadekoBot/Modules/Utility/ConfigCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Giveaway/GiveawayCommands.cs b/src/NadekoBot/Modules/Utility/Giveaway/GiveawayCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Giveaway/GiveawayCommands.cs
rename to src/NadekoBot/Modules/Utility/Giveaway/GiveawayCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Giveaway/GiveawayService.cs b/src/NadekoBot/Modules/Utility/Giveaway/GiveawayService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Giveaway/GiveawayService.cs
rename to src/NadekoBot/Modules/Utility/Giveaway/GiveawayService.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Info/InfoCommands.cs b/src/NadekoBot/Modules/Utility/Info/InfoCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Info/InfoCommands.cs
rename to src/NadekoBot/Modules/Utility/Info/InfoCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Info/InviteCommands.cs b/src/NadekoBot/Modules/Utility/Info/InviteCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Info/InviteCommands.cs
rename to src/NadekoBot/Modules/Utility/Info/InviteCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Invite/InviteService.cs b/src/NadekoBot/Modules/Utility/Invite/InviteService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Invite/InviteService.cs
rename to src/NadekoBot/Modules/Utility/Invite/InviteService.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Quote/IQuoteService.cs b/src/NadekoBot/Modules/Utility/Quote/IQuoteService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Quote/IQuoteService.cs
rename to src/NadekoBot/Modules/Utility/Quote/IQuoteService.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Quote/QuoteCommands.cs b/src/NadekoBot/Modules/Utility/Quote/QuoteCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Quote/QuoteCommands.cs
rename to src/NadekoBot/Modules/Utility/Quote/QuoteCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Quote/QuoteService.cs b/src/NadekoBot/Modules/Utility/Quote/QuoteService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Quote/QuoteService.cs
rename to src/NadekoBot/Modules/Utility/Quote/QuoteService.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Remind/RemindCommands.cs b/src/NadekoBot/Modules/Utility/Remind/RemindCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Remind/RemindCommands.cs
rename to src/NadekoBot/Modules/Utility/Remind/RemindCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Remind/RemindService.cs b/src/NadekoBot/Modules/Utility/Remind/RemindService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Remind/RemindService.cs
rename to src/NadekoBot/Modules/Utility/Remind/RemindService.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Repeater/RepeatCommands.cs b/src/NadekoBot/Modules/Utility/Repeater/RepeatCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Repeater/RepeatCommands.cs
rename to src/NadekoBot/Modules/Utility/Repeater/RepeatCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Repeater/RepeaterService.cs b/src/NadekoBot/Modules/Utility/Repeater/RepeaterService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Repeater/RepeaterService.cs
rename to src/NadekoBot/Modules/Utility/Repeater/RepeaterService.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Repeater/RunningRepeater.cs b/src/NadekoBot/Modules/Utility/Repeater/RunningRepeater.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Repeater/RunningRepeater.cs
rename to src/NadekoBot/Modules/Utility/Repeater/RunningRepeater.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/StreamRole/StreamRoleCommands.cs b/src/NadekoBot/Modules/Utility/StreamRole/StreamRoleCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/StreamRole/StreamRoleCommands.cs
rename to src/NadekoBot/Modules/Utility/StreamRole/StreamRoleCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/StreamRole/StreamRoleService.cs b/src/NadekoBot/Modules/Utility/StreamRole/StreamRoleService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/StreamRole/StreamRoleService.cs
rename to src/NadekoBot/Modules/Utility/StreamRole/StreamRoleService.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Todo/ArchiveTodoResult.cs b/src/NadekoBot/Modules/Utility/Todo/ArchiveTodoResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Todo/ArchiveTodoResult.cs
rename to src/NadekoBot/Modules/Utility/Todo/ArchiveTodoResult.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Todo/TodoAddResult.cs b/src/NadekoBot/Modules/Utility/Todo/TodoAddResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Todo/TodoAddResult.cs
rename to src/NadekoBot/Modules/Utility/Todo/TodoAddResult.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Todo/TodoCommands.cs b/src/NadekoBot/Modules/Utility/Todo/TodoCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Todo/TodoCommands.cs
rename to src/NadekoBot/Modules/Utility/Todo/TodoCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Todo/TodoService.cs b/src/NadekoBot/Modules/Utility/Todo/TodoService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Todo/TodoService.cs
rename to src/NadekoBot/Modules/Utility/Todo/TodoService.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/UnitConversion/ConverterService.cs b/src/NadekoBot/Modules/Utility/UnitConversion/ConverterService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/UnitConversion/ConverterService.cs
rename to src/NadekoBot/Modules/Utility/UnitConversion/ConverterService.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/UnitConversion/UnitConversionCommands.cs b/src/NadekoBot/Modules/Utility/UnitConversion/UnitConversionCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/UnitConversion/UnitConversionCommands.cs
rename to src/NadekoBot/Modules/Utility/UnitConversion/UnitConversionCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/Utility.cs b/src/NadekoBot/Modules/Utility/Utility.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/Utility.cs
rename to src/NadekoBot/Modules/Utility/Utility.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/VerboseErrorsService.cs b/src/NadekoBot/Modules/Utility/VerboseErrorsService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/VerboseErrorsService.cs
rename to src/NadekoBot/Modules/Utility/VerboseErrorsService.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/_common/ConvertUnit.cs b/src/NadekoBot/Modules/Utility/_common/ConvertUnit.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/_common/ConvertUnit.cs
rename to src/NadekoBot/Modules/Utility/_common/ConvertUnit.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/_common/EvalGlobals.cs b/src/NadekoBot/Modules/Utility/_common/EvalGlobals.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/_common/EvalGlobals.cs
rename to src/NadekoBot/Modules/Utility/_common/EvalGlobals.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/_common/Exceptions/StreamRoleNotFoundException.cs b/src/NadekoBot/Modules/Utility/_common/Exceptions/StreamRoleNotFoundException.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/_common/Exceptions/StreamRoleNotFoundException.cs
rename to src/NadekoBot/Modules/Utility/_common/Exceptions/StreamRoleNotFoundException.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/_common/Exceptions/StreamRolePermissionException.cs b/src/NadekoBot/Modules/Utility/_common/Exceptions/StreamRolePermissionException.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/_common/Exceptions/StreamRolePermissionException.cs
rename to src/NadekoBot/Modules/Utility/_common/Exceptions/StreamRolePermissionException.cs
diff --git a/src/Nadeko.Bot.Modules.Utility/_common/StreamRoleListType.cs b/src/NadekoBot/Modules/Utility/_common/StreamRoleListType.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Utility/_common/StreamRoleListType.cs
rename to src/NadekoBot/Modules/Utility/_common/StreamRoleListType.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/CleanupCommands.cs b/src/NadekoBot/Modules/Xp/CleanupCommands.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/CleanupCommands.cs
rename to src/NadekoBot/Modules/Xp/CleanupCommands.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Club/Club.cs b/src/NadekoBot/Modules/Xp/Club/Club.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Club/Club.cs
rename to src/NadekoBot/Modules/Xp/Club/Club.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Club/ClubService.cs b/src/NadekoBot/Modules/Xp/Club/ClubService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Club/ClubService.cs
rename to src/NadekoBot/Modules/Xp/Club/ClubService.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Club/IClubService.cs b/src/NadekoBot/Modules/Xp/Club/IClubService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Club/IClubService.cs
rename to src/NadekoBot/Modules/Xp/Club/IClubService.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Club/Results/ClubAcceptResult.cs b/src/NadekoBot/Modules/Xp/Club/Results/ClubAcceptResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Club/Results/ClubAcceptResult.cs
rename to src/NadekoBot/Modules/Xp/Club/Results/ClubAcceptResult.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Club/Results/ClubBanResult.cs b/src/NadekoBot/Modules/Xp/Club/Results/ClubBanResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Club/Results/ClubBanResult.cs
rename to src/NadekoBot/Modules/Xp/Club/Results/ClubBanResult.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Club/Results/ClubCreateResult.cs b/src/NadekoBot/Modules/Xp/Club/Results/ClubCreateResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Club/Results/ClubCreateResult.cs
rename to src/NadekoBot/Modules/Xp/Club/Results/ClubCreateResult.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Club/Results/ClubKickResult.cs b/src/NadekoBot/Modules/Xp/Club/Results/ClubKickResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Club/Results/ClubKickResult.cs
rename to src/NadekoBot/Modules/Xp/Club/Results/ClubKickResult.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Club/Results/ClubLeaveResult.cs b/src/NadekoBot/Modules/Xp/Club/Results/ClubLeaveResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Club/Results/ClubLeaveResult.cs
rename to src/NadekoBot/Modules/Xp/Club/Results/ClubLeaveResult.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Club/Results/ClubRenameResult.cs b/src/NadekoBot/Modules/Xp/Club/Results/ClubRenameResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Club/Results/ClubRenameResult.cs
rename to src/NadekoBot/Modules/Xp/Club/Results/ClubRenameResult.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Club/Results/ClubTransferError.cs b/src/NadekoBot/Modules/Xp/Club/Results/ClubTransferError.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Club/Results/ClubTransferError.cs
rename to src/NadekoBot/Modules/Xp/Club/Results/ClubTransferError.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Club/Results/ClubUnbanResult.cs b/src/NadekoBot/Modules/Xp/Club/Results/ClubUnbanResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Club/Results/ClubUnbanResult.cs
rename to src/NadekoBot/Modules/Xp/Club/Results/ClubUnbanResult.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Club/Results/SetClubIconResult.cs b/src/NadekoBot/Modules/Xp/Club/Results/SetClubIconResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Club/Results/SetClubIconResult.cs
rename to src/NadekoBot/Modules/Xp/Club/Results/SetClubIconResult.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Club/Results/ToggleAdminResult.cs b/src/NadekoBot/Modules/Xp/Club/Results/ToggleAdminResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Club/Results/ToggleAdminResult.cs
rename to src/NadekoBot/Modules/Xp/Club/Results/ToggleAdminResult.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/Xp.cs b/src/NadekoBot/Modules/Xp/Xp.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/Xp.cs
rename to src/NadekoBot/Modules/Xp/Xp.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/XpConfig.cs b/src/NadekoBot/Modules/Xp/XpConfig.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/XpConfig.cs
rename to src/NadekoBot/Modules/Xp/XpConfig.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/XpConfigService.cs b/src/NadekoBot/Modules/Xp/XpConfigService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/XpConfigService.cs
rename to src/NadekoBot/Modules/Xp/XpConfigService.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/XpRewards.cs b/src/NadekoBot/Modules/Xp/XpRewards.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/XpRewards.cs
rename to src/NadekoBot/Modules/Xp/XpRewards.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/XpService.cs b/src/NadekoBot/Modules/Xp/XpService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/XpService.cs
rename to src/NadekoBot/Modules/Xp/XpService.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/_common/Extensions.cs b/src/NadekoBot/Modules/Xp/_common/Extensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/_common/Extensions.cs
rename to src/NadekoBot/Modules/Xp/_common/Extensions.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/_common/FullUserStats.cs b/src/NadekoBot/Modules/Xp/_common/FullUserStats.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/_common/FullUserStats.cs
rename to src/NadekoBot/Modules/Xp/_common/FullUserStats.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/_common/IXpCleanupService.cs b/src/NadekoBot/Modules/Xp/_common/IXpCleanupService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/_common/IXpCleanupService.cs
rename to src/NadekoBot/Modules/Xp/_common/IXpCleanupService.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/_common/UserCacheItem.cs b/src/NadekoBot/Modules/Xp/_common/UserCacheItem.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/_common/UserCacheItem.cs
rename to src/NadekoBot/Modules/Xp/_common/UserCacheItem.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/_common/XpCleanupService.cs b/src/NadekoBot/Modules/Xp/_common/XpCleanupService.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/_common/XpCleanupService.cs
rename to src/NadekoBot/Modules/Xp/_common/XpCleanupService.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/_common/XpTemplate.cs b/src/NadekoBot/Modules/Xp/_common/XpTemplate.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/_common/XpTemplate.cs
rename to src/NadekoBot/Modules/Xp/_common/XpTemplate.cs
diff --git a/src/Nadeko.Bot.Modules.Xp/_common/db/XpShopOwnedItem.cs b/src/NadekoBot/Modules/Xp/_common/db/XpShopOwnedItem.cs
similarity index 100%
rename from src/Nadeko.Bot.Modules.Xp/_common/db/XpShopOwnedItem.cs
rename to src/NadekoBot/Modules/Xp/_common/db/XpShopOwnedItem.cs
diff --git a/src/NadekoBot/NadekoBot.csproj b/src/NadekoBot/NadekoBot.csproj
index 424f91d3d..b7783dd19 100644
--- a/src/NadekoBot/NadekoBot.csproj
+++ b/src/NadekoBot/NadekoBot.csproj
@@ -48,13 +48,13 @@
-
+
-
+
@@ -64,16 +64,17 @@
+
-
-
+
-
+
+ all
@@ -84,43 +85,38 @@
-
-
+
+ allruntime; build; native; contentfiles; analyzers; buildtransitive
-
+
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
Protos\coordinator.proto
diff --git a/src/Nadeko.Common/AsyncLazy.cs b/src/NadekoBot/_common/Abstractions/AsyncLazy.cs
similarity index 100%
rename from src/Nadeko.Common/AsyncLazy.cs
rename to src/NadekoBot/_common/Abstractions/AsyncLazy.cs
diff --git a/src/Nadeko.Common/Cache/BotCacheExtensions.cs b/src/NadekoBot/_common/Abstractions/Cache/BotCacheExtensions.cs
similarity index 100%
rename from src/Nadeko.Common/Cache/BotCacheExtensions.cs
rename to src/NadekoBot/_common/Abstractions/Cache/BotCacheExtensions.cs
diff --git a/src/Nadeko.Common/Cache/IBotCache.cs b/src/NadekoBot/_common/Abstractions/Cache/IBotCache.cs
similarity index 100%
rename from src/Nadeko.Common/Cache/IBotCache.cs
rename to src/NadekoBot/_common/Abstractions/Cache/IBotCache.cs
diff --git a/src/Nadeko.Common/Cache/MemoryBotCache.cs b/src/NadekoBot/_common/Abstractions/Cache/MemoryBotCache.cs
similarity index 100%
rename from src/Nadeko.Common/Cache/MemoryBotCache.cs
rename to src/NadekoBot/_common/Abstractions/Cache/MemoryBotCache.cs
diff --git a/src/Nadeko.Common/Collections/ConcurrentHashSet.cs b/src/NadekoBot/_common/Abstractions/Collections/ConcurrentHashSet.cs
similarity index 100%
rename from src/Nadeko.Common/Collections/ConcurrentHashSet.cs
rename to src/NadekoBot/_common/Abstractions/Collections/ConcurrentHashSet.cs
diff --git a/src/Nadeko.Common/Collections/IndexedCollection.cs b/src/NadekoBot/_common/Abstractions/Collections/IndexedCollection.cs
similarity index 100%
rename from src/Nadeko.Common/Collections/IndexedCollection.cs
rename to src/NadekoBot/_common/Abstractions/Collections/IndexedCollection.cs
diff --git a/src/Nadeko.Common/Extensions/ArrayExtensions.cs b/src/NadekoBot/_common/Abstractions/Extensions/ArrayExtensions.cs
similarity index 100%
rename from src/Nadeko.Common/Extensions/ArrayExtensions.cs
rename to src/NadekoBot/_common/Abstractions/Extensions/ArrayExtensions.cs
diff --git a/src/Nadeko.Common/Extensions/EnumerableExtensions.cs b/src/NadekoBot/_common/Abstractions/Extensions/EnumerableExtensions.cs
similarity index 100%
rename from src/Nadeko.Common/Extensions/EnumerableExtensions.cs
rename to src/NadekoBot/_common/Abstractions/Extensions/EnumerableExtensions.cs
diff --git a/src/Nadeko.Common/Extensions/Extensions.cs b/src/NadekoBot/_common/Abstractions/Extensions/Extensions.cs
similarity index 100%
rename from src/Nadeko.Common/Extensions/Extensions.cs
rename to src/NadekoBot/_common/Abstractions/Extensions/Extensions.cs
diff --git a/src/Nadeko.Common/Extensions/HttpClientExtensions.cs b/src/NadekoBot/_common/Abstractions/Extensions/HttpClientExtensions.cs
similarity index 100%
rename from src/Nadeko.Common/Extensions/HttpClientExtensions.cs
rename to src/NadekoBot/_common/Abstractions/Extensions/HttpClientExtensions.cs
diff --git a/src/Nadeko.Common/Extensions/OneOfExtensions.cs b/src/NadekoBot/_common/Abstractions/Extensions/OneOfExtensions.cs
similarity index 100%
rename from src/Nadeko.Common/Extensions/OneOfExtensions.cs
rename to src/NadekoBot/_common/Abstractions/Extensions/OneOfExtensions.cs
diff --git a/src/Nadeko.Common/Extensions/PipeExtensions.cs b/src/NadekoBot/_common/Abstractions/Extensions/PipeExtensions.cs
similarity index 100%
rename from src/Nadeko.Common/Extensions/PipeExtensions.cs
rename to src/NadekoBot/_common/Abstractions/Extensions/PipeExtensions.cs
diff --git a/src/Nadeko.Common/Extensions/StringExtensions.cs b/src/NadekoBot/_common/Abstractions/Extensions/StringExtensions.cs
similarity index 100%
rename from src/Nadeko.Common/Extensions/StringExtensions.cs
rename to src/NadekoBot/_common/Abstractions/Extensions/StringExtensions.cs
diff --git a/src/Nadeko.Common/Helpers/LogSetup.cs b/src/NadekoBot/_common/Abstractions/Helpers/LogSetup.cs
similarity index 100%
rename from src/Nadeko.Common/Helpers/LogSetup.cs
rename to src/NadekoBot/_common/Abstractions/Helpers/LogSetup.cs
diff --git a/src/Nadeko.Common/Helpers/StandardConversions.cs b/src/NadekoBot/_common/Abstractions/Helpers/StandardConversions.cs
similarity index 100%
rename from src/Nadeko.Common/Helpers/StandardConversions.cs
rename to src/NadekoBot/_common/Abstractions/Helpers/StandardConversions.cs
diff --git a/src/Nadeko.Common/Kwum.cs b/src/NadekoBot/_common/Abstractions/Kwum.cs
similarity index 100%
rename from src/Nadeko.Common/Kwum.cs
rename to src/NadekoBot/_common/Abstractions/Kwum.cs
diff --git a/src/Nadeko.Common/NadekoRandom.cs b/src/NadekoBot/_common/Abstractions/NadekoRandom.cs
similarity index 100%
rename from src/Nadeko.Common/NadekoRandom.cs
rename to src/NadekoBot/_common/Abstractions/NadekoRandom.cs
diff --git a/src/Nadeko.Common/PubSub/EventPubSub.cs b/src/NadekoBot/_common/Abstractions/PubSub/EventPubSub.cs
similarity index 100%
rename from src/Nadeko.Common/PubSub/EventPubSub.cs
rename to src/NadekoBot/_common/Abstractions/PubSub/EventPubSub.cs
diff --git a/src/Nadeko.Common/PubSub/IPubSub.cs b/src/NadekoBot/_common/Abstractions/PubSub/IPubSub.cs
similarity index 100%
rename from src/Nadeko.Common/PubSub/IPubSub.cs
rename to src/NadekoBot/_common/Abstractions/PubSub/IPubSub.cs
diff --git a/src/Nadeko.Common/PubSub/ISeria.cs b/src/NadekoBot/_common/Abstractions/PubSub/ISeria.cs
similarity index 100%
rename from src/Nadeko.Common/PubSub/ISeria.cs
rename to src/NadekoBot/_common/Abstractions/PubSub/ISeria.cs
diff --git a/src/Nadeko.Common/QueueRunner.cs b/src/NadekoBot/_common/Abstractions/QueueRunner.cs
similarity index 100%
rename from src/Nadeko.Common/QueueRunner.cs
rename to src/NadekoBot/_common/Abstractions/QueueRunner.cs
diff --git a/src/Nadeko.Common/TypedKey.cs b/src/NadekoBot/_common/Abstractions/TypedKey.cs
similarity index 100%
rename from src/Nadeko.Common/TypedKey.cs
rename to src/NadekoBot/_common/Abstractions/TypedKey.cs
diff --git a/src/Nadeko.Common/YamlHelper.cs b/src/NadekoBot/_common/Abstractions/YamlHelper.cs
similarity index 100%
rename from src/Nadeko.Common/YamlHelper.cs
rename to src/NadekoBot/_common/Abstractions/YamlHelper.cs
diff --git a/src/Nadeko.Bot.Common/Abstractions/creds/IBotCredentials.cs b/src/NadekoBot/_common/Abstractions/creds/IBotCredentials.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Abstractions/creds/IBotCredentials.cs
rename to src/NadekoBot/_common/Abstractions/creds/IBotCredentials.cs
diff --git a/src/Nadeko.Bot.Common/Abstractions/creds/IBotCredsProvider.cs b/src/NadekoBot/_common/Abstractions/creds/IBotCredsProvider.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Abstractions/creds/IBotCredsProvider.cs
rename to src/NadekoBot/_common/Abstractions/creds/IBotCredsProvider.cs
diff --git a/src/Nadeko.Bot.Common/Abstractions/strings/CommandStrings.cs b/src/NadekoBot/_common/Abstractions/strings/CommandStrings.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Abstractions/strings/CommandStrings.cs
rename to src/NadekoBot/_common/Abstractions/strings/CommandStrings.cs
diff --git a/src/Nadeko.Bot.Common/Abstractions/strings/IBotStrings.cs b/src/NadekoBot/_common/Abstractions/strings/IBotStrings.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Abstractions/strings/IBotStrings.cs
rename to src/NadekoBot/_common/Abstractions/strings/IBotStrings.cs
diff --git a/src/Nadeko.Bot.Common/Abstractions/strings/IBotStringsExtensions.cs b/src/NadekoBot/_common/Abstractions/strings/IBotStringsExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Abstractions/strings/IBotStringsExtensions.cs
rename to src/NadekoBot/_common/Abstractions/strings/IBotStringsExtensions.cs
diff --git a/src/Nadeko.Bot.Common/Abstractions/strings/IBotStringsProvider.cs b/src/NadekoBot/_common/Abstractions/strings/IBotStringsProvider.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Abstractions/strings/IBotStringsProvider.cs
rename to src/NadekoBot/_common/Abstractions/strings/IBotStringsProvider.cs
diff --git a/src/Nadeko.Bot.Common/Abstractions/strings/IStringsSource.cs b/src/NadekoBot/_common/Abstractions/strings/IStringsSource.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Abstractions/strings/IStringsSource.cs
rename to src/NadekoBot/_common/Abstractions/strings/IStringsSource.cs
diff --git a/src/Nadeko.Bot.Common/Abstractions/strings/LocStr.cs b/src/NadekoBot/_common/Abstractions/strings/LocStr.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Abstractions/strings/LocStr.cs
rename to src/NadekoBot/_common/Abstractions/strings/LocStr.cs
diff --git a/src/Nadeko.Bot.Common/Attributes/AliasesAttribute.cs b/src/NadekoBot/_common/Attributes/AliasesAttribute.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Attributes/AliasesAttribute.cs
rename to src/NadekoBot/_common/Attributes/AliasesAttribute.cs
diff --git a/src/Nadeko.Bot.Common/Attributes/CmdAttribute.cs b/src/NadekoBot/_common/Attributes/CmdAttribute.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Attributes/CmdAttribute.cs
rename to src/NadekoBot/_common/Attributes/CmdAttribute.cs
diff --git a/src/Nadeko.Bot.Common/Attributes/DIIgnoreAttribute.cs b/src/NadekoBot/_common/Attributes/DIIgnoreAttribute.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Attributes/DIIgnoreAttribute.cs
rename to src/NadekoBot/_common/Attributes/DIIgnoreAttribute.cs
diff --git a/src/Nadeko.Bot.Common/Attributes/NadekoOptionsAttribute.cs b/src/NadekoBot/_common/Attributes/NadekoOptionsAttribute.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Attributes/NadekoOptionsAttribute.cs
rename to src/NadekoBot/_common/Attributes/NadekoOptionsAttribute.cs
diff --git a/src/Nadeko.Bot.Common/Attributes/NoPublicBotAttribute.cs b/src/NadekoBot/_common/Attributes/NoPublicBotAttribute.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Attributes/NoPublicBotAttribute.cs
rename to src/NadekoBot/_common/Attributes/NoPublicBotAttribute.cs
diff --git a/src/Nadeko.Bot.Common/Attributes/OnlyPublicBotAttribute.cs b/src/NadekoBot/_common/Attributes/OnlyPublicBotAttribute.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Attributes/OnlyPublicBotAttribute.cs
rename to src/NadekoBot/_common/Attributes/OnlyPublicBotAttribute.cs
diff --git a/src/Nadeko.Bot.Common/Attributes/OwnerOnlyAttribute.cs b/src/NadekoBot/_common/Attributes/OwnerOnlyAttribute.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Attributes/OwnerOnlyAttribute.cs
rename to src/NadekoBot/_common/Attributes/OwnerOnlyAttribute.cs
diff --git a/src/Nadeko.Bot.Common/Attributes/RatelimitAttribute.cs b/src/NadekoBot/_common/Attributes/RatelimitAttribute.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Attributes/RatelimitAttribute.cs
rename to src/NadekoBot/_common/Attributes/RatelimitAttribute.cs
diff --git a/src/Nadeko.Bot.Common/Attributes/UserPermAttribute.cs b/src/NadekoBot/_common/Attributes/UserPermAttribute.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Attributes/UserPermAttribute.cs
rename to src/NadekoBot/_common/Attributes/UserPermAttribute.cs
diff --git a/src/Nadeko.Bot.Common/BotCommandTypeReader.cs b/src/NadekoBot/_common/BotCommandTypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/BotCommandTypeReader.cs
rename to src/NadekoBot/_common/BotCommandTypeReader.cs
diff --git a/src/Nadeko.Bot.Common/CleanupModuleBase.cs b/src/NadekoBot/_common/CleanupModuleBase.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/CleanupModuleBase.cs
rename to src/NadekoBot/_common/CleanupModuleBase.cs
diff --git a/src/Nadeko.Bot.Common/CleverBotResponseStr.cs b/src/NadekoBot/_common/CleverBotResponseStr.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/CleverBotResponseStr.cs
rename to src/NadekoBot/_common/CleverBotResponseStr.cs
diff --git a/src/Nadeko.Bot.Common/CommandNameLoadHelper.cs b/src/NadekoBot/_common/CommandNameLoadHelper.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/CommandNameLoadHelper.cs
rename to src/NadekoBot/_common/CommandNameLoadHelper.cs
diff --git a/src/Nadeko.Bot.Common/Configs/BotConfig.cs b/src/NadekoBot/_common/Configs/BotConfig.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Configs/BotConfig.cs
rename to src/NadekoBot/_common/Configs/BotConfig.cs
diff --git a/src/Nadeko.Bot.Common/Configs/IConfigSeria.cs b/src/NadekoBot/_common/Configs/IConfigSeria.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Configs/IConfigSeria.cs
rename to src/NadekoBot/_common/Configs/IConfigSeria.cs
diff --git a/src/Nadeko.Bot.Common/Creds.cs b/src/NadekoBot/_common/Creds.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Creds.cs
rename to src/NadekoBot/_common/Creds.cs
diff --git a/src/Nadeko.Bot.Common/Currency/CurrencyType.cs b/src/NadekoBot/_common/Currency/CurrencyType.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Currency/CurrencyType.cs
rename to src/NadekoBot/_common/Currency/CurrencyType.cs
diff --git a/src/Nadeko.Bot.Common/Currency/IBankService.cs b/src/NadekoBot/_common/Currency/IBankService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Currency/IBankService.cs
rename to src/NadekoBot/_common/Currency/IBankService.cs
diff --git a/src/Nadeko.Bot.Common/Currency/ICurrencyService.cs b/src/NadekoBot/_common/Currency/ICurrencyService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Currency/ICurrencyService.cs
rename to src/NadekoBot/_common/Currency/ICurrencyService.cs
diff --git a/src/Nadeko.Bot.Common/Currency/ITxTracker.cs b/src/NadekoBot/_common/Currency/ITxTracker.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Currency/ITxTracker.cs
rename to src/NadekoBot/_common/Currency/ITxTracker.cs
diff --git a/src/Nadeko.Bot.Common/Currency/IWallet.cs b/src/NadekoBot/_common/Currency/IWallet.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Currency/IWallet.cs
rename to src/NadekoBot/_common/Currency/IWallet.cs
diff --git a/src/Nadeko.Bot.Common/Currency/TxData.cs b/src/NadekoBot/_common/Currency/TxData.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Currency/TxData.cs
rename to src/NadekoBot/_common/Currency/TxData.cs
diff --git a/src/Nadeko.Bot.Common/DbService.cs b/src/NadekoBot/_common/DbService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/DbService.cs
rename to src/NadekoBot/_common/DbService.cs
diff --git a/src/Nadeko.Econ/Deck/Deck.cs b/src/NadekoBot/_common/Deck/Deck.cs
similarity index 100%
rename from src/Nadeko.Econ/Deck/Deck.cs
rename to src/NadekoBot/_common/Deck/Deck.cs
diff --git a/src/Nadeko.Econ/Deck/NewCard.cs b/src/NadekoBot/_common/Deck/NewCard.cs
similarity index 100%
rename from src/Nadeko.Econ/Deck/NewCard.cs
rename to src/NadekoBot/_common/Deck/NewCard.cs
diff --git a/src/Nadeko.Econ/Deck/NewDeck.cs b/src/NadekoBot/_common/Deck/NewDeck.cs
similarity index 100%
rename from src/Nadeko.Econ/Deck/NewDeck.cs
rename to src/NadekoBot/_common/Deck/NewDeck.cs
diff --git a/src/Nadeko.Econ/Deck/Regular/MultipleRegularDeck/MultipleRegularDeck.cs b/src/NadekoBot/_common/Deck/Regular/MultipleRegularDeck/MultipleRegularDeck.cs
similarity index 100%
rename from src/Nadeko.Econ/Deck/Regular/MultipleRegularDeck/MultipleRegularDeck.cs
rename to src/NadekoBot/_common/Deck/Regular/MultipleRegularDeck/MultipleRegularDeck.cs
diff --git a/src/Nadeko.Econ/Deck/Regular/RegularCard.cs b/src/NadekoBot/_common/Deck/Regular/RegularCard.cs
similarity index 100%
rename from src/Nadeko.Econ/Deck/Regular/RegularCard.cs
rename to src/NadekoBot/_common/Deck/Regular/RegularCard.cs
diff --git a/src/Nadeko.Econ/Deck/Regular/RegularDeck.cs b/src/NadekoBot/_common/Deck/Regular/RegularDeck.cs
similarity index 100%
rename from src/Nadeko.Econ/Deck/Regular/RegularDeck.cs
rename to src/NadekoBot/_common/Deck/Regular/RegularDeck.cs
diff --git a/src/Nadeko.Econ/Deck/Regular/RegularDeckExtensions.cs b/src/NadekoBot/_common/Deck/Regular/RegularDeckExtensions.cs
similarity index 100%
rename from src/Nadeko.Econ/Deck/Regular/RegularDeckExtensions.cs
rename to src/NadekoBot/_common/Deck/Regular/RegularDeckExtensions.cs
diff --git a/src/Nadeko.Econ/Deck/Regular/RegularSuit.cs b/src/NadekoBot/_common/Deck/Regular/RegularSuit.cs
similarity index 100%
rename from src/Nadeko.Econ/Deck/Regular/RegularSuit.cs
rename to src/NadekoBot/_common/Deck/Regular/RegularSuit.cs
diff --git a/src/Nadeko.Econ/Deck/Regular/RegularValue.cs b/src/NadekoBot/_common/Deck/Regular/RegularValue.cs
similarity index 100%
rename from src/Nadeko.Econ/Deck/Regular/RegularValue.cs
rename to src/NadekoBot/_common/Deck/Regular/RegularValue.cs
diff --git a/src/Nadeko.Bot.Common/DoAsUserMessage.cs b/src/NadekoBot/_common/DoAsUserMessage.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/DoAsUserMessage.cs
rename to src/NadekoBot/_common/DoAsUserMessage.cs
diff --git a/src/Nadeko.Bot.Common/Extensions/DbExtensions.cs b/src/NadekoBot/_common/Extensions/DbExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Extensions/DbExtensions.cs
rename to src/NadekoBot/_common/Extensions/DbExtensions.cs
diff --git a/src/Nadeko.Bot.Common/Extensions/ImagesharpExtensions.cs b/src/NadekoBot/_common/Extensions/ImagesharpExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Extensions/ImagesharpExtensions.cs
rename to src/NadekoBot/_common/Extensions/ImagesharpExtensions.cs
diff --git a/src/Nadeko.Econ/Gambling/Betdraw/BetdrawColorGuess.cs b/src/NadekoBot/_common/Gambling/Betdraw/BetdrawColorGuess.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Betdraw/BetdrawColorGuess.cs
rename to src/NadekoBot/_common/Gambling/Betdraw/BetdrawColorGuess.cs
diff --git a/src/Nadeko.Econ/Gambling/Betdraw/BetdrawGame.cs b/src/NadekoBot/_common/Gambling/Betdraw/BetdrawGame.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Betdraw/BetdrawGame.cs
rename to src/NadekoBot/_common/Gambling/Betdraw/BetdrawGame.cs
diff --git a/src/Nadeko.Econ/Gambling/Betdraw/BetdrawResult.cs b/src/NadekoBot/_common/Gambling/Betdraw/BetdrawResult.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Betdraw/BetdrawResult.cs
rename to src/NadekoBot/_common/Gambling/Betdraw/BetdrawResult.cs
diff --git a/src/Nadeko.Econ/Gambling/Betdraw/BetdrawResultType.cs b/src/NadekoBot/_common/Gambling/Betdraw/BetdrawResultType.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Betdraw/BetdrawResultType.cs
rename to src/NadekoBot/_common/Gambling/Betdraw/BetdrawResultType.cs
diff --git a/src/Nadeko.Econ/Gambling/Betdraw/BetdrawValueGuess.cs b/src/NadekoBot/_common/Gambling/Betdraw/BetdrawValueGuess.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Betdraw/BetdrawValueGuess.cs
rename to src/NadekoBot/_common/Gambling/Betdraw/BetdrawValueGuess.cs
diff --git a/src/Nadeko.Econ/Gambling/Betflip/BetflipGame.cs b/src/NadekoBot/_common/Gambling/Betflip/BetflipGame.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Betflip/BetflipGame.cs
rename to src/NadekoBot/_common/Gambling/Betflip/BetflipGame.cs
diff --git a/src/Nadeko.Econ/Gambling/Betflip/BetflipResult.cs b/src/NadekoBot/_common/Gambling/Betflip/BetflipResult.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Betflip/BetflipResult.cs
rename to src/NadekoBot/_common/Gambling/Betflip/BetflipResult.cs
diff --git a/src/Nadeko.Econ/Gambling/Betroll/BetrollGame.cs b/src/NadekoBot/_common/Gambling/Betroll/BetrollGame.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Betroll/BetrollGame.cs
rename to src/NadekoBot/_common/Gambling/Betroll/BetrollGame.cs
diff --git a/src/Nadeko.Econ/Gambling/Betroll/BetrollResult.cs b/src/NadekoBot/_common/Gambling/Betroll/BetrollResult.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Betroll/BetrollResult.cs
rename to src/NadekoBot/_common/Gambling/Betroll/BetrollResult.cs
diff --git a/src/Nadeko.Econ/Gambling/Rps/RpsGame.cs b/src/NadekoBot/_common/Gambling/Rps/RpsGame.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Rps/RpsGame.cs
rename to src/NadekoBot/_common/Gambling/Rps/RpsGame.cs
diff --git a/src/Nadeko.Econ/Gambling/Slot/SlotGame.cs b/src/NadekoBot/_common/Gambling/Slot/SlotGame.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Slot/SlotGame.cs
rename to src/NadekoBot/_common/Gambling/Slot/SlotGame.cs
diff --git a/src/Nadeko.Econ/Gambling/Slot/SlotResult.cs b/src/NadekoBot/_common/Gambling/Slot/SlotResult.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Slot/SlotResult.cs
rename to src/NadekoBot/_common/Gambling/Slot/SlotResult.cs
diff --git a/src/Nadeko.Econ/Gambling/Wof/LuLaResult.cs b/src/NadekoBot/_common/Gambling/Wof/LuLaResult.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Wof/LuLaResult.cs
rename to src/NadekoBot/_common/Gambling/Wof/LuLaResult.cs
diff --git a/src/Nadeko.Econ/Gambling/Wof/WofGame.cs b/src/NadekoBot/_common/Gambling/Wof/WofGame.cs
similarity index 100%
rename from src/Nadeko.Econ/Gambling/Wof/WofGame.cs
rename to src/NadekoBot/_common/Gambling/Wof/WofGame.cs
diff --git a/src/Nadeko.Bot.Common/IBot.cs b/src/NadekoBot/_common/IBot.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/IBot.cs
rename to src/NadekoBot/_common/IBot.cs
diff --git a/src/Nadeko.Bot.Common/ICloneable.cs b/src/NadekoBot/_common/ICloneable.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/ICloneable.cs
rename to src/NadekoBot/_common/ICloneable.cs
diff --git a/src/Nadeko.Bot.Common/ICurrencyProvider.cs b/src/NadekoBot/_common/ICurrencyProvider.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/ICurrencyProvider.cs
rename to src/NadekoBot/_common/ICurrencyProvider.cs
diff --git a/src/Nadeko.Bot.Common/IDiscordPermOverrideService.cs b/src/NadekoBot/_common/IDiscordPermOverrideService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/IDiscordPermOverrideService.cs
rename to src/NadekoBot/_common/IDiscordPermOverrideService.cs
diff --git a/src/Nadeko.Bot.Common/ILogCommandService.cs b/src/NadekoBot/_common/ILogCommandService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/ILogCommandService.cs
rename to src/NadekoBot/_common/ILogCommandService.cs
diff --git a/src/Nadeko.Bot.Common/INadekoCommandOptions.cs b/src/NadekoBot/_common/INadekoCommandOptions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/INadekoCommandOptions.cs
rename to src/NadekoBot/_common/INadekoCommandOptions.cs
diff --git a/src/Nadeko.Bot.Common/IPermissionChecker.cs b/src/NadekoBot/_common/IPermissionChecker.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/IPermissionChecker.cs
rename to src/NadekoBot/_common/IPermissionChecker.cs
diff --git a/src/Nadeko.Bot.Common/IPlaceholderProvider.cs b/src/NadekoBot/_common/IPlaceholderProvider.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/IPlaceholderProvider.cs
rename to src/NadekoBot/_common/IPlaceholderProvider.cs
diff --git a/src/Nadeko.Bot.Common/Interaction/INadekoInteractionService.cs b/src/NadekoBot/_common/Interaction/INadekoInteractionService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Interaction/INadekoInteractionService.cs
rename to src/NadekoBot/_common/Interaction/INadekoInteractionService.cs
diff --git a/src/Nadeko.Bot.Common/Interaction/NadekoInteraction.cs b/src/NadekoBot/_common/Interaction/NadekoInteraction.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Interaction/NadekoInteraction.cs
rename to src/NadekoBot/_common/Interaction/NadekoInteraction.cs
diff --git a/src/Nadeko.Bot.Common/Interaction/NadekoInteractionData.cs b/src/NadekoBot/_common/Interaction/NadekoInteractionData.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Interaction/NadekoInteractionData.cs
rename to src/NadekoBot/_common/Interaction/NadekoInteractionData.cs
diff --git a/src/Nadeko.Bot.Common/Interaction/NadekoInteractionService.cs b/src/NadekoBot/_common/Interaction/NadekoInteractionService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Interaction/NadekoInteractionService.cs
rename to src/NadekoBot/_common/Interaction/NadekoInteractionService.cs
diff --git a/src/Nadeko.Bot.Common/Interaction/SimpleInteraction.cs b/src/NadekoBot/_common/Interaction/SimpleInteraction.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Interaction/SimpleInteraction.cs
rename to src/NadekoBot/_common/Interaction/SimpleInteraction.cs
diff --git a/src/Nadeko.Bot.Common/Medusa/IMedusaLoaderService.cs b/src/NadekoBot/_common/Medusa/IMedusaLoaderService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Medusa/IMedusaLoaderService.cs
rename to src/NadekoBot/_common/Medusa/IMedusaLoaderService.cs
diff --git a/src/Nadeko.Bot.Common/Medusa/MedusaLoadResult.cs b/src/NadekoBot/_common/Medusa/MedusaLoadResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Medusa/MedusaLoadResult.cs
rename to src/NadekoBot/_common/Medusa/MedusaLoadResult.cs
diff --git a/src/Nadeko.Bot.Common/Medusa/MedusaUnloadResult.cs b/src/NadekoBot/_common/Medusa/MedusaUnloadResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Medusa/MedusaUnloadResult.cs
rename to src/NadekoBot/_common/Medusa/MedusaUnloadResult.cs
diff --git a/src/Nadeko.Bot.Common/MessageType.cs b/src/NadekoBot/_common/MessageType.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/MessageType.cs
rename to src/NadekoBot/_common/MessageType.cs
diff --git a/src/Nadeko.Bot.Common/ModuleBehaviors/IBehavior.cs b/src/NadekoBot/_common/ModuleBehaviors/IBehavior.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/ModuleBehaviors/IBehavior.cs
rename to src/NadekoBot/_common/ModuleBehaviors/IBehavior.cs
diff --git a/src/Nadeko.Bot.Common/ModuleBehaviors/IExecNoCommand.cs b/src/NadekoBot/_common/ModuleBehaviors/IExecNoCommand.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/ModuleBehaviors/IExecNoCommand.cs
rename to src/NadekoBot/_common/ModuleBehaviors/IExecNoCommand.cs
diff --git a/src/Nadeko.Bot.Common/ModuleBehaviors/IExecOnMessage.cs b/src/NadekoBot/_common/ModuleBehaviors/IExecOnMessage.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/ModuleBehaviors/IExecOnMessage.cs
rename to src/NadekoBot/_common/ModuleBehaviors/IExecOnMessage.cs
diff --git a/src/Nadeko.Bot.Common/ModuleBehaviors/IExecPostCommand.cs b/src/NadekoBot/_common/ModuleBehaviors/IExecPostCommand.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/ModuleBehaviors/IExecPostCommand.cs
rename to src/NadekoBot/_common/ModuleBehaviors/IExecPostCommand.cs
diff --git a/src/Nadeko.Bot.Common/ModuleBehaviors/IExecPreCommand.cs b/src/NadekoBot/_common/ModuleBehaviors/IExecPreCommand.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/ModuleBehaviors/IExecPreCommand.cs
rename to src/NadekoBot/_common/ModuleBehaviors/IExecPreCommand.cs
diff --git a/src/Nadeko.Bot.Common/ModuleBehaviors/IInputTransformer.cs b/src/NadekoBot/_common/ModuleBehaviors/IInputTransformer.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/ModuleBehaviors/IInputTransformer.cs
rename to src/NadekoBot/_common/ModuleBehaviors/IInputTransformer.cs
diff --git a/src/Nadeko.Bot.Common/ModuleBehaviors/IReadyExecutor.cs b/src/NadekoBot/_common/ModuleBehaviors/IReadyExecutor.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/ModuleBehaviors/IReadyExecutor.cs
rename to src/NadekoBot/_common/ModuleBehaviors/IReadyExecutor.cs
diff --git a/src/Nadeko.Bot.Common/NadekoModule.cs b/src/NadekoBot/_common/NadekoModule.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/NadekoModule.cs
rename to src/NadekoBot/_common/NadekoModule.cs
diff --git a/src/Nadeko.Bot.Common/NadekoTypeReader.cs b/src/NadekoBot/_common/NadekoTypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/NadekoTypeReader.cs
rename to src/NadekoBot/_common/NadekoTypeReader.cs
diff --git a/src/Nadeko.Bot.Common/Patronage/FeatureLimitKey.cs b/src/NadekoBot/_common/Patronage/FeatureLimitKey.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Patronage/FeatureLimitKey.cs
rename to src/NadekoBot/_common/Patronage/FeatureLimitKey.cs
diff --git a/src/Nadeko.Bot.Common/Patronage/FeatureQuotaStats.cs b/src/NadekoBot/_common/Patronage/FeatureQuotaStats.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Patronage/FeatureQuotaStats.cs
rename to src/NadekoBot/_common/Patronage/FeatureQuotaStats.cs
diff --git a/src/Nadeko.Bot.Common/Patronage/IPatronData.cs b/src/NadekoBot/_common/Patronage/IPatronData.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Patronage/IPatronData.cs
rename to src/NadekoBot/_common/Patronage/IPatronData.cs
diff --git a/src/Nadeko.Bot.Common/Patronage/IPatronageService.cs b/src/NadekoBot/_common/Patronage/IPatronageService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Patronage/IPatronageService.cs
rename to src/NadekoBot/_common/Patronage/IPatronageService.cs
diff --git a/src/Nadeko.Bot.Common/Patronage/ISubscriptionHandler.cs b/src/NadekoBot/_common/Patronage/ISubscriptionHandler.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Patronage/ISubscriptionHandler.cs
rename to src/NadekoBot/_common/Patronage/ISubscriptionHandler.cs
diff --git a/src/Nadeko.Bot.Common/Patronage/Patron.cs b/src/NadekoBot/_common/Patronage/Patron.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Patronage/Patron.cs
rename to src/NadekoBot/_common/Patronage/Patron.cs
diff --git a/src/Nadeko.Bot.Common/Patronage/PatronConfigData.cs b/src/NadekoBot/_common/Patronage/PatronConfigData.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Patronage/PatronConfigData.cs
rename to src/NadekoBot/_common/Patronage/PatronConfigData.cs
diff --git a/src/Nadeko.Bot.Common/Patronage/PatronExtensions.cs b/src/NadekoBot/_common/Patronage/PatronExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Patronage/PatronExtensions.cs
rename to src/NadekoBot/_common/Patronage/PatronExtensions.cs
diff --git a/src/Nadeko.Bot.Common/Patronage/PatronTier.cs b/src/NadekoBot/_common/Patronage/PatronTier.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Patronage/PatronTier.cs
rename to src/NadekoBot/_common/Patronage/PatronTier.cs
diff --git a/src/Nadeko.Bot.Common/Patronage/QuotaLimit.cs b/src/NadekoBot/_common/Patronage/QuotaLimit.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Patronage/QuotaLimit.cs
rename to src/NadekoBot/_common/Patronage/QuotaLimit.cs
diff --git a/src/Nadeko.Bot.Common/Patronage/QuotaPer.cs b/src/NadekoBot/_common/Patronage/QuotaPer.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Patronage/QuotaPer.cs
rename to src/NadekoBot/_common/Patronage/QuotaPer.cs
diff --git a/src/Nadeko.Bot.Common/Patronage/SubscriptionChargeStatus.cs b/src/NadekoBot/_common/Patronage/SubscriptionChargeStatus.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Patronage/SubscriptionChargeStatus.cs
rename to src/NadekoBot/_common/Patronage/SubscriptionChargeStatus.cs
diff --git a/src/Nadeko.Bot.Common/Patronage/UserQuotaStats.cs b/src/NadekoBot/_common/Patronage/UserQuotaStats.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Patronage/UserQuotaStats.cs
rename to src/NadekoBot/_common/Patronage/UserQuotaStats.cs
diff --git a/src/Nadeko.Bot.Common/Replacements/IReplacementPatternStore.cs b/src/NadekoBot/_common/Replacements/IReplacementPatternStore.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Replacements/IReplacementPatternStore.cs
rename to src/NadekoBot/_common/Replacements/IReplacementPatternStore.cs
diff --git a/src/Nadeko.Bot.Common/Replacements/IReplacementService.cs b/src/NadekoBot/_common/Replacements/IReplacementService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Replacements/IReplacementService.cs
rename to src/NadekoBot/_common/Replacements/IReplacementService.cs
diff --git a/src/Nadeko.Bot.Common/Replacements/Impl/ReplacementContext.cs b/src/NadekoBot/_common/Replacements/Impl/ReplacementContext.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Replacements/Impl/ReplacementContext.cs
rename to src/NadekoBot/_common/Replacements/Impl/ReplacementContext.cs
diff --git a/src/Nadeko.Bot.Common/Replacements/Impl/ReplacementInfo.cs b/src/NadekoBot/_common/Replacements/Impl/ReplacementInfo.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Replacements/Impl/ReplacementInfo.cs
rename to src/NadekoBot/_common/Replacements/Impl/ReplacementInfo.cs
diff --git a/src/Nadeko.Bot.Common/Replacements/Impl/ReplacementPatternStore.cs b/src/NadekoBot/_common/Replacements/Impl/ReplacementPatternStore.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Replacements/Impl/ReplacementPatternStore.cs
rename to src/NadekoBot/_common/Replacements/Impl/ReplacementPatternStore.cs
diff --git a/src/Nadeko.Bot.Common/Replacements/Impl/ReplacementRegistrator.default.cs b/src/NadekoBot/_common/Replacements/Impl/ReplacementRegistrator.default.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Replacements/Impl/ReplacementRegistrator.default.cs
rename to src/NadekoBot/_common/Replacements/Impl/ReplacementRegistrator.default.cs
diff --git a/src/Nadeko.Bot.Common/Replacements/Impl/ReplacementService.cs b/src/NadekoBot/_common/Replacements/Impl/ReplacementService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Replacements/Impl/ReplacementService.cs
rename to src/NadekoBot/_common/Replacements/Impl/ReplacementService.cs
diff --git a/src/Nadeko.Bot.Common/Replacements/Impl/Replacer.cs b/src/NadekoBot/_common/Replacements/Impl/Replacer.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Replacements/Impl/Replacer.cs
rename to src/NadekoBot/_common/Replacements/Impl/Replacer.cs
diff --git a/src/Nadeko.Bot.Common/Services/CommandHandler.cs b/src/NadekoBot/_common/Services/CommandHandler.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/CommandHandler.cs
rename to src/NadekoBot/_common/Services/CommandHandler.cs
diff --git a/src/Nadeko.Bot.Common/Services/Currency/CurrencyService.cs b/src/NadekoBot/_common/Services/Currency/CurrencyService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Currency/CurrencyService.cs
rename to src/NadekoBot/_common/Services/Currency/CurrencyService.cs
diff --git a/src/Nadeko.Bot.Common/Services/Currency/CurrencyServiceExtensions.cs b/src/NadekoBot/_common/Services/Currency/CurrencyServiceExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Currency/CurrencyServiceExtensions.cs
rename to src/NadekoBot/_common/Services/Currency/CurrencyServiceExtensions.cs
diff --git a/src/Nadeko.Bot.Common/Services/Currency/DefaultWallet.cs b/src/NadekoBot/_common/Services/Currency/DefaultWallet.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Currency/DefaultWallet.cs
rename to src/NadekoBot/_common/Services/Currency/DefaultWallet.cs
diff --git a/src/Nadeko.Bot.Common/Services/Currency/GamblingTxTracker.cs b/src/NadekoBot/_common/Services/Currency/GamblingTxTracker.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Currency/GamblingTxTracker.cs
rename to src/NadekoBot/_common/Services/Currency/GamblingTxTracker.cs
diff --git a/src/Nadeko.Bot.Common/Services/IBehaviourExecutor.cs b/src/NadekoBot/_common/Services/IBehaviourExecutor.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/IBehaviourExecutor.cs
rename to src/NadekoBot/_common/Services/IBehaviourExecutor.cs
diff --git a/src/Nadeko.Bot.Common/Services/ICommandHandler.cs b/src/NadekoBot/_common/Services/ICommandHandler.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/ICommandHandler.cs
rename to src/NadekoBot/_common/Services/ICommandHandler.cs
diff --git a/src/Nadeko.Bot.Common/Services/ICoordinator.cs b/src/NadekoBot/_common/Services/ICoordinator.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/ICoordinator.cs
rename to src/NadekoBot/_common/Services/ICoordinator.cs
diff --git a/src/Nadeko.Bot.Common/Services/ICustomBehavior.cs b/src/NadekoBot/_common/Services/ICustomBehavior.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/ICustomBehavior.cs
rename to src/NadekoBot/_common/Services/ICustomBehavior.cs
diff --git a/src/Nadeko.Bot.Common/Services/IEmbedBuilderService.cs b/src/NadekoBot/_common/Services/IEmbedBuilderService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/IEmbedBuilderService.cs
rename to src/NadekoBot/_common/Services/IEmbedBuilderService.cs
diff --git a/src/Nadeko.Bot.Common/Services/IGoogleApiService.cs b/src/NadekoBot/_common/Services/IGoogleApiService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/IGoogleApiService.cs
rename to src/NadekoBot/_common/Services/IGoogleApiService.cs
diff --git a/src/Nadeko.Bot.Common/Services/ILocalDataCache.cs b/src/NadekoBot/_common/Services/ILocalDataCache.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/ILocalDataCache.cs
rename to src/NadekoBot/_common/Services/ILocalDataCache.cs
diff --git a/src/Nadeko.Bot.Common/Services/ILocalization.cs b/src/NadekoBot/_common/Services/ILocalization.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/ILocalization.cs
rename to src/NadekoBot/_common/Services/ILocalization.cs
diff --git a/src/Nadeko.Bot.Common/Services/INService.cs b/src/NadekoBot/_common/Services/INService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/INService.cs
rename to src/NadekoBot/_common/Services/INService.cs
diff --git a/src/Nadeko.Bot.Common/Services/IRemindService.cs b/src/NadekoBot/_common/Services/IRemindService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/IRemindService.cs
rename to src/NadekoBot/_common/Services/IRemindService.cs
diff --git a/src/Nadeko.Bot.Common/Services/IStatsService.cs b/src/NadekoBot/_common/Services/IStatsService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/IStatsService.cs
rename to src/NadekoBot/_common/Services/IStatsService.cs
diff --git a/src/Nadeko.Bot.Common/Services/ITimezoneService.cs b/src/NadekoBot/_common/Services/ITimezoneService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/ITimezoneService.cs
rename to src/NadekoBot/_common/Services/ITimezoneService.cs
diff --git a/src/Nadeko.Bot.Common/Services/Impl/BehaviorExecutor.cs b/src/NadekoBot/_common/Services/Impl/BehaviorExecutor.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Impl/BehaviorExecutor.cs
rename to src/NadekoBot/_common/Services/Impl/BehaviorExecutor.cs
diff --git a/src/Nadeko.Bot.Common/Services/Impl/BlacklistService.cs b/src/NadekoBot/_common/Services/Impl/BlacklistService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Impl/BlacklistService.cs
rename to src/NadekoBot/_common/Services/Impl/BlacklistService.cs
diff --git a/src/Nadeko.Bot.Common/Services/Impl/CommandsUtilityService.cs b/src/NadekoBot/_common/Services/Impl/CommandsUtilityService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Impl/CommandsUtilityService.cs
rename to src/NadekoBot/_common/Services/Impl/CommandsUtilityService.cs
diff --git a/src/Nadeko.Bot.Common/Services/Impl/DiscordPermOverrideService.cs b/src/NadekoBot/_common/Services/Impl/DiscordPermOverrideService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Impl/DiscordPermOverrideService.cs
rename to src/NadekoBot/_common/Services/Impl/DiscordPermOverrideService.cs
diff --git a/src/Nadeko.Bot.Common/Services/Impl/FontProvider.cs b/src/NadekoBot/_common/Services/Impl/FontProvider.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Impl/FontProvider.cs
rename to src/NadekoBot/_common/Services/Impl/FontProvider.cs
diff --git a/src/Nadeko.Bot.Common/Services/Impl/IImageCache.cs b/src/NadekoBot/_common/Services/Impl/IImageCache.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Impl/IImageCache.cs
rename to src/NadekoBot/_common/Services/Impl/IImageCache.cs
diff --git a/src/Nadeko.Bot.Common/Services/Impl/ImagesConfig.cs b/src/NadekoBot/_common/Services/Impl/ImagesConfig.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Impl/ImagesConfig.cs
rename to src/NadekoBot/_common/Services/Impl/ImagesConfig.cs
diff --git a/src/Nadeko.Bot.Common/Services/Impl/RedisImageExtensions.cs b/src/NadekoBot/_common/Services/Impl/RedisImageExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Impl/RedisImageExtensions.cs
rename to src/NadekoBot/_common/Services/Impl/RedisImageExtensions.cs
diff --git a/src/Nadeko.Bot.Common/Services/Impl/SingleProcessCoordinator.cs b/src/NadekoBot/_common/Services/Impl/SingleProcessCoordinator.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Impl/SingleProcessCoordinator.cs
rename to src/NadekoBot/_common/Services/Impl/SingleProcessCoordinator.cs
diff --git a/src/Nadeko.Bot.Common/Services/Impl/StartingGuildsListService.cs b/src/NadekoBot/_common/Services/Impl/StartingGuildsListService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Impl/StartingGuildsListService.cs
rename to src/NadekoBot/_common/Services/Impl/StartingGuildsListService.cs
diff --git a/src/Nadeko.Bot.Common/Services/Impl/StatsService.cs b/src/NadekoBot/_common/Services/Impl/StatsService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Impl/StatsService.cs
rename to src/NadekoBot/_common/Services/Impl/StatsService.cs
diff --git a/src/Nadeko.Bot.Common/Services/Impl/YtdlOperation.cs b/src/NadekoBot/_common/Services/Impl/YtdlOperation.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/Impl/YtdlOperation.cs
rename to src/NadekoBot/_common/Services/Impl/YtdlOperation.cs
diff --git a/src/Nadeko.Bot.Common/Services/strings/impl/BotStrings.cs b/src/NadekoBot/_common/Services/strings/impl/BotStrings.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/strings/impl/BotStrings.cs
rename to src/NadekoBot/_common/Services/strings/impl/BotStrings.cs
diff --git a/src/Nadeko.Bot.Common/Services/strings/impl/LocalFileStringsSource.cs b/src/NadekoBot/_common/Services/strings/impl/LocalFileStringsSource.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/strings/impl/LocalFileStringsSource.cs
rename to src/NadekoBot/_common/Services/strings/impl/LocalFileStringsSource.cs
diff --git a/src/Nadeko.Bot.Common/Services/strings/impl/MemoryBotStringsProvider.cs b/src/NadekoBot/_common/Services/strings/impl/MemoryBotStringsProvider.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Services/strings/impl/MemoryBotStringsProvider.cs
rename to src/NadekoBot/_common/Services/strings/impl/MemoryBotStringsProvider.cs
diff --git a/src/Nadeko.Bot.Common/Settings/BotConfigService.cs b/src/NadekoBot/_common/Settings/BotConfigService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Settings/BotConfigService.cs
rename to src/NadekoBot/_common/Settings/BotConfigService.cs
diff --git a/src/Nadeko.Bot.Common/Settings/ConfigParsers.cs b/src/NadekoBot/_common/Settings/ConfigParsers.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Settings/ConfigParsers.cs
rename to src/NadekoBot/_common/Settings/ConfigParsers.cs
diff --git a/src/Nadeko.Bot.Common/Settings/ConfigServiceBase.cs b/src/NadekoBot/_common/Settings/ConfigServiceBase.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Settings/ConfigServiceBase.cs
rename to src/NadekoBot/_common/Settings/ConfigServiceBase.cs
diff --git a/src/Nadeko.Bot.Common/Settings/IConfigMigrator.cs b/src/NadekoBot/_common/Settings/IConfigMigrator.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Settings/IConfigMigrator.cs
rename to src/NadekoBot/_common/Settings/IConfigMigrator.cs
diff --git a/src/Nadeko.Bot.Common/Settings/IConfigService.cs b/src/NadekoBot/_common/Settings/IConfigService.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Settings/IConfigService.cs
rename to src/NadekoBot/_common/Settings/IConfigService.cs
diff --git a/src/Nadeko.Bot.Common/Settings/SettingParser.cs b/src/NadekoBot/_common/Settings/SettingParser.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Settings/SettingParser.cs
rename to src/NadekoBot/_common/Settings/SettingParser.cs
diff --git a/src/Nadeko.Bot.Common/SmartText/SmartEmbedText.cs b/src/NadekoBot/_common/SmartText/SmartEmbedText.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/SmartText/SmartEmbedText.cs
rename to src/NadekoBot/_common/SmartText/SmartEmbedText.cs
diff --git a/src/Nadeko.Bot.Common/SmartText/SmartEmbedTextArray.cs b/src/NadekoBot/_common/SmartText/SmartEmbedTextArray.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/SmartText/SmartEmbedTextArray.cs
rename to src/NadekoBot/_common/SmartText/SmartEmbedTextArray.cs
diff --git a/src/Nadeko.Bot.Common/SmartText/SmartPlainText.cs b/src/NadekoBot/_common/SmartText/SmartPlainText.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/SmartText/SmartPlainText.cs
rename to src/NadekoBot/_common/SmartText/SmartPlainText.cs
diff --git a/src/Nadeko.Bot.Common/SmartText/SmartText.cs b/src/NadekoBot/_common/SmartText/SmartText.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/SmartText/SmartText.cs
rename to src/NadekoBot/_common/SmartText/SmartText.cs
diff --git a/src/Nadeko.Bot.Common/SmartText/SmartTextEmbedAuthor.cs b/src/NadekoBot/_common/SmartText/SmartTextEmbedAuthor.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/SmartText/SmartTextEmbedAuthor.cs
rename to src/NadekoBot/_common/SmartText/SmartTextEmbedAuthor.cs
diff --git a/src/Nadeko.Bot.Common/SmartText/SmartTextEmbedField.cs b/src/NadekoBot/_common/SmartText/SmartTextEmbedField.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/SmartText/SmartTextEmbedField.cs
rename to src/NadekoBot/_common/SmartText/SmartTextEmbedField.cs
diff --git a/src/Nadeko.Bot.Common/SmartText/SmartTextEmbedFooter.cs b/src/NadekoBot/_common/SmartText/SmartTextEmbedFooter.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/SmartText/SmartTextEmbedFooter.cs
rename to src/NadekoBot/_common/SmartText/SmartTextEmbedFooter.cs
diff --git a/src/Nadeko.Bot.Common/TypeReaderResult.cs b/src/NadekoBot/_common/TypeReaderResult.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/TypeReaderResult.cs
rename to src/NadekoBot/_common/TypeReaderResult.cs
diff --git a/src/Nadeko.Bot.Common/TypeReaders/CommandOrExprInfo.cs b/src/NadekoBot/_common/TypeReaders/CommandOrExprInfo.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/TypeReaders/CommandOrExprInfo.cs
rename to src/NadekoBot/_common/TypeReaders/CommandOrExprInfo.cs
diff --git a/src/Nadeko.Bot.Common/TypeReaders/GuildDateTimeTypeReader.cs b/src/NadekoBot/_common/TypeReaders/GuildDateTimeTypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/TypeReaders/GuildDateTimeTypeReader.cs
rename to src/NadekoBot/_common/TypeReaders/GuildDateTimeTypeReader.cs
diff --git a/src/Nadeko.Bot.Common/Yml/CommentAttribute.cs b/src/NadekoBot/_common/Yml/CommentAttribute.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Yml/CommentAttribute.cs
rename to src/NadekoBot/_common/Yml/CommentAttribute.cs
diff --git a/src/Nadeko.Bot.Common/Yml/CommentGatheringTypeInspector.cs b/src/NadekoBot/_common/Yml/CommentGatheringTypeInspector.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Yml/CommentGatheringTypeInspector.cs
rename to src/NadekoBot/_common/Yml/CommentGatheringTypeInspector.cs
diff --git a/src/Nadeko.Bot.Common/Yml/CommentsObjectDescriptor.cs b/src/NadekoBot/_common/Yml/CommentsObjectDescriptor.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Yml/CommentsObjectDescriptor.cs
rename to src/NadekoBot/_common/Yml/CommentsObjectDescriptor.cs
diff --git a/src/Nadeko.Bot.Common/Yml/CommentsObjectGraphVisitor.cs b/src/NadekoBot/_common/Yml/CommentsObjectGraphVisitor.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Yml/CommentsObjectGraphVisitor.cs
rename to src/NadekoBot/_common/Yml/CommentsObjectGraphVisitor.cs
diff --git a/src/Nadeko.Bot.Common/Yml/MultilineScalarFlowStyleEmitter.cs b/src/NadekoBot/_common/Yml/MultilineScalarFlowStyleEmitter.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Yml/MultilineScalarFlowStyleEmitter.cs
rename to src/NadekoBot/_common/Yml/MultilineScalarFlowStyleEmitter.cs
diff --git a/src/Nadeko.Bot.Common/Yml/Rgba32Converter.cs b/src/NadekoBot/_common/Yml/Rgba32Converter.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Yml/Rgba32Converter.cs
rename to src/NadekoBot/_common/Yml/Rgba32Converter.cs
diff --git a/src/Nadeko.Bot.Common/Yml/UriConverter.cs b/src/NadekoBot/_common/Yml/UriConverter.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Yml/UriConverter.cs
rename to src/NadekoBot/_common/Yml/UriConverter.cs
diff --git a/src/Nadeko.Bot.Common/Yml/Yaml.cs b/src/NadekoBot/_common/Yml/Yaml.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/Yml/Yaml.cs
rename to src/NadekoBot/_common/Yml/Yaml.cs
diff --git a/src/Nadeko.Bot.Common/_Extensions/BotCredentialsExtensions.cs b/src/NadekoBot/_common/_Extensions/BotCredentialsExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_Extensions/BotCredentialsExtensions.cs
rename to src/NadekoBot/_common/_Extensions/BotCredentialsExtensions.cs
diff --git a/src/Nadeko.Bot.Common/_Extensions/Extensions.cs b/src/NadekoBot/_common/_Extensions/Extensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_Extensions/Extensions.cs
rename to src/NadekoBot/_common/_Extensions/Extensions.cs
diff --git a/src/Nadeko.Bot.Common/_Extensions/IMessageChannelExtensions.cs b/src/NadekoBot/_common/_Extensions/IMessageChannelExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_Extensions/IMessageChannelExtensions.cs
rename to src/NadekoBot/_common/_Extensions/IMessageChannelExtensions.cs
diff --git a/src/Nadeko.Bot.Common/_Extensions/LinkedListExtensions.cs b/src/NadekoBot/_common/_Extensions/LinkedListExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_Extensions/LinkedListExtensions.cs
rename to src/NadekoBot/_common/_Extensions/LinkedListExtensions.cs
diff --git a/src/Nadeko.Bot.Common/_Extensions/NumberExtensions.cs b/src/NadekoBot/_common/_Extensions/NumberExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_Extensions/NumberExtensions.cs
rename to src/NadekoBot/_common/_Extensions/NumberExtensions.cs
diff --git a/src/Nadeko.Bot.Common/_Extensions/ReflectionExtensions.cs b/src/NadekoBot/_common/_Extensions/ReflectionExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_Extensions/ReflectionExtensions.cs
rename to src/NadekoBot/_common/_Extensions/ReflectionExtensions.cs
diff --git a/src/Nadeko.Bot.Common/_Extensions/Rgba32Extensions.cs b/src/NadekoBot/_common/_Extensions/Rgba32Extensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_Extensions/Rgba32Extensions.cs
rename to src/NadekoBot/_common/_Extensions/Rgba32Extensions.cs
diff --git a/src/Nadeko.Bot.Common/_Extensions/SocketMessageComponentExtensions.cs b/src/NadekoBot/_common/_Extensions/SocketMessageComponentExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_Extensions/SocketMessageComponentExtensions.cs
rename to src/NadekoBot/_common/_Extensions/SocketMessageComponentExtensions.cs
diff --git a/src/Nadeko.Bot.Common/_Extensions/UserExtensions.cs b/src/NadekoBot/_common/_Extensions/UserExtensions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_Extensions/UserExtensions.cs
rename to src/NadekoBot/_common/_Extensions/UserExtensions.cs
diff --git a/src/Nadeko.Bot.Common/_common/AddRemove.cs b/src/NadekoBot/_common/_common/AddRemove.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/AddRemove.cs
rename to src/NadekoBot/_common/_common/AddRemove.cs
diff --git a/src/Nadeko.Bot.Common/_common/CmdStrings.cs b/src/NadekoBot/_common/_common/CmdStrings.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/CmdStrings.cs
rename to src/NadekoBot/_common/_common/CmdStrings.cs
diff --git a/src/Nadeko.Bot.Common/_common/CommandData.cs b/src/NadekoBot/_common/_common/CommandData.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/CommandData.cs
rename to src/NadekoBot/_common/_common/CommandData.cs
diff --git a/src/Nadeko.Bot.Common/_common/DownloadTracker.cs b/src/NadekoBot/_common/_common/DownloadTracker.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/DownloadTracker.cs
rename to src/NadekoBot/_common/_common/DownloadTracker.cs
diff --git a/src/Nadeko.Bot.Common/_common/Helpers.cs b/src/NadekoBot/_common/_common/Helpers.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/Helpers.cs
rename to src/NadekoBot/_common/_common/Helpers.cs
diff --git a/src/Nadeko.Bot.Common/_common/ImageUrls.cs b/src/NadekoBot/_common/_common/ImageUrls.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/ImageUrls.cs
rename to src/NadekoBot/_common/_common/ImageUrls.cs
diff --git a/src/Nadeko.Bot.Common/_common/JsonConverters/CultureInfoConverter.cs b/src/NadekoBot/_common/_common/JsonConverters/CultureInfoConverter.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/JsonConverters/CultureInfoConverter.cs
rename to src/NadekoBot/_common/_common/JsonConverters/CultureInfoConverter.cs
diff --git a/src/Nadeko.Bot.Common/_common/JsonConverters/Rgba32Converter.cs b/src/NadekoBot/_common/_common/JsonConverters/Rgba32Converter.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/JsonConverters/Rgba32Converter.cs
rename to src/NadekoBot/_common/_common/JsonConverters/Rgba32Converter.cs
diff --git a/src/Nadeko.Bot.Common/_common/LbOpts.cs b/src/NadekoBot/_common/_common/LbOpts.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/LbOpts.cs
rename to src/NadekoBot/_common/_common/LbOpts.cs
diff --git a/src/Nadeko.Bot.Common/_common/Linq2DbExpressions.cs b/src/NadekoBot/_common/_common/Linq2DbExpressions.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/Linq2DbExpressions.cs
rename to src/NadekoBot/_common/_common/Linq2DbExpressions.cs
diff --git a/src/Nadeko.Bot.Common/_common/LoginErrorHandler.cs b/src/NadekoBot/_common/_common/LoginErrorHandler.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/LoginErrorHandler.cs
rename to src/NadekoBot/_common/_common/LoginErrorHandler.cs
diff --git a/src/Nadeko.Bot.Common/_common/OldCreds.cs b/src/NadekoBot/_common/_common/OldCreds.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/OldCreds.cs
rename to src/NadekoBot/_common/_common/OldCreds.cs
diff --git a/src/Nadeko.Bot.Common/_common/OptionsParser.cs b/src/NadekoBot/_common/_common/OptionsParser.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/OptionsParser.cs
rename to src/NadekoBot/_common/_common/OptionsParser.cs
diff --git a/src/Nadeko.Bot.Common/_common/Pokemon/PokemonNameId.cs b/src/NadekoBot/_common/_common/Pokemon/PokemonNameId.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/Pokemon/PokemonNameId.cs
rename to src/NadekoBot/_common/_common/Pokemon/PokemonNameId.cs
diff --git a/src/Nadeko.Bot.Common/_common/Pokemon/SearchPokemon.cs b/src/NadekoBot/_common/_common/Pokemon/SearchPokemon.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/Pokemon/SearchPokemon.cs
rename to src/NadekoBot/_common/_common/Pokemon/SearchPokemon.cs
diff --git a/src/Nadeko.Bot.Common/_common/Pokemon/SearchPokemonAbility.cs b/src/NadekoBot/_common/_common/Pokemon/SearchPokemonAbility.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/Pokemon/SearchPokemonAbility.cs
rename to src/NadekoBot/_common/_common/Pokemon/SearchPokemonAbility.cs
diff --git a/src/Nadeko.Bot.Common/_common/RequireObjectPropertiesContractResolver.cs b/src/NadekoBot/_common/_common/RequireObjectPropertiesContractResolver.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/RequireObjectPropertiesContractResolver.cs
rename to src/NadekoBot/_common/_common/RequireObjectPropertiesContractResolver.cs
diff --git a/src/Nadeko.Bot.Common/_common/TriviaQuestionModel.cs b/src/NadekoBot/_common/_common/TriviaQuestionModel.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/TriviaQuestionModel.cs
rename to src/NadekoBot/_common/_common/TriviaQuestionModel.cs
diff --git a/src/Nadeko.Bot.Common/_common/TypeReaders/EmoteTypeReader.cs b/src/NadekoBot/_common/_common/TypeReaders/EmoteTypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/TypeReaders/EmoteTypeReader.cs
rename to src/NadekoBot/_common/_common/TypeReaders/EmoteTypeReader.cs
diff --git a/src/Nadeko.Bot.Common/_common/TypeReaders/GuildTypeReader.cs b/src/NadekoBot/_common/_common/TypeReaders/GuildTypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/TypeReaders/GuildTypeReader.cs
rename to src/NadekoBot/_common/_common/TypeReaders/GuildTypeReader.cs
diff --git a/src/Nadeko.Bot.Common/_common/TypeReaders/GuildUserTypeReader.cs b/src/NadekoBot/_common/_common/TypeReaders/GuildUserTypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/TypeReaders/GuildUserTypeReader.cs
rename to src/NadekoBot/_common/_common/TypeReaders/GuildUserTypeReader.cs
diff --git a/src/Nadeko.Bot.Common/_common/TypeReaders/KwumTypeReader.cs b/src/NadekoBot/_common/_common/TypeReaders/KwumTypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/TypeReaders/KwumTypeReader.cs
rename to src/NadekoBot/_common/_common/TypeReaders/KwumTypeReader.cs
diff --git a/src/Nadeko.Bot.Common/_common/TypeReaders/Models/PermissionAction.cs b/src/NadekoBot/_common/_common/TypeReaders/Models/PermissionAction.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/TypeReaders/Models/PermissionAction.cs
rename to src/NadekoBot/_common/_common/TypeReaders/Models/PermissionAction.cs
diff --git a/src/Nadeko.Bot.Common/_common/TypeReaders/Models/StoopidTime.cs b/src/NadekoBot/_common/_common/TypeReaders/Models/StoopidTime.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/TypeReaders/Models/StoopidTime.cs
rename to src/NadekoBot/_common/_common/TypeReaders/Models/StoopidTime.cs
diff --git a/src/Nadeko.Bot.Common/_common/TypeReaders/ModuleTypeReader.cs b/src/NadekoBot/_common/_common/TypeReaders/ModuleTypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/TypeReaders/ModuleTypeReader.cs
rename to src/NadekoBot/_common/_common/TypeReaders/ModuleTypeReader.cs
diff --git a/src/Nadeko.Bot.Common/_common/TypeReaders/PermissionActionTypeReader.cs b/src/NadekoBot/_common/_common/TypeReaders/PermissionActionTypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/TypeReaders/PermissionActionTypeReader.cs
rename to src/NadekoBot/_common/_common/TypeReaders/PermissionActionTypeReader.cs
diff --git a/src/Nadeko.Bot.Common/_common/TypeReaders/Rgba32TypeReader.cs b/src/NadekoBot/_common/_common/TypeReaders/Rgba32TypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/TypeReaders/Rgba32TypeReader.cs
rename to src/NadekoBot/_common/_common/TypeReaders/Rgba32TypeReader.cs
diff --git a/src/Nadeko.Bot.Common/_common/TypeReaders/StoopidTimeTypeReader.cs b/src/NadekoBot/_common/_common/TypeReaders/StoopidTimeTypeReader.cs
similarity index 100%
rename from src/Nadeko.Bot.Common/_common/TypeReaders/StoopidTimeTypeReader.cs
rename to src/NadekoBot/_common/_common/TypeReaders/StoopidTimeTypeReader.cs