Помогите разобраться - отправка картинки в Телеграм канал через API

  • Автор темы Автор темы backoff
  • Дата начала Дата начала
C#:
Развернуть Свернуть Копировать
string data = "--8d769bc78125cd4\n";
data += string.Format("Content-Disposition: form-data; name=\"photo\"; filename=\"{0}\"\n", img);
data += "Content-Type: application/octet-stream\n";
data += img;
объясните пожалуйста этот кусок для понимания...
что тут делается..
 
Здравствуйте помогите отправить видео файл с компа.
Что поменять?
https://api.telegram.org/bot{-Variable.bot_id-}/sendDocument?chat_id={-Variable.chat_id-}


--8d769bc78125cd4
Content-Disposition: form-data; name="document"; filename="1.pdf"
Content-Type: application/octet-stream
C:\Users\prest\Desktop\1.pdf
 
Поищите внимательней по форуму, выкладывали решение.
 
Ну насчет видео я промахнулся, не внимательно прочел, но думаю отправка картинки от видео не сильно будет отличаться кодом (сдесь же в начале топика).

Вам надо видео отправить в чат а почему осылаете PDF?
--8d769bc78125cd4
Content-Disposition: form-data; name="document"; filename="1.pdf"
Content-Type: application/octet-stream
C:\Users\prest\Desktop\1.pdf
 
Буть добр ткни носом пол дня уже убил

Этот код отправляет видео в ТГ, только чтобы видео воспроизводилось нужно нажать на загрузку.

var bot_id = project.Variables["tg_api"].Value;
var chat_id = project.Variables["tg_chanel"].Value;

string description = project.Variables["description"].Value; //если требуется описание

string File = project.Lists["File"].First();
project.Lists["File"].RemoveAt(0);
project.SendInfoToLog(File);

string data = string.Empty;
data += "--8d769bc76365cd4\n";
data += string.Format("Content-Disposition: form-data; name=\"video\"; filename=\"{0}\"\n", File);
data += "Content-Type: application/octet-stream\n";
data += File;
string resRequest = ZennoPoster.HttpPost(
"https://api.telegram.org/bot" + bot_id + "/sendVideo?chat_id=" + chat_id + "&caption=" + description,
data,
"multipart/form-data",
"",
"UTF-8",
ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody,
30000,
"",
"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0",
true,
5,
new[] {"Host: api.telegram.org"}
);
 
Последнее редактирование:
Чтобы видео сразу начинало проигрываться, отправленное выше публикованным кодом, его размер должен быть примерно 480x304 px и весить должно около 7 мб.

В этой теме есть решение для отправки в ТГ больших видео:
 
  • Спасибо
Реакции: haliul
Спасибо всем
 
так и не могу найти код для отправки сразу нескольких картинок с описанием ткните носом пожалуйста
понял что отправлять через sendMediaGroup но что то не могу составить правильный запрос
 
Последнее редактирование:
Так же интересует вопрос по работе с sendMediaGroup, через кубик post запроса,но не через C#
 
Так же интересует вопрос по работе с sendMediaGroup, через кубик post запроса,но не через C#
походу никто так и не поможет новую тему создал по этому поводу может кто все таки откликнется
 
Привет, кто-нибудь знает как Зеннопостером отправлять такие посты в Телеграм

70802
 
  • Спасибо
Реакции: ukrainec2014
так и не могу найти код для отправки сразу нескольких картинок с описанием ткните носом пожалуйста
понял что отправлять через sendMediaGroup но что то не могу составить правильный запрос
Задача решена?
 
У меня ошибка всё время, не могу понять что ни так, правильный ли гет?

https://api.telegram.org/bot{API бота}/sendMessage?chat_id={@chat_name}e&text=123

Ответ такой приходит

{"ok":false,"error_code":400,"description":"Bad Request: chat not found"}
 
У меня ошибка всё время, не могу понять что ни так, правильный ли гет?

https://api.telegram.org/bot{API бота}/sendMessage?chat_id={@chat_name}e&text=123

