string TOKEN="354870981:AAFdcMFтокенRt56kb_Gunw19M1-JL0";
string CHAT_ID="126256687";
string url_telegram = string.Format("https://api.telegram.org/bot{0}/sendMediaGroup?chat_id={1}",TOKEN, CHAT_ID);
string sBoundary = DateTime.Now.Ticks.ToString("x");
string contentType = "multipart/form-data";
// Формируем данные JSON
Func<string, string, string, string> multiFormDataText = delegate(string key, string value, string boundary) {
var output = string.Format("--{0}\r\n", boundary);
output += string.Format("Content-Disposition: form-data; name=\"{0}\"\r\n\r\n", key);
output += value + "\r\n";
return output;
};
// Формируем данные о файлах
Func<string, string, string, string> multiFormDataText1 = delegate(string k, string v, string boundary) {
var output = string.Format("--{0}\r\n", boundary);
output += (string.Format(@"Content-Disposition: name=""{0}""; filename=""{1}""", k, v)+ "\r\n");
output += "Content-Type: image/jpeg\r\n"; // тип файла
output += v + "\r\n";
return output;
};
// Пути к файлам
string file1=@"c:\1.jpg"; // первый файл
string file2=@"c:\2.jpg"; // второй файл
// Формируем вложение
string image1=string.Format(@"attach://{0}", Path.GetFileName(file1));
string image2=string.Format(@"attach://{0}", Path.GetFileName(file2));
// Перечисляем вложения
List<object> list = new List<object>();
list.Add(new {type="photo", media= image1});
list.Add(new {type="photo", media= image2});
// Оформляем JSON
string media = Global.ZennoLab.Json.JsonConvert.SerializeObject(list);
// Подготавливаем данные для запроса
string content= multiFormDataText("media", media, sBoundary);
content+= multiFormDataText1(Path.GetFileName(file1), file1, sBoundary);
content+= multiFormDataText1(Path.GetFileName(file2), file2, sBoundary);
// Отправляем запрос
string post = ZennoPoster.HttpPost(url: url_telegram, content: content,contentPostingType: contentType);
return post;