Ejemplo n.º 1
0
        public async Task <Message> EditMessage(string channelId, string messageId, MessageEdit edit)
        {
            if (edit.Content == null && !edit.Embed.HasValue)
            {
                throw new Exception("Expecting MessageEdit to have either content or embed");
            }

            var body = new Dictionary <string, string>();

            if (edit.Content != null)
            {
                body.Add("content", edit.Content);
            }

            if (edit.Embed.HasValue)
            {
                body.Add("embed", JsonConvert.SerializeObject(edit.Embed.Value));
            }

            var response = await ClientToolbox.PatchAsync(DiscordAPI.Message(channelId, messageId), body);

            if (response != null && response.IsSuccessStatusCode)
            {
                Message message = this.client.CreateStructure <Message>(await response.Content.ReadAsStringAsync());

                // TODO: Should be by reference, Client object may be large
                // Inject client
                return(this.InjectClient(ref message));
            }

            return(null);
        }
Ejemplo n.º 2
0
        public static async Task <bool> DeleteGuildEmoji(string guildId, string emojiId)
        {
            // TODO: DiscordAPI.Emoji
            var response = await ClientToolbox.DeleteAsync(DiscordAPI.Message(channelId, messageId));

            return(response.StatusCode == System.Net.HttpStatusCode.NoContent);
        }
Ejemplo n.º 3
0
        public static async Task <bool> DeleteMessage(string channelId, string messageId)
        {
            var response = await ClientToolbox.DeleteAsync(DiscordAPI.Message(channelId, messageId));

            return(response.StatusCode == System.Net.HttpStatusCode.NoContent);
        }