Skip to content

Commit

Permalink
Добавил методы wall.openComments и wall.closeComments (#792)
Browse files Browse the repository at this point in the history
* Добавил методы wall.openComments и wall.closeComments и их асинхронные варианты

* Исправил форматирование wall.openComments и wall.closeComments
  • Loading branch information
equuskk authored and inyutin-maxim committed Feb 6, 2019
1 parent e0d2853 commit 87da70f
Show file tree
Hide file tree
Showing 5 changed files with 158 additions and 4 deletions.
26 changes: 25 additions & 1 deletion VkNet.Tests/Categories/Wall/WallCategoryTest.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using NUnit.Framework;
Expand Down Expand Up @@ -318,5 +318,29 @@ public void Repost_UrlIsGeneratedCorrectly()
Assert.That(result.RepostsCount, Is.EqualTo(21));
Assert.That(result.LikesCount, Is.EqualTo(105));
}

[Test]
public void OpenComments_ReturnTrue()
{
Url = "https://api.vk.com/method/wall.openComments";

ReadJsonFile(JsonPaths.True);

var result = Api.Wall.OpenComments(3, 3);

Assert.IsTrue(result);
}

[Test]
public void CloseComments_ReturnTrue()
{
Url = "https://api.vk.com/method/wall.closeComments";

ReadJsonFile(JsonPaths.True);

var result = Api.Wall.CloseComments(3, 3);

Assert.IsTrue(result);
}
}
}
50 changes: 49 additions & 1 deletion VkNet/Abstractions/Category/Async/IWallCategoryAsync.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
using System.Threading.Tasks;
using VkNet.Enums;
using VkNet.Enums.Filters;
Expand Down Expand Up @@ -508,5 +508,53 @@ Task<WallGetObject> GetByIdAsync(IEnumerable<string> posts
/// Страница документации ВКонтакте http://vk.com/dev/wall.postAdsStealth
/// </remarks>
Task<long> PostAdsStealthAsync(PostAdsStealthParams @params);

/// <summary>
/// Включает комментирование записи
/// Работает только с конкретными записями, комментирование которых было
/// выключено с помощью wall.closeComments
/// </summary>
/// <param name="ownerId">
/// Идентификатор пользователя или сообщества, на стене которого находится запись.
/// Обратите внимание,
/// идентификатор сообщества в параметре owner_id необходимо указывать со знаком
/// "-" — например, owner_id=-1
/// соответствует идентификатору сообщества ВКонтакте API (club1).
/// </param>
/// <param name="postId">
/// Идентификатор записи на стене. положительное число, обязательный параметр
/// (Положительное число,
/// обязательный параметр).
/// </param>
/// <returns>
/// После успешного выполнения возвращает <c> true </c>.
/// </returns>
/// <remarks>
/// Страница документации ВКонтакте http://vk.com/dev/wall.openComments
/// </remarks>
Task<bool> OpenCommentsAsync(long ownerId, long postId);

/// <summary>
/// Выключает комментирование записи
/// </summary>
/// <param name="ownerId">
/// Идентификатор пользователя или сообщества, на стене которого находится запись.
/// Обратите внимание,
/// идентификатор сообщества в параметре owner_id необходимо указывать со знаком
/// "-" — например, owner_id=-1
/// соответствует идентификатору сообщества ВКонтакте API (club1).
/// </param>
/// <param name="postId">
/// Идентификатор записи на стене. положительное число, обязательный параметр
/// (Положительное число,
/// обязательный параметр).
/// </param>
/// <returns>
/// После успешного выполнения возвращает <c> true </c>.
/// </returns>
/// <remarks>
/// Страница документации ВКонтакте http://vk.com/dev/wall.closeComments
/// </remarks>
Task<bool> CloseCommentsAsync(long ownerId, long postId);
}
}
50 changes: 49 additions & 1 deletion VkNet/Abstractions/Category/IWallCategory.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
using VkNet.Enums;
using VkNet.Enums.Filters;
using VkNet.Model;
Expand Down Expand Up @@ -507,5 +507,53 @@ WallGetObject GetById(IEnumerable<string> posts
/// Страница документации ВКонтакте http://vk.com/dev/wall.postAdsStealth
/// </remarks>
long PostAdsStealth(PostAdsStealthParams @params);

/// <summary>
/// Включает комментирование записи
/// Работает только с конкретными записями, комментирование которых было
/// выключено с помощью wall.closeComments
/// </summary>
/// <param name="ownerId">
/// Идентификатор пользователя или сообщества, на стене которого находится запись.
/// Обратите внимание,
/// идентификатор сообщества в параметре owner_id необходимо указывать со знаком
/// "-" — например, owner_id=-1
/// соответствует идентификатору сообщества ВКонтакте API (club1).
/// </param>
/// <param name="postId">
/// Идентификатор записи на стене. положительное число, обязательный параметр
/// (Положительное число,
/// обязательный параметр).
/// </param>
/// <returns>
/// После успешного выполнения возвращает <c> true </c>.
/// </returns>
/// <remarks>
/// Страница документации ВКонтакте http://vk.com/dev/wall.openComments
/// </remarks>
bool OpenComments(long ownerId, long postId);

/// <summary>
/// Выключает комментирование записи
/// </summary>
/// <param name="ownerId">
/// Идентификатор пользователя или сообщества, на стене которого находится запись.
/// Обратите внимание,
/// идентификатор сообщества в параметре owner_id необходимо указывать со знаком
/// "-" — например, owner_id=-1
/// соответствует идентификатору сообщества ВКонтакте API (club1).
/// </param>
/// <param name="postId">
/// Идентификатор записи на стене. положительное число, обязательный параметр
/// (Положительное число,
/// обязательный параметр).
/// </param>
/// <returns>
/// После успешного выполнения возвращает <c> true </c>.
/// </returns>
/// <remarks>
/// Страница документации ВКонтакте http://vk.com/dev/wall.closeComments
/// </remarks>
bool CloseComments(long ownerId, long postId);
}
}
12 changes: 12 additions & 0 deletions VkNet/Categories/Async/WallCategoryAsync.cs
Original file line number Diff line number Diff line change
Expand Up @@ -157,5 +157,17 @@ public Task<long> PostAdsStealthAsync(PostAdsStealthParams @params)
{
return TypeHelper.TryInvokeMethodAsync(func: () =>PostAdsStealth(@params: @params));
}

