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

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
348
Благодарностей
51
Баллы
28
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;
объясните пожалуйста этот кусок для понимания...
что тут делается..
 

AZANIR

Client
Регистрация
09.06.2014
Сообщения
405
Благодарностей
196
Баллы
43

ukrainec2014

Client
Регистрация
12.05.2017
Сообщения
348
Благодарностей
51
Баллы
28
Последнее редактирование:

haliul

Client
Регистрация
18.01.2016
Сообщения
93
Благодарностей
11
Баллы
8
Здравствуйте помогите отправить видео файл с компа.
Что поменять?
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
 

one

Client
Регистрация
22.09.2015
Сообщения
6 790
Благодарностей
1 264
Баллы
113
Поищите внимательней по форуму, выкладывали решение.
 

haliul

Client
Регистрация
18.01.2016
Сообщения
93
Благодарностей
11
Баллы
8

one

Client
Регистрация
22.09.2015
Сообщения
6 790
Благодарностей
1 264
Баллы
113
Ну насчет видео я промахнулся, не внимательно прочел, но думаю отправка картинки от видео не сильно будет отличаться кодом (сдесь же в начале топика).

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

alexmin9559

Client
Регистрация
19.10.2013
Сообщения
20
Благодарностей
34
Баллы
13
Буть добр ткни носом пол дня уже убил
Этот код отправляет видео в ТГ, только чтобы видео воспроизводилось нужно нажать на загрузку.

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"}
);
 
Последнее редактирование:

alexmin9559

Client
Регистрация
19.10.2013
Сообщения
20
Благодарностей
34
Баллы
13
Чтобы видео сразу начинало проигрываться, отправленное выше публикованным кодом, его размер должен быть примерно 480x304 px и весить должно около 7 мб.

В этой теме есть решение для отправки в ТГ больших видео:
 
  • Спасибо
Реакции: haliul

haliul

Client
Регистрация
18.01.2016
Сообщения
93
Благодарностей
11
Баллы
8
Спасибо всем
 
Регистрация
19.10.2018
Сообщения
188
Благодарностей
24
Баллы
18
удалил сам
 
Последнее редактирование:

heks

Client
Регистрация
01.10.2013
Сообщения
1 068
Благодарностей
255
Баллы
83
так и не могу найти код для отправки сразу нескольких картинок с описанием ткните носом пожалуйста
понял что отправлять через sendMediaGroup но что то не могу составить правильный запрос
 
Последнее редактирование:

Troyan47

Client
Регистрация
26.12.2014
Сообщения
89
Благодарностей
12
Баллы
8
Так же интересует вопрос по работе с sendMediaGroup, через кубик post запроса,но не через C#
 

heks

Client
Регистрация
01.10.2013
Сообщения
1 068
Благодарностей
255
Баллы
83
Так же интересует вопрос по работе с sendMediaGroup, через кубик post запроса,но не через C#
походу никто так и не поможет новую тему создал по этому поводу может кто все таки откликнется
 

cherus09

Client
Регистрация
10.10.2016
Сообщения
171
Благодарностей
14
Баллы
18
Привет, кто-нибудь знает как Зеннопостером отправлять такие посты в Телеграм

70802
 
  • Спасибо
Реакции: ukrainec2014

Home_KreKer

Client
Регистрация
05.12.2016
Сообщения
132
Благодарностей
33
Баллы
28
так и не могу найти код для отправки сразу нескольких картинок с описанием ткните носом пожалуйста
понял что отправлять через sendMediaGroup но что то не могу составить правильный запрос
Задача решена?
 

Philipp

Client
Регистрация
14.10.2019
Сообщения
95
Благодарностей
38
Баллы
18
У меня ошибка всё время, не могу понять что ни так, правильный ли гет?

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"}
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 303
Благодарностей
5 421
Баллы
113
У меня ошибка всё время, не могу понять что ни так, правильный ли гет?

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, таких полно. гуглите.
 

hago73

Client
Регистрация
07.09.2012
Сообщения
59
Благодарностей
21
Баллы
8
У меня такая же ошибка, хотя я прописал ID группы, а не имя
 

Ostap1992

Client
Регистрация
26.02.2020
Сообщения
40
Благодарностей
3
Баллы
8

Ostap1992

Client
Регистрация
26.02.2020
Сообщения
40
Благодарностей
3
Баллы
8

albert22531

Client
Регистрация
09.06.2021
Сообщения
2
Благодарностей
0
Баллы
1
Компиляция кода Ошибка в действии "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
откуда то браться должна
 

pablo1994

Client
Регистрация
26.10.2020
Сообщения
7
Благодарностей
5
Баллы
3
Приветствую. В чем может быть проблема?

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

Но бывают моменты, что пишет отправлено, но при этом ничего не пришло.
 

Shining

Client
Регистрация
25.05.2018
Сообщения
35
Благодарностей
0
Баллы
6
У меня такая же ошибка, хотя я прописал ID группы, а не имя
Попробуйте перд ID групппы добавить символ "-":

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

Заметил что ИД группы идут с минусом для отправки, а личные чаты без символа.
 

nicos77777

Client
Регистрация
04.04.2013
Сообщения
331
Благодарностей
15
Баллы
18
Как хешь теги в описании отправлять?
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 802
Баллы
113

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
343
Благодарностей
205
Баллы
43
Пытаюсь через гет-запрос отправить фото с компьютера.
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-запрос, но всё равно хочется понять причину вышеописанной проблемы
 
Последнее редактирование:

backoff

Client
Регистрация
20.04.2015
Сообщения
5 914
Благодарностей
6 381
Баллы
113

haliul

Client
Регистрация
18.01.2016
Сообщения
93
Благодарностей
11
Баллы
8
Пытаюсь через гет-запрос отправить фото с компьютера.
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;

}
 

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
343
Благодарностей
205
Баллы
43
Наверное вот так надо. Прикреплять как файл
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;

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

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