Ответ такой приходит

{"ok":false,"error_code":400,"description":"Bad Request: chat not found"}
Нужно не имя чата, а ID чата. Можно узнать если добавить бота для выдачи chat_id, таких полно. гуглите.
 
Компиляция кода Ошибка в действии "CS0246" "Ошибка в директивах using. The type or namespace name 'Telegram' could not be found (are you missing a using directive or an assembly reference?)". [Строка: 1; Cтолбец: 7]

ДАйте пж библиотеку телграм.бот.dll
не надо тут говорить что она не нужна
функция
CommonCode.SendPhoto
откуда то браться должна
 
Приветствую. В чем может быть проблема?

Проект зациклен и при положительной логике делает скрин инстанса и отправляет его в ТГ с описанием.

Но бывают моменты, что пишет отправлено, но при этом ничего не пришло.
 
У меня такая же ошибка, хотя я прописал ID группы, а не имя
Попробуйте перд ID групппы добавить символ "-":

Содержимое запроса:
chat_id=-ВАШ_ИД&text=

Заметил что ИД группы идут с минусом для отправки, а личные чаты без символа.
 
Как хешь теги в описании отправлять?
 
Пытаюсь через гет-запрос отправить фото с компьютера.
https://api.telegram.org/bot{-Variable.token-}/sendPhoto?chat_id={-Variable.chat_id-}&photo={-Variable.img-}
Приходит ответ: {"ok":false,"error_code":400,"description":"Bad Request: invalid file HTTP URL specified: Wrong port number specified in the URL"}
При этом если в переменной img указать фото не с компа, а с интернета - всё работает. Почему так?

upd: нашёл способ отправки картинки через post-запрос, но всё равно хочется понять причину вышеописанной проблемы
 
Последнее редактирование:
Пытаюсь через гет-запрос отправить фото с компьютера.
https://api.telegram.org/bot{-Variable.token-}/sendPhoto?chat_id={-Variable.chat_id-}&photo={-Variable.img-}
Приходит ответ: {"ok":false,"error_code":400,"description":"Bad Request: invalid file HTTP URL specified: Wrong port number specified in the URL"}
При этом если в переменной img указать фото не с компа, а с интернета - всё работает. Почему так?

upd: нашёл способ отправки картинки через post-запрос, но всё равно хочется понять причину вышеописанной проблемы
Наверное вот так надо. Прикреплять как файл
C#:
Развернуть Свернуть Копировать
string token = project.Variables["token"].Value.Trim();

string filePath = @project.Variables["filePath"].Value.Trim();

string channel = project.Variables["channel"].Value.Trim();

string description = project.Variables["description"].Value.Trim();

var botClient = new TelegramBotClient(token);

var me = botClient.GetMeAsync().Result;

using (FileStream stream = System.IO.File.OpenRead(filePath))

{
    

    Message message = botClient.SendVideoAsync(

        chatId: channel,

        caption: description,

        parseMode: ParseMode.Html,

        video: new InputOnlineFile(stream),

        supportsStreaming: true

    ).Result;

}
 
Наверное вот так надо. Прикреплять как файл
C#:
Развернуть Свернуть Копировать
string token = project.Variables["token"].Value.Trim();

string filePath = @project.Variables["filePath"].Value.Trim();

string channel = project.Variables["channel"].Value.Trim();

string description = project.Variables["description"].Value.Trim();

var botClient = new TelegramBotClient(token);

var me = botClient.GetMeAsync().Result;

using (FileStream stream = System.IO.File.OpenRead(filePath))

{
   

    Message message = botClient.SendVideoAsync(

        chatId: channel,

        caption: description,

        parseMode: ParseMode.Html,

        video: new InputOnlineFile(stream),

        supportsStreaming: true

    ).Result;

}
Спасибо за ответ, но это не то. Смысл в том, что я хочу понять, что именно не нравится телеграму, почему он не хочет принимать запрос с указанием ссылки на ПК, но если всё остальное идентично, а ссылка на ресурс в интернете, то спокойно работает.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)