从机器人向用户发送相同的图像,以防止下载两次

问题描述 投票:0回答:1

我正在使用Telegram.Bot库创建一个带有c#的电报机器人,但我的问题更多的是关于特定库的电报机器人api,所以任何使用电报机器人api的人都可以回答我的问题。

问题是,如果我以正常方式发送,我想多次向用户发送图像:

//Code Used in This Specific library to normally send a message with image attached to it
InputOnlineFile imageFile = new InputOnlineFile(new MemoryStream(File.ReadAllBytes("filePath")));
botClient.SendPhotoAsync(ChatId, imageFile, caption);  

这会导致每个包含图像的邮件都有一个单独的messageId,因此用户必须单独下载每个图像。

发送相同消息的另一种方法是发送一条消息,如上所述并存储它的messageId和其他消息而不是发送新消息,只需将第一条消息转发给同一用户,如下所示:

//Code Used in This Specific library to forward a message
botClient.ForwardMessageAsync(ChatId, ChatId, firstMessage.messageId)  

这解决了这个问题,但在图像中留下了一个丑陋的“转发自botname”标题。

那么有没有另一种方法可以完成整个事情,所以每条消息看起来都像是一样但是有相同的messageId?有没有办法将第一条消息转发给同一个用户,但摆脱了那个标题?

提前致谢

c# messaging telegram-bot
1个回答
1
投票

send photo from file之后,你将获得一个file_id.result.photo[4].file_id:本例中的AgADBQADLagxGyRN4FQwyg5Z9HLVFVFp0zIABAHza6yG8gXJ86cCAAEC

你现在可以send with file ID :)

© www.soinside.com 2019 - 2024. All rights reserved.