电报API,上传图像以获取VB.NET中的FileID

时间:2017-07-04 13:34:45

标签: vb.net bots telegram

我最近开始在VB.NET中构建一个小机器人并且相当远。虽然,有一些事情我只是没有走得太远。 其中一件事是上传图片。

我使用Telegram API作为DLL,到目前为止非常好。 虽然,我很难上传图片。

代码本身是Telegram.bot.SendPhoto.sendFromFile_id(chat_id, <fileID goes here>)

它几乎是自我解释,但我不知道如何获得fileID。 API本身并没有解释如何做到这一点,而且我在阅读其他语言的其他代码并将其翻译成我现在正在使用的语言时并不是那么好。

我可以尝试使用哪种解决方案吗?

1 个答案:

答案 0 :(得分:0)

Telegram API关于FileID(Source:Telegram Bot API)的文档描述:

发送文件有三种方式(照片,贴纸,音频,媒体等):

  1. 如果文件已存储在Telegram服务器的某个位置,则无需重新上载:每个文件对象都有一个file_id字段,只需将此file_id作为参数传递而不是上传。以这种方式发送的文件没有限制。
  2. 为Telegram提供要发送的文件的HTTP URL。电报将下载并发送文件。照片最大尺寸为5 MB,其他类型内容最大尺寸为20 MB。

  3. 使用multipart / form-data以通常的方式发布文件,通过浏览器上传文件。照片最大尺寸为10 MB,其他文件最大尺寸为50 MB。

  4. 我有同样的问题并以这种方式解决:

    1.首先将图片上传到云端并获取图片网址

    2.set URL file_ID

    C#代码示例:

    String ID = bot.chat_id;
    bot.SendPhoto.sendFromFile_id(ID, "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png");