Example #1
0
        public static async Task <Message> EditImage(this ITelegramClient bot, Message message, string imageUrl, string text = null, RequestItem item = null, InlineKeyboardMarkup replies = null)
        {
            var defaultPoster = Assembly.GetExecutingAssembly().GetResource("Assets.default_poster.png");
            var image         = await WebResource.Exists(imageUrl) ? new InputMedia(imageUrl) : new InputMedia(defaultPoster, "default_poster");

            if (message.Type == MessageType.Photo)
            {
                return(await bot.Client.EditMessageMediaAsync(
                           chatId : message.Chat,
                           messageId : message.MessageId,
                           media : new InputMediaPhoto(image)
                {
                    Caption = item?.AsString(text) ?? text ?? message.Caption
                },
                           replyMarkup : replies
                           ));
            }

            await bot.Client.DeleteMessageAsync(message.Chat, message.MessageId);

            return(await bot.Client.SendPhotoAsync(
                       chatId : message.Chat,
                       photo : image,
                       caption : item?.AsString(text) ?? text ?? message.Text,
                       replyMarkup : replies
                       ));
        }
Example #2
0
        public static async Task <Message> SendImage(this ITelegramClient bot, ChatId chatId, string imageUrl, string text = null, InlineKeyboardMarkup replies = null)
        {
            var defaultPoster = Assembly.GetExecutingAssembly().GetResource("Assets.default_poster.png");
            var image         = await WebResource.Exists(imageUrl) ? new InputMedia(imageUrl) : new InputMedia(defaultPoster, "default_poster");

            return(await bot.Client.SendPhotoAsync(
                       chatId : chatId,
                       photo : image,
                       caption : text,
                       replyMarkup : replies
                       ));
        }