Я пишу бот Telegram и хочу, чтобы он отправил наклейку ВНУТРИ сообщения.
$file_id=»CAADAgADqAIAAkcVaAllGKpjZDCAgQI»; $send_text = «Test»; $send_sticker=file_get_contents(‘https://api.telegram.org/bot’.$bot_token.’/sendSticker?chat_id=’.$user_id.’ $send_message=file_get_contents(‘https://api.telegram.org/bot’.$bot_token.’/sendMessage?chat_id=’.$user_id.’
Этот код работает, он отправляет стикер, а затем отправляет сообщение. Тем не менее, я могу отправить любую наклейку или смайлик внутри сообщения?
Решение
Вы не можете использовать наклейку внутри сообщения с текстом.
Но вы можете использовать эмодзи (смайлик), самый простой способ сделать это — выбрать эмоджи, которые вам нужны в Telegram (когда вы пишете сообщение), а затем просто скопировать их и вставить свой код. Более сложным, но теоретически более правильным способом является использование UTF-кодов эмодзи (их можно найти в интернете)
Другие решения
Других решений пока нет …
КАК СТАВИТЬ СМАЙЛИКИ В ЧАТЕ — НОВАЯ ФУНКЦИЯ В Телеграм
Источник: web-answers.ru
Как отправить смайлик с помощью API бота Telegram?
Мне нужно отправлять сообщения, содержащие смайлики, с помощью моего бота Telegram.
Поэтому я копирую/вставляю код эмодзи :nine: , например, в текст своего сообщения и отправляю его пользователю, НО эмодзи не сработали.
Это мой пример кода и функции:
function tel_send($key, $t, $c) < $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, «https://api.telegram.org/bot» . $key . «/sendMessage»); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, «cache=» . (time() / rand(1, time() — 100)) . » . $t . » . $c); $ss = curl_exec($ch); curl_close($ch); return $ss; >tel_send($key, «My number — :nine:», $val[‘message’][‘chat’][‘id’]);
Итак, мой вопрос: как я могу отправить смайлики с помощью бота Telegram?
Author: Jop V., 2015-07-15
7 answers
Вам необходимо указать значение эмодзи в юникоде.
Они возвращаются функцией в виде значения смайлика, такого как u’U000026C4′, который является снеговиком. хотя он написан на python, вы можете применить его для php.
Author: Mustafa, 2016-03-09 20:16:35
Я столкнулся с той же проблемой несколько дней назад.. Решение состоит в том, чтобы использовать обозначения байтов (UTF-8) из этой таблицы: http://apps.timwhitlock.info/emoji/tables/unicode
реакции, смайлики для телеграмм. где включить
XF0x9Fx98x81 УХМЫЛЯЮЩЕЕСЯ ЛИЦО С УЛЫБАЮЩИМИСЯ ГЛАЗАМИ
XF0x9Fx98x89 ПОДМИГИВАЮЩЕЕ ЛИЦО
Author: codeWhisperer, 2016-01-05 11:09:50
Вы можете создать его из байтов utf8.
Преобразуйте коды utf8 в готовый текст ответа для телеграммы со следующим кодом:
Эмодзи $ можно использовать в текстах ответов telegram-бота.
Author: Milad, 2016-11-21 08:53:32
Ссылка, которую предоставил Мустафа, представляет не все смайлики. Этот источник лучше http://emojipedia.org / ☝️. В нем есть варианты эмодзи в дополнение к основному знаку.
Author: Green, 2017-05-23 11:54:39
Реальное решение состоит в том, чтобы использовать https://github.com/spatie/emoji ( composer require spatie/emoji ) для кодов эмодзи. Теперь ваш код будет выглядеть как
Emoji::CHARACTER_EYES
Emoji::eyes()
Это то, что вам действительно может пригодиться. В отличие от написания всех кодов вручную и с трудом понимающего, что это такое на первый взгляд.
Author: Dima Stefantsov, 2016-11-16 18:48:23
Я долго искал ответ на этот вопрос, но не мог заставить его работать. мои навыки написания сценариев невелики, и преобразование ответов php в bash оказалось непростой задачей.
Но, тем не менее, я заставил его работать с самым простым решением: Я зашел в настольный мессенджер telegram, там я отправляю необходимый смайлик ().
Чем я сделал переменную: bus=»»
Теперь я могу использовать переменную в завитке как: «текст = некоторый текст $автобус»
Это отлично работает при использовании bash на linux, я полагаю, что он также может работать на php.
Author: Jeroen Peiffer, 2017-02-08 21:10:57
Я использую этот код в команде linux bash и curl для ухмыляющегося лица
curl -X POST «https://api.telegram.org/botTOKEN/sendMessage» -d «chat_id=IDparse_modwarninge=Markdown»
Источник: phptime.ru
В Telegram из 1С: сообщения с эмодзи (смайлы, пиктограммы, иконки) пользователям и группам

Обработка отправляет сообщения с эмоджи (смайлы, иконки, пиктограммы) пользователю или группе в Телеграм. Она также показывает список пользователей и групп, которые связывались с Вашим ботом, из этого списка можно выбрать получателя сообщения.
Обработка представлена как простой пример, публикую ее т.к. сам не сразу нашел ответ на вопрос, как отправить смайлы в Телеграм из 1С. Проверена на платформе 8.3.10.2753 и 8.3.11.3133.
Перед отправкой сообщений нужно заполнить настройки.
Use this token to access the HTTP API 123456789:AAbbCC00ddEEffGGhhIgKLmnopQFK3-KLAA
Прокси: любой https или socks5 прокси за пределами юрисдикции РКН. Я использую Tor-браузер: если его запустить, то в системе появится локальный socks5 прокси, использующий сеть тор. На скрине выше именно тор-прокси используется эской. Это и бесплатно, и быстро, и стабильно.
Бесплатный сторонний сервер может работать медленно или стать недоступным, в этом случае настройки прокси для Telegramm придется менять. Сеть же Tor работает отлично, и РКН до нее пока не добрался. Если Ваш прокси https — заполняйте настройку без префикса https://. Если socks5 — заполняйте с префиксом socks5:// как на скрине.
После заполнения полей настроек можно нажать кнопку Проверить, если все в порядке — появятся поля с именем Вашего бота.
Для отправки сообщения нужно, чтобы получатель один раз дал на это свое «согласие». Согласие выражается в том, что пользователь отправит хотя бы одно сообщение Вашему боту или просто найдет его в Телеграмм и нажмет кнопку START. Для отправки сообщения в группу просто подпишите своего бота в эту группу.
После того, как пользователи или группы «засвидетельствовали» свое согласие получать сообщения от Вашего бота — нажмите кнопку Показать таблицу получателей. Внизу обработки выведется таблица для выбора получателя сообщения. Выберите двойным щелчком строку таблицы с нужным получателем, напишите текст сообщения, кликните нужные пиктограммы (в текст отправки будут вставляться html-тэги иконок) и жмите Отправить сообщение.
Сохраните где-нибудь ИД получателей — если в течение 24 часов пользователь не отправит Вашему боту ни одного сообщения — то этот пользователь перестанет появляться в таблице получателей. Отправлять ему сообщения Вы по прежнему сможете, для этого ИД нужно будет ввести вручную в поле Получатель. То же самое произойдет с ИД группы, если в группе не будет сообщений в течение 24 часов. Если не записали или потеряли ИД получателей — просто попросите их еще раз отправить сообщение боту, в таблице они снова будут появляться в течение 24 часов.
Технические детали.
Большая часть emoji в Telegram — одиночные символы таблицы юникода, как обычные буквы алфавита. Чтобы отправить такие символы по API в GET-запросе (…/SendMessage?text=…), их нужно предварительно URL-кодировать, как, впрочем, и русские буквы. Например, чтобы отправить русский текст «рука» полюс иконку ладони (это символ юникода с порядковым номером 9995), надо использовать
КодироватьСтроку(«рука» + Символ(9995), СпособКодированияСтроки.КодировкаURL);
Но подобный код не будет работать для юникод-символов с порядковым номером больше 65535, просто потому что 1C с ними не умеет работать. А именно в этом диапазоне большинство смайлов. Есть вариант сразу узнать binhex нужного символа, закодированного в UTF-8.
В этом случае нужно между байтами binhex поставить знаки % — и мы получим готовый URL-кодированный символ для параметра GET в Телеграм. Моя обработка работает не с binhex, а с десятичными порядковыми номерами символов в таблице юникода. Обработка сама переводит номер символа за пределами понимания эски (например смайл 128512) в URL — кодированный вид. Иными словами, с символом номер 128512 обработка сделает то же, что делал бы код эски:
КодироватьСтроку(Символ(128512), СпособКодированияСтроки.КодировкаURL);
если бы эска умела работать с символами юникода за пределами границы 65535.
Источник: open-budget.ru