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

  • Автор темы Автор темы backoff
  • Дата начала Дата начала
помогите разобраться как отправить картинку в телеграм, у меня не работает. через post get запрос не отправляет, делаю кубик С#, начинает ругаться на команду sendPhoto
Ну для того что бы сделать кубиком, тебе нужно иметь переменную с api key bot и чатом, потом берешь эту строку
Код:
Развернуть Свернуть Копировать
https://api.telegram.org/{0}/sendPhoto?chat_id={1}
{0} - тут апи ключ
{1} - тут id chata
потом на эту ссылку грузишь фото
 
  • Спасибо
Реакции: Shogo и backoff
Кто нибудь уже даст пример запроса для отправки фото? Или это только на С# мудрить?
Можно сделать на c#, но намного проще примера в этой теме без общего кода. А так вот на обычном кубике POST запрос. Картинки лучше отправлять через sendDocument, они хотя бы качество не теряют. Пример построен на sendDocument, но если нужно то замени на sendPhoto и в данных "document" на "photo"
https://yadi.sk/d/cRrG3knHzD5rRg
 
А что за значение --8d769bc78125cd4 и откуда оно берется?
 
Последнее редактирование:
А что за значение --8d769bc78125cd4 и откуда оно берется?
Это как называют boundary (Границы) данных при отправке multipart, обычно сервер их генерирует, но можно и самому через рандом. Видел на форуме, что используют генератор для определения границ, я в этом смысла не увидел, потому, что и при статичном все хорошо проходит
 
  • Спасибо
Реакции: Shining, sydoow и movchan
Можно сделать на c#, но намного проще примера в этой теме без общего кода. А так вот на обычном кубике POST запрос. Картинки лучше отправлять через sendDocument, они хотя бы качество не теряют. Пример построен на sendDocument, но если нужно то замени на sendPhoto и в данных "document" на "photo"
https://yadi.sk/d/cRrG3knHzD5rRg
Привет!!! Огромное спасибо за шаблон. А как добавить туда описание свое? К примеру пощу картинку сразу с текстом
 
Сделал. Добавил в конце запроса
&caption={-Variable.caption-}
 
  • Спасибо
Реакции: phoenixs
Как это всё автаматизировать, тоесть, есть папка с картинками, и нужно что бы бот кидал картинки по очереди и они не повторялись
 
Как это всё автаматизировать, тоесть, есть папка с картинками, и нужно что бы бот кидал картинки по очереди и они не повторялись
Получаете список файлов. Берете из списка строки с удалением (это путь к фото), отправляете, потом удаляете файл. И т.д. пока не закончится список.
 
Вопрос ещё есть)
Как можно сразу не сколько картинок отправить?
Получается сейчас только 1
 
Реально ли как-то отправить пост боту, а не просто в канал? И как, если да? через post запрос
 
Подскажите пожалуйста, нужно картинку с текстом отправить в телеграмм с помощью c#. (например фото по пути C:\123.jpg) и под ним текст в Telegram (Например: test). Для отправки сообщения юзаю следующий код, а с изображением совсем не получается
C#:
Развернуть Свернуть Копировать
WebRequest request = WebRequest.Create("https://api.telegram.org/bot" + strToken + "/sendMessage?chat_id=" + strChatId + "&text=" + url);
WebResponse response = request.GetResponse();
response.Close();
 
Подскажите пожалуйста, нужно картинку с текстом отправить в телеграмм с помощью c#. (например фото по пути C:\123.jpg) и под ним текст в Telegram (Например: test). Для отправки сообщения юзаю следующий код, а с изображением совсем не получается
C#:
Развернуть Свернуть Копировать
WebRequest request = WebRequest.Create("https://api.telegram.org/bot" + strToken + "/sendMessage?chat_id=" + strChatId + "&text=" + url);
WebResponse response = request.GetResponse();
response.Close();
Используй sendPhoto вместо sendMessage
 
Может знает кто, возможно ли через API телеги отложенную отправку делать?
 
Зачем тебе заморачиваться с C#? Выбирай POST.
В URL https://api.telegram.org/bot????????????????????????????????/sendPhoto
В данных chat_id=?????????????????????&photo={-Variable.link_img_deal-}&parse_mode=HTML&caption='любой текст'
Спасибо за помощь
Но всё равно актуально и был бы признателен, если кто-то поможет на чистом C# сделать отправку фото+текста в тг
 
Лови

C#:
Развернуть Свернуть Копировать
//картинка c описанием 
string img = @"c:\1.jpg"
string strToken = "";
string strChatId = "";
string proxy = "";
string message = "описание";
string mode = "&parse_mode=html";

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;

string resRequest = ZennoPoster.HttpPost(
"https://api.telegram.org/bot" + strToken + "/sendPhoto?chat_id=" + strChatId+"&caption="+message+mode,
data,"multipart/form-data",proxy,"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"});
 
Лови

C#:
Развернуть Свернуть Копировать
//картинка c описанием
string img = @"c:\1.jpg"
string strToken = "";
string strChatId = "";
string proxy = "";
string message = "описание";
string mode = "&parse_mode=html";

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;

string resRequest = ZennoPoster.HttpPost(
"https://api.telegram.org/bot" + strToken + "/sendPhoto?chat_id=" + strChatId+"&caption="+message+mode,
data,"multipart/form-data",proxy,"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"});
А как к этому делу можно отправить несколько фото?
 
Подскажите пожалуйста:как установить аватарку в телеграм? Ни поиск по картинке,ни полная эмуляция не помагает кликнуть на смену аватарки. Установка координат сбивается. Что только не пробовал-не кликает на иконку фотоаппарата,хоть убей:-)

Не актуально-вопрос решён :)
 
Последнее редактирование:
отличный код... только подскажи еще как туда вставить в описание перенос строки "{-String.Enter-}" не работает
Примерно так хотелось бы...

C#:
Развернуть Свернуть Копировать
string message = "описание: 111
                    взято из: 222
                        сделано для: 333";


все разобрался.. вставляю текст из переменной:

C#:
Развернуть Свернуть Копировать
string message = project.Variables["текст"].Value;

61415
 
Последнее редактирование:

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