/// <summary> /// sends a photo to the chat /// </summary> /// <returns>on success, the sent Message is returned </returns> public Message SendPhoto(Chat chat, InputFile photo, string caption = null, MarkdownStyles markdownStyle = MarkdownStyles.None, bool disableNotification = false, Message replyToMessage = null) { Require(chat, photo); var parameters = new List <MultiPartParameter> { new MultiPartStringParameter("chat_id", chat.Id.ToString()), photo.GetMultiPartParameter("photo") }; if (!string.IsNullOrEmpty(caption)) { parameters.Add(new MultiPartStringParameter("caption", caption)); } if (markdownStyle != MarkdownStyles.None) { parameters.Add(new MultiPartStringParameter("parse_mode", Enum.GetName(typeof(MarkdownStyles), markdownStyle))); } if (disableNotification) { parameters.Add(new MultiPartStringParameter("disable_notification", disableNotification.ToString())); } if (replyToMessage != null) { parameters.Add(new MultiPartStringParameter("reply_to_message_id", replyToMessage.MessageId.ToString())); } var result = _communicator.GetMultiPartReply <SendPhotoReply>("sendPhoto", parameters.ToArray()); if (result.Ok) { return(result.SentMessage); } else { return(null); } }