From 699694db7c2f1951d4a96e4dac3dc659f6643f24 Mon Sep 17 00:00:00 2001 From: flashwave Date: Sat, 20 May 2017 03:29:03 +0200 Subject: [PATCH] editing --- Maki/DiscordChannel.cs | 17 +++++++++++++++++ Maki/DiscordMessage.cs | 19 +++++++++++++++++-- Maki/Maki.csproj | 1 + Maki/Structures/Rest/MessageEdit.cs | 14 ++++++++++++++ 4 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 Maki/Structures/Rest/MessageEdit.cs diff --git a/Maki/DiscordChannel.cs b/Maki/DiscordChannel.cs index 2f2c8b3..39d3c18 100644 --- a/Maki/DiscordChannel.cs +++ b/Maki/DiscordChannel.cs @@ -69,5 +69,22 @@ namespace Maki client.messages.Add(message); return message; } + + public DiscordMessage Send(string text, DiscordEmbed embed) + { + RestResponse msg = client.RestClient.Request( + RestRequestMethod.POST, + RestEndpoints.ChannelMessages(Id), + new MessageCreate + { + Text = text, + Embed = embed.ToStruct(), + } + ); + + DiscordMessage message = new DiscordMessage(client, msg.Response, client.members.Find(x => x.User.Id == msg.Response.User.Id), this); + client.messages.Add(message); + return message; + } } } diff --git a/Maki/DiscordMessage.cs b/Maki/DiscordMessage.cs index 7b17646..452cbe5 100644 --- a/Maki/DiscordMessage.cs +++ b/Maki/DiscordMessage.cs @@ -1,4 +1,6 @@ -using Maki.Structures.Messages; +using Maki.Rest; +using Maki.Structures.Messages; +using Maki.Structures.Rest; using System; using System.Linq; @@ -40,9 +42,22 @@ namespace Maki IsPinned = msg.IsPinned == true; } - public DiscordMessage Edit(string text) + public DiscordMessage Edit(string text = null, DiscordEmbed embed = null) { + RestResponse msg = client.RestClient.Request(RestRequestMethod.PATCH, RestEndpoints.ChannelMessage(Channel.Id, Id), new MessageEdit { + Text = text, + Embed = embed?.ToStruct(), + }); + + Text = msg.Response.Content; + Edited = msg.Response.Edited ?? DateTime.UtcNow; + return this; } + + public void Delete() + { + client.RestClient.Request(RestRequestMethod.DELETE, RestEndpoints.ChannelMessage(Channel.Id, Id)); + } } } diff --git a/Maki/Maki.csproj b/Maki/Maki.csproj index 396304e..ee88118 100644 --- a/Maki/Maki.csproj +++ b/Maki/Maki.csproj @@ -119,6 +119,7 @@ + diff --git a/Maki/Structures/Rest/MessageEdit.cs b/Maki/Structures/Rest/MessageEdit.cs new file mode 100644 index 0000000..421cdd9 --- /dev/null +++ b/Maki/Structures/Rest/MessageEdit.cs @@ -0,0 +1,14 @@ +using Maki.Structures.Embeds; +using Newtonsoft.Json; + +namespace Maki.Structures.Rest +{ + internal struct MessageEdit + { + [JsonProperty("content")] + public string Text; + + [JsonProperty("embed")] + public Embed? Embed; + } +}