Telegram 电报机器人Api:如何使用C#发送照片?

Telegram 电报机器人Api:如何使用C#发送照片?,telegram,telegram-bot,Telegram,Telegram Bot,sendPhoto命令需要一个定义为InputFile或String的参数photo API文档说明: 要发送的照片。您可以将文件id作为字符串传递以重新发送照片 已经在电报服务器上,或者使用 多部分/表单数据。 及 输入文件 此对象表示要上载的文件的内容。必须是 以通常的方式使用多部分/表单数据发布文件 通过浏览器上传。我不是C#开发人员,但我使用lib生成了这段代码 只要调整一下就行了 这是一个工作的、参数化的代码示例: 使用System.Linq; 使用System.IO; 使用系统文本;

sendPhoto命令需要一个定义为InputFile或String的参数photo

API文档说明:

要发送的照片。您可以将文件id作为字符串传递以重新发送照片 已经在电报服务器上,或者使用 多部分/表单数据。 及

输入文件

此对象表示要上载的文件的内容。必须是 以通常的方式使用多部分/表单数据发布文件 通过浏览器上传。

我不是C#开发人员,但我使用lib生成了这段代码


只要调整一下就行了

这是一个工作的、参数化的代码示例:

使用System.Linq;
使用System.IO;
使用系统文本;
使用System.Net.Http;
使用System.Threading.Tasks;
命名空间控制台应用程序
{
公共课程
{
公共静态void Main(字符串[]args)
{
SendPhoto(参数[0],参数[1],参数[2])。等待();
}
公共异步静态任务SendPhoto(字符串chatId、字符串文件路径、字符串令牌)
{
var url=string.Format(“https://api.telegram.org/bot{0}/sendPhoto”,令牌);
var fileName=filePath.Split('\\').Last();
使用(var form=new MultipartFormDataContent())
{
Add(新的StringContent(chatId.ToString(),Encoding.UTF8),“chat_id”);
使用(FileStream FileStream=newfilestream(filePath,FileMode.Open,FileAccess.Read))
{
添加(新的流内容(文件流),“照片”,文件名);
使用(var client=new HttpClient())
{
等待客户端。PostAsync(url、表单);
}
}
}
}
}
}
var client = new RestClient("https://api.telegram.org/bot%3Ctoken%3E/sendPhoto");
var request = new RestRequest(Method.POST);
request.AddHeader("postman-token", "7bb24813-8e63-0e5a-aa55-420a7d89a82c");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "multipart/form-data; boundary=---011000010111000001101001");
request.AddParameter("multipart/form-data; boundary=---011000010111000001101001", "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"photo\"; filename=\"[object Object]\"\r\nContent-Type: false\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"chat_id\"\r\n\r\n2314123\r\n-----011000010111000001101001--", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);