Merge pull request #169 from RogueException/issues/168
Support GET /channels/{id}/pins
This commit is contained in:
@@ -357,6 +357,12 @@ namespace Discord.API
|
||||
|
||||
await SendAsync("DELETE", $"channels/{channelId}/pins/{messageId}", options: options).ConfigureAwait(false);
|
||||
}
|
||||
public async Task<IReadOnlyCollection<Message>> GetPinsAsync(ulong channelId, RequestOptions options = null)
|
||||
{
|
||||
Preconditions.NotEqual(channelId, 0, nameof(channelId));
|
||||
|
||||
return await SendAsync<IReadOnlyCollection<Message>>("GET", $"channels/{channelId}/pins", options: options).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
//Channel Recipients
|
||||
public async Task AddGroupRecipientAsync(ulong channelId, ulong userId, RequestOptions options = null)
|
||||
|
||||
@@ -23,6 +23,8 @@ namespace Discord
|
||||
Task<IReadOnlyCollection<IMessage>> GetMessagesAsync(int limit = DiscordConfig.MaxMessagesPerBatch);
|
||||
/// <summary> Gets a collection of messages in this channel. </summary>
|
||||
Task<IReadOnlyCollection<IMessage>> GetMessagesAsync(ulong fromMessageId, Direction dir, int limit = DiscordConfig.MaxMessagesPerBatch);
|
||||
/// <summary> Gets a collection of pinned messages in this channel. </summary>
|
||||
Task<IReadOnlyCollection<IMessage>> GetPinnedMessagesAsync();
|
||||
/// <summary> Bulk deletes multiple messages. </summary>
|
||||
Task DeleteMessagesAsync(IEnumerable<IMessage> messages);
|
||||
|
||||
|
||||
@@ -108,6 +108,11 @@ namespace Discord
|
||||
{
|
||||
await Discord.ApiClient.DeleteDMMessagesAsync(Id, new DeleteMessagesParams { MessageIds = messages.Select(x => x.Id) }).ConfigureAwait(false);
|
||||
}
|
||||
public async Task<IReadOnlyCollection<IMessage>> GetPinnedMessagesAsync()
|
||||
{
|
||||
var models = await Discord.ApiClient.GetPinsAsync(Id);
|
||||
return models.Select(x => new Message(this, new User(x.Author.Value), x)).ToImmutableArray();
|
||||
}
|
||||
|
||||
public async Task TriggerTypingAsync()
|
||||
{
|
||||
|
||||
@@ -133,6 +133,11 @@ namespace Discord
|
||||
{
|
||||
await Discord.ApiClient.DeleteDMMessagesAsync(Id, new DeleteMessagesParams { MessageIds = messages.Select(x => x.Id) }).ConfigureAwait(false);
|
||||
}
|
||||
public async Task<IReadOnlyCollection<IMessage>> GetPinnedMessagesAsync()
|
||||
{
|
||||
var models = await Discord.ApiClient.GetPinsAsync(Id);
|
||||
return models.Select(x => new Message(this, new User(x.Author.Value), x)).ToImmutableArray();
|
||||
}
|
||||
|
||||
public async Task TriggerTypingAsync()
|
||||
{
|
||||
|
||||
@@ -102,7 +102,12 @@ namespace Discord
|
||||
{
|
||||
await Discord.ApiClient.DeleteMessagesAsync(Guild.Id, Id, new DeleteMessagesParams { MessageIds = messages.Select(x => x.Id) }).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
public async Task<IReadOnlyCollection<IMessage>> GetPinnedMessagesAsync()
|
||||
{
|
||||
var models = await Discord.ApiClient.GetPinsAsync(Id);
|
||||
return models.Select(x => new Message(this, new User(x.Author.Value), x)).ToImmutableArray();
|
||||
}
|
||||
|
||||
public async Task TriggerTypingAsync()
|
||||
{
|
||||
await Discord.ApiClient.TriggerTypingIndicatorAsync(Id).ConfigureAwait(false);
|
||||
|
||||
Reference in New Issue
Block a user