Мне нужно отправлять сообщения, содержащие смайлики, с помощью моего бота 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?
Vlmake 15 Июл 2015 в 15:36
11 ответов
Лучший ответ
Вам нужно указать значение Unicode смайлика.
Они возвращаются функцией как значение эмодзи, например u ‘ U000026C4’, который является снеговиком. хотя он находится на Python, вы можете применить его для php.
Анимированные эмодзи Телеграм. Где найти, как добавить и создать
Mustafa 9 Мар 2016 в 20:16
Самый простой способ — просто скопировать и вставить в код нужный смайлик. Но тогда вам нужно будет убедиться, что ваши файлы исходного кода хранятся в UTF8.
Я только что открыл Telegram в своей системе и скопировал те, которые мне были нужны, и никогда не оглядывался назад 🙂 Забавно то, что мне не нужно работать с константами, конкретными именами или значением символа Юникода. Я вижу, какие смайлы используются в МОЕМ РЕДАКТОРЕ.
$message = ‘Pointing down: ‘;
Если вы обработаете это в сообщении (пример выше — PHP, но я думаю, он будет работать на любом языке программирования)
MrG 5 Июн 2020 в 09:25
Просто еще один выбор $ curl . -F text = » -F parse_mode = html . «https://api.telegram.org/botTOKEN/sendMessage «
включит parse_mode в html и будет использовать шестнадцатеричную (шестнадцатеричную) ссылку HTML ( PHP 7
Просто используйте u и литерал Unicode, как показано ниже:
$emojie = «u»;
Ebrahim Bashirpour 11 Янв 2021 в 13:51
Вы можете просто скопировать эмодзи из телеграммы и вставить текст, чтобы отправить лайк
По-другому вы можете использовать имя shap, например, для дома вы можете использовать :house: пример:
:phone: :white_check_mark: :factory: :page_with_curl:
Salione 14 Дек 2020 в 09:25
Я долго искал ответ на этот вопрос, но никак не мог заставить его работать. мои навыки написания сценариев плохие, и преобразование ответов php в bash оказалось проблемой.
Но, тем не менее, у меня это работало с помощью самого простого решения: я зашел в мессенджер рабочего стола Telegram, там я отправил требуемые смайлы ().
Затем я сделал переменную: bus = «»
Теперь я могу использовать переменную в завитке как: «text = some text $ bus»
Это отлично работает с использованием bash в Linux, я полагаю, это также может работать в php.
Как сделать СВОИ ЭМОДЗИ в Телеграме?
Jeroen Peiffer 8 Фев 2017 в 21:10
Ссылка, предоставленная Мустафа, не отображает все смайлы. Этот источник лучше http://emojipedia.org/ ☝️. В дополнение к главному знаку он имеет варианты смайликов.
Community 23 Май 2017 в 11:54
Я использую этот код в linux bash и команду curl для ухмылки
curl -X POST «https://api.telegram.org/botTOKEN/sendMessage» -d «chat_id=IDparse_modwarninge=Markdown»
Entaah Laah 13 Сен 2018 в 15:43
Затем вы должны преобразовать коды UTF-8 в готовый для Telegram текст ответа с помощью следующего кода:
Milad Rahimi 31 Май 2020 в 17:14
Я столкнулся с той же проблемой несколько дней назад .. Решение состоит в том, чтобы использовать нотацию байтов (UTF-8) из этой таблицы: http://apps.timwhitlock.info/emoji/tables/unicode
xF0 x9F x98 x81 УЛЫБЛЯЮЩЕЕ ЛИЦО С УЛЫБАЮЩИМИСЯ ГЛАЗАМИ
xF0 x9F x98 x89 подмигивающее лицо
codeWhisperer 5 Янв 2016 в 11:09
Реальное решение — использовать https://github.com/spatie/emoji ( composer require spatie/emoji ) для кодов Emoji. Теперь ваш код будет выглядеть так
Emoji::CHARACTER_EYES
Emoji::eyes()
Это то, что вы действительно могли бы использовать. В отличие от того, чтобы писать все коды вручную и с первого взгляда сложно понять, что это такое.
Источник: question-it.com
Telegram API — Отправка Emoji
Посмотрите на Emoji Unicode Tables.
Нужный вам код смайлика находится в колонке Bytes (UTF-8) .
Перед отправкой на сервер необходимо выполнять URL Encode.
Например, xF0x9Fx98x81 должен выглядеть так: %F0%9F%98%81 .
Пишу бота на C#, работает в таком виде «U0001F69A» для кода U+1F69A из таблицы.
Я просто копировал emoji из таблицы выше обычным выделением мышкой (как выделяется текст) из колонки «Native» получается вот так: ?
Для РНР там где смайл:
hex2bin(‘f09f9880’)
f09f9880
— код смайла без х отсюда (колонка Bytes (UTF-8) )
На bash я использую этот ресурс для получения кода
Строка «C/C++/Java source code» отображает необходимую кодировку. Запрос приобретает вид
/usr/local/bin/curl -s —header ‘Content-Type: application/json’ —request ‘POST’ —data «» «https://api.telegram.org/bot/sendMessage»
где uD83DuDE31 и есть кодированный символ
Используйте средства для представления Unicode текста в вашей среде. Она сама выполнит преобразование из текста в октеты согласно utf-8 кодировке, а затем произведёт percent-encoding. Например, чтобы отправить флаг . который состоит из Unicode символов U+1f1f7, U+1f1fa в restclient в Emacs:
POST https://api.telegram.org/bot:token/sendMessage Content-type: application/x-www-form-urlencoded chat_id=:chat-idtext=%D1%83%D1%80%D0%B0+%F0%9F%87%B7%F0%9F%87%BA%21
Источник: husl.ru
Как отправить Emoji с помощью Telegram Bot API?
мне нужно отправить сообщения, содержащие emoji с моим ботом Telegram.
поэтому я копирую / вставляю код emoji :nine: например, в моем тексте сообщения и отправить его пользователю, но emoji не работает.
Это мой пример кода и функции:
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’]);
Итак, мой вопрос: Как я могу отправить emoji с помощью Telegram bot?
автор: Jop V.
7 ответов
вам нужно указать значение Юникода emoji.
Они возвращаются функцией как значение emoji, например u ‘U000026C4’, который является снеговиком. хотя это в python, вы можете применить его для php.
автор: Mustafa
Я столкнулась с той же проблемой несколько дней назад.. Решение состоит в том, чтобы использовать обозначения байтов (UTF-8) из этой таблицы: http://apps.timwhitlock.info/emoji/tables/unicode
xF0x9Fx98x81 ухмыляющееся лицо с улыбающимися глазами
xF0x9Fx98x89 подмигивающее лицо
автор: codeWhisperer
вы можете создать его из utf8 байт.
преобразование кодов utf8 в текст ответа telegram-ready со следующим кодом:
$emoji можно использовать в текстах ответов Telegram bot.
автор: Milad
ссылку Мустафа при условии, не представляет все emoji. Этот источник лучше http://emojipedia.org/ ☝️. Он имеет вариации emoji в дополнение к основному знаку.
автор: Green
реальное решение-использовать https://github.com/spatie/emoji ( composer require spatie/emoji ) для кодов Emoji. Теперь ваш код будет выглядеть как
Emoji::CHARACTER_EYES
Emoji::eyes()
Это то, что вы могли бы реально использовать. В отличие от написания всех кодов вручную и с трудом понимая, что это такое на первый взгляд.
автор: Dima Stefantsov
Я долго искал ответ на этот вопрос, но не мог заставить его работать. мои навыки написания сценариев плохие, и преобразование ответов php в bash оказалось проблемой.
но, тем не менее, я получил его работу с самым простым решением: Я пошел в telegram desktop messenger, там я отправляю необходимый emoji ().
чем я сделал переменную: bus=»»
теперь я могу использовать переменную в завитке как: «text=some text $bus»
Это работает отличное использование bash на linux, я полагаю, что он также может работать в php.
автор: Jeroen Peiffer
Я использую этот код в команде linux bash и curl для ухмыляющегося лица
curl -X POST «https://api.telegram.org/botTOKEN/sendMessage» -d «chat_id=IDparse_modwarninge=Markdown»
Источник: askdev.ru