https://api.telegram.org/bot{-Variable.bot_key-}/sendMessage
{
"chat_id": {-Variable.chat_id-},
"text": "Пример сообщения с кнопкой-ссылкой",
"parse_mode": "HTML",
"reply_markup": {
"inline_keyboard": [
[
{
"text": "Текст кнопки",
"url": "https://google.ru/"
}
]
]
}
}
Ребята подскажите пожалуйста что бы в этом коде только чисто кнопка отправлялась а не текст тоже. Что бы как новый пост кнопка отдельно не шла. А то у меня получается два пост запроса один в urlencoded а другой в JSON/ Или может это как то в один постзапрос пихнуть можно?Запрос наТело запроса:Код:https://api.telegram.org/bot{-Variable.bot_key-}/sendMessage
JSON:{ "chat_id": {-Variable.chat_id-}, "text": "Пример сообщения с кнопкой-ссылкой", "parse_mode": "HTML", "reply_markup": { "inline_keyboard": [ [ { "text": "Текст кнопки", "url": "https://google.ru/" } ] ] } }
chat_id=ID&parse_mode=HTML&text=
<a href="{-Variable.poster-}"> </a>
<a href="{-Variable.ssilka-}"><b>{-Variable.title-}</b></a>
{-Variable.description-}
{-Variable.genre-}
{
"chat_id": ID,
"text": "{-Variable.title-}",
"parse_mode": "HTML",
"reply_markup": {
"inline_keyboard": [
[
{
"text": "Смотреть Онлайн",
"url": "{-Variable.ssilka-}"
}
]
]
}
}
string token = "1650685845:AAGqNhDq8SrJCGAhoSQ7tocAy9Q1kycpWrg";
string chat_id = "228243412456";
string message = "Ваш текст";
string url = "Здесь ваша ссылка";
var knopka = "{\"inline_keyboard\": [[{\"text\": \"Кнопка\", \"url\": \""+url+"\"}]]}";
string post = "https://api.telegram.org/bot"+token+"/sendMessage?chat_id="+chat_id+"&text="+message+"&parse_mode=Markdown&reply_markup="+knopka;
string PostData = string.Empty;
ZennoPoster.HttpPost(post, PostData, "application/x-www-form-urlencoded", "", "UTF-8",ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly);
Спасибо но в этом коде нет поддержки html для текста не подскажите как реализовать ?Вот пример реализации на C#
Результат:C#:string token = "1650685845:AAGqNhDq8SrJCGAhoSQ7tocAy9Q1kycpWrg"; string chat_id = "228243412456"; string message = "Ваш текст"; string url = "Здесь ваша ссылка"; var knopka = "{\"inline_keyboard\": [[{\"text\": \"Кнопка\", \"url\": \""+url+"\"}]]}"; string post = "https://api.telegram.org/bot"+token+"/sendMessage?chat_id="+chat_id+"&text="+message+"&parse_mode=Markdown&reply_markup="+knopka; string PostData = string.Empty; ZennoPoster.HttpPost(post, PostData, "application/x-www-form-urlencoded", "", "UTF-8",ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly);
Посмотреть вложение 72197
Нужно заменить в запросеСпасибо но в этом коде нет поддержки html для текста не подскажите как реализовать ?
parse_mode=Markdown
parse_mode=HTML
Не работает это хтмл теги не читает и Markdown разметку тожеНужно заменить в запросе
НаКод:parse_mode=Markdown
Код:parse_mode=HTML
string token = "1650685845:AAGqNhDq8SrJCGAhoUQ7tocAy9Q1kyppWrg";
string chat_id = "2771518283";
string message = "<b>Жирный текст</b>\r\n<a href=\"http://site.com\"><b>Ссылка</b></a>";
string url = "https://site.com";
var knopka = "{\"inline_keyboard\": [[{\"text\": \"Кнопка\", \"url\": \""+url+"\"}]]}";
string post = "https://api.telegram.org/bot"+token+"/sendMessage?chat_id="+chat_id+"&text="+message+"&parse_mode=HTML&reply_markup="+knopka;
string PostData = string.Empty;
ZennoPoster.HttpPost(post, PostData, "application/x-www-form-urlencoded", "", "UTF-8",ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly);
Помогло спасибоОбработка текста. Encode/decode
Попробуй.
а как сюда картинку прикрутить?Добавил теги:
Вот результат:C#:string token = "1650685845:AAGqNhDq8SrJCGAhoUQ7tocAy9Q1kyppWrg"; string chat_id = "2771518283"; string message = "<b>Жирный текст</b>\r\n<a href=\"http://site.com\"><b>Ссылка</b></a>"; string url = "https://site.com"; var knopka = "{\"inline_keyboard\": [[{\"text\": \"Кнопка\", \"url\": \""+url+"\"}]]}"; string post = "https://api.telegram.org/bot"+token+"/sendMessage?chat_id="+chat_id+"&text="+message+"&parse_mode=HTML&reply_markup="+knopka; string PostData = string.Empty; ZennoPoster.HttpPost(post, PostData, "application/x-www-form-urlencoded", "", "UTF-8",ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly);
Посмотреть вложение 72226
Спасибо, но это немного не то что я просил.Картинку надо отправлять с помощью sendPhoto. Прикрепил пример.
string img = @"путь к картинке";
string strToken = "токен бота";
string strChatId = "id чата";
string proxy = "прокси";
string message = "описание";
string url = "ссылка";
var knopka = "{\"inline_keyboard\": [[{\"text\": \"Перейти на сайт\", \"url\": \""+url+"\"}]]}";
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+"&parse_mode=HTML&reply_markup="+knopka+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"});
а как сюда прикрутить кнопку ссылку?Картинку надо отправлять с помощью sendPhoto. Прикрепил пример.