예제 #1
0
        /// <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);
            }
        }