Эмодзи для телеграм бота

1. fugu 23 18.04.24 10:48 Сейчас в теме
Добрый день.

Возникло потребность отсылать эмодзи (смайлик) в телеграм бот.
                Эмоджи = "%F0%9F%98%81"; 
		Текст = "ЗДЕСЬ -  " + Эмоджи; 
		стр = Новый Структура;
		стр.Вставить("method", "sendMessage");     
		стр.Вставить("chat_id", Чат); 
                стр.Вставить("text", Текст);
                стр.Вставить("parse_mode"  , "HTML");
Показать


Отправляю в телеграм бот и получаю - ЗДЕСЬ - %F0%9F%98%81 , а хотелось бы получить смайлик.
Прошу помощи.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
9. laperuz 46 19.04.24 09:42 Сейчас в теме +1 $m
(5) Указывайте код в виде HTML-кода

Эмоджи = "& # 128513";


P.S. нужно убрать все пробелы между символами в этой строке.
Тут вставил, т.к. движок инфостарта сразу парсит его как смайл)

P.P.S не увидел, что уже этот вариант подсказали раньше, но он рабочий, проверено
15. fugu 23 21.04.24 13:39 Сейчас в теме
Задача решена -

Эмоджи = Символ(55357) + Символ(57005)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Kirich2 18.04.24 11:36 Сейчас в теме
Вообще должно работать. У меня через функции правда, но отправляет:

Процедура ОтправитьСообщение(Получатель, Сообщение, HTML = Ложь) Экспорт 
	 	
	Запрос = "/sendMessage?chat_id=" + Получатель + "&text=" + Сообщение + ?(HTML, "&parse_mode=HTML", ""); 
	
	ВыполнитьЗапросAPI(Запрос); 
                                                                                                 
КонецПроцедуры 

Функция Смайлик(Код) Экспорт

	Возврат Справочники.Смайлики.НайтиПоКоду(Код).URLEscapeCode;	

КонецФункции // ПолучитьСмайлик()

Показать


Вызов:
Результат = Результат+ APITelegram.Смайлик(127777) +" Котельная:  " + РаботаСДанными.ПолучитьПоследнееЗначениеПоПоказателю(8).Значение + " °С"+Символы.ПС;
Результат = Результат + " " + Символы.ПС; 

APITelegram.ОтправитьСообщение("ХХХХХХХХ", Результат, Истина);


В Справочники.Смайлики реквизит URLEscapeCode вида "%F0%9F%86%98", тип строка
3. fugu 23 18.04.24 13:40 Сейчас в теме
(2) тоже самое делаю...
Понять бы в чем разница?
6. user1880116 18.04.24 21:40 Сейчас в теме
(3)
в чем разница
В том, что ты передаешь текст через тело запроса, а он - через урл. Для урла на той стороне всегда выполняется урлдекод и его %F0%9F%86%98 превращается в обычный уникодный символ.

Мне лень читать документацию телеграма, но предположу что получится или вставить этот уникодный символ в json через какой-нибудь "\u0F09F8698" или через html entity "😁"
7. user1880116 18.04.24 21:42 Сейчас в теме
(6) О, инфостарт, хитрая скотина =] Html entity получается как удаление пробелов из строки "& # 128513;"
8. user1880116 18.04.24 21:43 Сейчас в теме
(6) Или из строки "& # x1f601;", это будет тоже самое, но 16ричное.
😁
4. Kirich2 18.04.24 16:55 Сейчас в теме
Ваш код не распознается как смайлик, попробуйте код "%F0%9F%86%98" смайл SOS, возможно у Вас ошибка именно в коде смайлика.

Еще гарантированно у меня выводящиеся:
"%F0%9F%92%A7" - капля
"%F0%9F%94%A5" - огонь
"%F0%9F%92%A1" - лампочка
5. fugu 23 18.04.24 20:17 Сейчас в теме
{
	"method": "sendMessage",
	"chat_id": "111111",
	"text": "Все будет хорошо!!!  %F0%9F%86%98",
	"parse_mode": "HTML",
	"reply_markup": {
		"keyboard": [
			[
				{
					"text": "Ваш номер телефона",
					"request_contact": true
				},
				{
					"text": "Локацию можно",
					"request_location": true
				}
			],
			[
				{
					"text": "%F0%9F%86%98 Привет",
					"callback_data": "Yes"
				},
				{
					"text": "Получить докумен"
				}
			]
		],
		"resize_keyboard": true
	}
}
Показать


Вот мой JSON. Телеграм бот ничего не парсит...
9. laperuz 46 19.04.24 09:42 Сейчас в теме +1 $m
(5) Указывайте код в виде HTML-кода

Эмоджи = "& # 128513";


P.S. нужно убрать все пробелы между символами в этой строке.
Тут вставил, т.к. движок инфостарта сразу парсит его как смайл)

P.P.S не увидел, что уже этот вариант подсказали раньше, но он рабочий, проверено
10. user1880116 19.04.24 09:48 Сейчас в теме
(9) Ты после кода символа точку с запятой забыл, без неё entity не entity.
11. laperuz 46 19.04.24 09:54 Сейчас в теме
(10)Работает без точки с запятой, попробовал на своем боте
12. user1880116 19.04.24 10:33 Сейчас в теме
(11)
без точки с запятой
Это хорошее настроение и добрая воля телеграма. Хорошее настроение будет до тех пор, пока сразу за смайлом в тексте не попадется число или шестнадцитиричный символ. А учитывая, что текст обычно лепится конкатенацией...

Там даже какой-то RFC был, лень искать.
13. fugu 23 19.04.24 19:01 Сейчас в теме
(9) В сообщении отработало, а на кнопке нет(((
Может есть еще варианты?
14. fugu 23 20.04.24 20:28 Сейчас в теме
(9) Помогите эмодзи добавить на кнопку.
15. fugu 23 21.04.24 13:39 Сейчас в теме
Задача решена -

Эмоджи = Символ(55357) + Символ(57005)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот