public async Task SendMessage(string message, MessageEmbed embed = null, IEnumerable <IMessageAttachment> attachments = null) { if (message == null && embed == null && attachments == null) { throw new ArgumentException("All parmeters are null. At least one must be set."); } if (UnmessagableChannelTypes.Contains(ChannelType)) { throw new InvalidOperationException($"Cannot send message to channel type '{ChannelType}'."); } if (message == string.Empty) { throw new ArgumentOutOfRangeException(nameof(message), "Message must be non-empty."); } if (message?.Length > 2000) { throw new ArgumentOutOfRangeException(nameof(message), "Message must be less than or equal to 2000 characters."); } var body = new JObject(); if (message != null) { body["content"] = message; } if (embed != null) { body["embed"] = JObject.FromObject(embed); } await Bot.SendJson(HttpMethod.Post, Connectivity.ChannelMessagesPathFormat, new[] { Id }, doc : body, attachments : attachments); }
public async Task SendMessage(MessageEmbed embed) { await SendMessage(null, embed); }
public async Task SendMessage(string message, MessageEmbed embed = null, IEnumerable <IMessageAttachment> attachments = null) { await(await GetDmChannel()).SendMessage(message, embed: embed, attachments: attachments); }