commit 2028bf59679d765d77eea1f43fc018c048760b6f Author: timerix Date: Fri Nov 11 20:47:52 2022 +0600 000 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..add57be --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +bin/ +obj/ +/packages/ +riderModule.iml +/_ReSharper.Caches/ \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..e38da3f --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "DTLib"] + path = DTLib + url = https://github.com/Timerix22/DTLib.git diff --git a/.idea/.idea.VkAudioDownloader/.idea/.gitignore b/.idea/.idea.VkAudioDownloader/.idea/.gitignore new file mode 100644 index 0000000..d67a4ef --- /dev/null +++ b/.idea/.idea.VkAudioDownloader/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/contentModel.xml +/.idea.VkAudioDownloader.iml +/modules.xml +/projectSettingsUpdater.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.VkAudioDownloader/.idea/encodings.xml b/.idea/.idea.VkAudioDownloader/.idea/encodings.xml new file mode 100644 index 0000000..97626ba --- /dev/null +++ b/.idea/.idea.VkAudioDownloader/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/.idea.VkAudioDownloader/.idea/indexLayout.xml b/.idea/.idea.VkAudioDownloader/.idea/indexLayout.xml new file mode 100644 index 0000000..f5a863a --- /dev/null +++ b/.idea/.idea.VkAudioDownloader/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.VkAudioDownloader/.idea/misc.xml b/.idea/.idea.VkAudioDownloader/.idea/misc.xml new file mode 100644 index 0000000..f98d778 --- /dev/null +++ b/.idea/.idea.VkAudioDownloader/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/.idea.VkAudioDownloader/.idea/vcs.xml b/.idea/.idea.VkAudioDownloader/.idea/vcs.xml new file mode 100644 index 0000000..9661ac7 --- /dev/null +++ b/.idea/.idea.VkAudioDownloader/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/DTLib b/DTLib new file mode 160000 index 0000000..f6d045a --- /dev/null +++ b/DTLib @@ -0,0 +1 @@ +Subproject commit f6d045ae2d97691d67bfa82a26e9c100bb3215a1 diff --git a/VkAudioDownloader.CLI/Program.cs b/VkAudioDownloader.CLI/Program.cs new file mode 100644 index 0000000..a67c86a --- /dev/null +++ b/VkAudioDownloader.CLI/Program.cs @@ -0,0 +1,13 @@ +// See https://aka.ms/new-console-template for more information + +using VkAudioDownloader; + + +var client = new VkClient(new VkClientConfig() +{ + AppId = 51473647, + Login = "aaa", + Password = "aaa" +}); +client.Connect(); +Console.WriteLine(client.Api.Token); diff --git a/VkAudioDownloader.CLI/VkAudioDownloader.CLI.csproj b/VkAudioDownloader.CLI/VkAudioDownloader.CLI.csproj new file mode 100644 index 0000000..efc7f5a --- /dev/null +++ b/VkAudioDownloader.CLI/VkAudioDownloader.CLI.csproj @@ -0,0 +1,14 @@ + + + + Exe + net6.0 + enable + enable + + + + + + + diff --git a/VkAudioDownloader.sln b/VkAudioDownloader.sln new file mode 100644 index 0000000..8115611 --- /dev/null +++ b/VkAudioDownloader.sln @@ -0,0 +1,34 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VkAudioDownloader", "VkAudioDownloader\VkAudioDownloader.csproj", "{5F117DA9-78F4-4362-AD98-0231B81511E9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VkAudioDownloader.CLI", "VkAudioDownloader.CLI\VkAudioDownloader.CLI.csproj", "{5ECC83C5-B53F-4CA7-ABDE-E2ACE8F48FED}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DTLib", "DTLib\DTLib\DTLib.csproj", "{5A02279F-F246-4101-BAA7-71EC5FAF2CAF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DTLib.Dtsod", "DTLib\DTLib.Dtsod\DTLib.Dtsod.csproj", "{F6FA6507-8A20-43F8-9D88-4CB2F049780D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5F117DA9-78F4-4362-AD98-0231B81511E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5F117DA9-78F4-4362-AD98-0231B81511E9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5F117DA9-78F4-4362-AD98-0231B81511E9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5F117DA9-78F4-4362-AD98-0231B81511E9}.Release|Any CPU.Build.0 = Release|Any CPU + {5ECC83C5-B53F-4CA7-ABDE-E2ACE8F48FED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5ECC83C5-B53F-4CA7-ABDE-E2ACE8F48FED}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5ECC83C5-B53F-4CA7-ABDE-E2ACE8F48FED}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5ECC83C5-B53F-4CA7-ABDE-E2ACE8F48FED}.Release|Any CPU.Build.0 = Release|Any CPU + {5A02279F-F246-4101-BAA7-71EC5FAF2CAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5A02279F-F246-4101-BAA7-71EC5FAF2CAF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5A02279F-F246-4101-BAA7-71EC5FAF2CAF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5A02279F-F246-4101-BAA7-71EC5FAF2CAF}.Release|Any CPU.Build.0 = Release|Any CPU + {F6FA6507-8A20-43F8-9D88-4CB2F049780D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F6FA6507-8A20-43F8-9D88-4CB2F049780D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F6FA6507-8A20-43F8-9D88-4CB2F049780D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F6FA6507-8A20-43F8-9D88-4CB2F049780D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/VkAudioDownloader.sln.DotSettings.user b/VkAudioDownloader.sln.DotSettings.user new file mode 100644 index 0000000..2c4fd83 --- /dev/null +++ b/VkAudioDownloader.sln.DotSettings.user @@ -0,0 +1,4 @@ + + <AssemblyExplorer> + <Assembly Path="C:\Users\User\.nuget\packages\vknet\1.72.0\lib\net6.0\VkNet.dll" /> +</AssemblyExplorer> \ No newline at end of file diff --git a/VkAudioDownloader/VkAudioDownloader.csproj b/VkAudioDownloader/VkAudioDownloader.csproj new file mode 100644 index 0000000..69369f7 --- /dev/null +++ b/VkAudioDownloader/VkAudioDownloader.csproj @@ -0,0 +1,18 @@ + + + + net6.0 + enable + enable + + + + + + + + + + + + diff --git a/VkAudioDownloader/VkClient.cs b/VkAudioDownloader/VkClient.cs new file mode 100644 index 0000000..17d0995 --- /dev/null +++ b/VkAudioDownloader/VkClient.cs @@ -0,0 +1,45 @@ +global using DTLib; +global using DTLib.Extensions; +using DTLib.Logging; +using Microsoft.Extensions.DependencyInjection; +using VkNet; +using VkNet.Enums.Filters; +using VkNet.Model; + +namespace VkAudioDownloader; + + + +public class VkClient : IDisposable +{ + public VkApi Api; + public VkClientConfig Config; + + public VkClient(VkClientConfig conf) + { + Config = conf; + var services = new ServiceCollection(); + //services.AddSingleton(); + Api = new VkApi(services); + + } + + public void Connect() + { + Api.Authorize(new ApiAuthParams + { + ApplicationId = Config.AppId, + Login = Config.Login, + Password = Config.Password, + Settings = Settings.Audio + }); + } + + private bool Disposed = false; + public void Dispose() + { + if (Disposed) return; + Api.Dispose(); + Disposed = true; + } +} \ No newline at end of file diff --git a/VkAudioDownloader/VkClientConfig.cs b/VkAudioDownloader/VkClientConfig.cs new file mode 100644 index 0000000..1e25245 --- /dev/null +++ b/VkAudioDownloader/VkClientConfig.cs @@ -0,0 +1,31 @@ +global using DTLib.Dtsod; + +namespace VkAudioDownloader; + +public class VkClientConfig +{ + /// account password + public string Password; + /// account login (email/phone number) + public string Login; + /// vk app id from https://vk.com/apps?act=manage + public ulong AppId; + + + public static VkClientConfig FromDtsod(DtsodV23 dtsod) => + new VkClientConfig + { + Password = dtsod["password"], + Login = dtsod["login"], + AppId = dtsod["app_id"] + }; + + public DtsodV23 ToDtsod() => + new DtsodV23 + { + { "password", Password }, + { "login", Login }, + { "app_id", AppId } + }; + +} \ No newline at end of file