我正在使用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?有没有办法将第一条消息转发给同一个用户,但摆脱了那个标题?
提前致谢
在send photo from file之后,你将获得一个file_id
(.result.photo[4].file_id
:本例中的AgADBQADLagxGyRN4FQwyg5Z9HLVFVFp0zIABAHza6yG8gXJ86cCAAEC
)
你现在可以send with file ID :)