/// <inheritdoc />
public Task<bool> OpenCommentsAsync(long ownerId, long postId)
{
return TypeHelper.TryInvokeMethodAsync(func: () => OpenComments(ownerId, postId));
}

/// <inheritdoc />
public Task<bool> CloseCommentsAsync(long ownerId, long postId)
{
return TypeHelper.TryInvokeMethodAsync(func: () => CloseComments(ownerId, postId));
}
}
}
24 changes: 23 additions & 1 deletion VkNet/Categories/WallCategory.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using VkNet.Abstractions;
Expand Down Expand Up @@ -258,5 +258,27 @@ public long PostAdsStealth(PostAdsStealthParams @params)
{
return _vk.Call(methodName: "wall.postAdsStealth", parameters: @params);
}

/// <inheritdoc />
public bool OpenComments(long ownerId, long postId)
{
var parameters = new VkParameters
{
{ "owner_id", ownerId }, { "post_id", postId }
};

return _vk.Call(methodName: "wall.openComments", parameters: parameters);
}

/// <inheritdoc />
public bool CloseComments(long ownerId, long postId)
{
var parameters = new VkParameters
{
{ "owner_id", ownerId }, { "post_id", postId }
};

return _vk.Call(methodName: "wall.closeComments", parameters: parameters);
}
}
}

0 comments on commit 87da70f

Please sign in to comment.