diff --git a/.gitmodules b/.gitmodules
index e38da3f..af642d1 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,9 @@
[submodule "DTLib"]
path = DTLib
url = https://github.com/Timerix22/DTLib.git
+[submodule "vknet"]
+ path = vknet
+ url = https://github.com/Timerix22/vknet
+[submodule "VkNet.AudioBypass"]
+ path = VkNet.AudioBypass
+ url = https://github.com/Timerix22/VkNet.AudioBypass
diff --git a/.idea/.idea.VkAudioDownloader/.idea/vcs.xml b/.idea/.idea.VkAudioDownloader/.idea/vcs.xml
index 9661ac7..cfebfd3 100644
--- a/.idea/.idea.VkAudioDownloader/.idea/vcs.xml
+++ b/.idea/.idea.VkAudioDownloader/.idea/vcs.xml
@@ -2,5 +2,8 @@
+
+
+
\ No newline at end of file
diff --git a/VkAudioDownloader.CLI/Program.cs b/VkAudioDownloader.CLI/Program.cs
index a67c86a..74b8de9 100644
--- a/VkAudioDownloader.CLI/Program.cs
+++ b/VkAudioDownloader.CLI/Program.cs
@@ -1,13 +1,11 @@
-// See https://aka.ms/new-console-template for more information
-
+using DTLib.Dtsod;
using VkAudioDownloader;
-
-var client = new VkClient(new VkClientConfig()
-{
- AppId = 51473647,
- Login = "aaa",
- Password = "aaa"
-});
+var client = new VkClient(VkClientConfig.FromDtsod(new DtsodV23(File.ReadAllText("config.dtsod"))));
client.Connect();
Console.WriteLine(client.Api.Token);
+var audios = client.FindAudio("моя оборона");
+foreach (var a in audios)
+{
+ Console.WriteLine(a.Title);
+}
diff --git a/VkAudioDownloader.CLI/VkAudioDownloader.CLI.csproj b/VkAudioDownloader.CLI/VkAudioDownloader.CLI.csproj
index efc7f5a..30f41bc 100644
--- a/VkAudioDownloader.CLI/VkAudioDownloader.CLI.csproj
+++ b/VkAudioDownloader.CLI/VkAudioDownloader.CLI.csproj
@@ -3,6 +3,7 @@
Exe
net6.0
+ 10
enable
enable
diff --git a/VkAudioDownloader.CLI/config.dtsod.default b/VkAudioDownloader.CLI/config.dtsod.default
new file mode 100644
index 0000000..e5867dc
--- /dev/null
+++ b/VkAudioDownloader.CLI/config.dtsod.default
@@ -0,0 +1,3 @@
+app_id: 0ul;
+login: " ";
+password: " ";
diff --git a/VkAudioDownloader.sln b/VkAudioDownloader.sln
index 8115611..f47fb9a 100644
--- a/VkAudioDownloader.sln
+++ b/VkAudioDownloader.sln
@@ -8,6 +8,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DTLib", "DTLib\DTLib\DTLib.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DTLib.Dtsod", "DTLib\DTLib.Dtsod\DTLib.Dtsod.csproj", "{F6FA6507-8A20-43F8-9D88-4CB2F049780D}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VkNet", "vknet\VkNet\VkNet.csproj", "{123A7020-4C9B-4F7D-A27A-3002A7B21D4C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VkNet.Generators", "vknet\VkNet.Generators\VkNet.Generators.csproj", "{BD698045-3408-40C1-AEEF-865219710EE2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VkNet.AudioBypassService", "VkNet.AudioBypass\VkNet.AudioBypassService\VkNet.AudioBypassService.csproj", "{5650A6DD-602D-49FF-A0B0-DB59BD63EACE}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -30,5 +36,17 @@ Global
{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
+ {123A7020-4C9B-4F7D-A27A-3002A7B21D4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {123A7020-4C9B-4F7D-A27A-3002A7B21D4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {123A7020-4C9B-4F7D-A27A-3002A7B21D4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {123A7020-4C9B-4F7D-A27A-3002A7B21D4C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BD698045-3408-40C1-AEEF-865219710EE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BD698045-3408-40C1-AEEF-865219710EE2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BD698045-3408-40C1-AEEF-865219710EE2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BD698045-3408-40C1-AEEF-865219710EE2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5650A6DD-602D-49FF-A0B0-DB59BD63EACE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5650A6DD-602D-49FF-A0B0-DB59BD63EACE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5650A6DD-602D-49FF-A0B0-DB59BD63EACE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5650A6DD-602D-49FF-A0B0-DB59BD63EACE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/VkAudioDownloader/VkAudioDownloader.csproj b/VkAudioDownloader/VkAudioDownloader.csproj
index 69369f7..4477e6d 100644
--- a/VkAudioDownloader/VkAudioDownloader.csproj
+++ b/VkAudioDownloader/VkAudioDownloader.csproj
@@ -2,17 +2,18 @@
net6.0
+ 10
enable
enable
-
-
-
-
-
-
+
+
+
+
+
diff --git a/VkAudioDownloader/VkClient.cs b/VkAudioDownloader/VkClient.cs
index 17d0995..24e5c6b 100644
--- a/VkAudioDownloader/VkClient.cs
+++ b/VkAudioDownloader/VkClient.cs
@@ -2,9 +2,15 @@
global using DTLib.Extensions;
using DTLib.Logging;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.DependencyInjection.Extensions;
using VkNet;
using VkNet.Enums.Filters;
using VkNet.Model;
+using VkNet.Model.RequestParams;
+using VkNet.Utils;
+using VkNet.Model.Attachments;
+using VkNet.AudioBypassService;
+using VkNet.AudioBypassService.Extensions;
namespace VkAudioDownloader;
@@ -20,19 +26,48 @@ public class VkClient : IDisposable
Config = conf;
var services = new ServiceCollection();
//services.AddSingleton();
+ services.AddAudioBypass();
Api = new VkApi(services);
}
public void Connect()
{
- Api.Authorize(new ApiAuthParams
+ var authParams = new ApiAuthParams
{
ApplicationId = Config.AppId,
- Login = Config.Login,
- Password = Config.Password,
Settings = Settings.Audio
+ };
+ if (Config.Token is not null)
+ {
+ Console.WriteLine("authorizing by token");
+ authParams.AccessToken = Config.Token;
+ }
+ else
+ {
+ Console.WriteLine("authorizing by login and password");
+ authParams.Login = Config.Login;
+ authParams.Password = Config.Password;
+ }
+ Api.Authorize(authParams);
+ }
+
+ public VkCollection