@@ -78,6 +78,11 @@ namespace Discord.API | |||||
var request = new APIRequests.SendMessage { Content = message, Mentions = mentions }; | var request = new APIRequests.SendMessage { Content = message, Mentions = mentions }; | ||||
return Http.Post<APIResponses.SendMessage>(Endpoints.ChannelMessages(channelId), request, options); | return Http.Post<APIResponses.SendMessage>(Endpoints.ChannelMessages(channelId), request, options); | ||||
} | } | ||||
public static Task<APIResponses.EditMessage> EditMessage(string channelId, string messageId, string message, string[] mentions, HttpOptions options) | |||||
{ | |||||
var request = new APIRequests.EditMessage { Content = message, Mentions = mentions }; | |||||
return Http.Patch<APIResponses.EditMessage>(Endpoints.ChannelMessage(channelId, messageId), request, options); | |||||
} | |||||
public static Task SendIsTyping(string channelId, HttpOptions options) | public static Task SendIsTyping(string channelId, HttpOptions options) | ||||
=> Http.Post(Endpoints.ChannelTyping(channelId), options); | => Http.Post(Endpoints.ChannelTyping(channelId), options); | ||||
public static Task DeleteMessage(string channelId, string msgId, HttpOptions options) | public static Task DeleteMessage(string channelId, string msgId, HttpOptions options) | ||||
@@ -59,6 +59,7 @@ namespace Discord.API.Models | |||||
public class AcceptInvite : GetInvite { } | public class AcceptInvite : GetInvite { } | ||||
public class SendMessage : Message { } | public class SendMessage : Message { } | ||||
public class EditMessage : Message { } | |||||
public class GetMessages : Message { } | public class GetMessages : Message { } | ||||
public class GetRegions | public class GetRegions | ||||
@@ -63,6 +63,7 @@ namespace Discord.API.Models | |||||
[JsonProperty(PropertyName = "mentions")] | [JsonProperty(PropertyName = "mentions")] | ||||
public string[] Mentions; | public string[] Mentions; | ||||
} | } | ||||
public class EditMessage : SendMessage { } | |||||
public class SetMemberMute | public class SetMemberMute | ||||
{ | { | ||||
@@ -679,6 +679,26 @@ namespace Discord | |||||
} | } | ||||
} | } | ||||
public Task EditMessage(Message message, string text) | |||||
=> EditMessage(message.ChannelId, message.Id, text, new string[0]); | |||||
public Task EditMessage(Channel channel, string messageId, string text) | |||||
=> EditMessage(channel.Id, messageId, text, new string[0]); | |||||
public Task EditMessage(string channelId, string messageId, string text) | |||||
=> EditMessage(channelId, messageId, text, new string[0]); | |||||
public Task EditMessage(Message message, string text, string[] mentions) | |||||
=> EditMessage(message.ChannelId, message.Id, text, mentions); | |||||
public Task EditMessage(Channel channel, string messageId, string text, string[] mentions) | |||||
=> EditMessage(channel.Id, messageId, text, mentions); | |||||
public async Task EditMessage(string channelId, string messageId, string text, string[] mentions) | |||||
{ | |||||
CheckReady(); | |||||
if (text.Length > DiscordAPI.MaxMessageSize) | |||||
text = text.Substring(0, DiscordAPI.MaxMessageSize); | |||||
var msg = await DiscordAPI.EditMessage(channelId, messageId, text, mentions, _httpOptions); | |||||
_messages.Update(msg.Id, channelId, msg); | |||||
} | |||||
public Task DeleteMessage(Message msg) | public Task DeleteMessage(Message msg) | ||||
=> DeleteMessage(msg.ChannelId, msg.Id); | => DeleteMessage(msg.ChannelId, msg.Id); | ||||
public async Task DeleteMessage(string channelId, string msgId) | public async Task DeleteMessage(string channelId, string msgId) | ||||