Tech
January 24, 2024

Как отправить emoji (смайлик) c помощью Telegram Bot

Видел, что у некоторых возникают проблемы с отправкой emoji через Telegram Bot's API, поэтому я просто решил привести практические примеры. Бесплатно, без рекламы, без регистрации.

Во-первых, вы можете вставить emoji прямо в код! Современные IDE должны его нормально отображать и корректно сохранять в файле.

Во-вторых, если вы используете, например, Python, то вам следует просто указать в строке ваш символ в Unicode используя C-style.

Допустим значок 🍻 (кружки пива) в HEX это 1F37B, то в C-style это \U0001f37b. Ниже приведен пример POST запроса:

import requests

cred = "***"

chat_id = "***"

params = {

'chat_id': chat_id,

'text': "По пивку \U0001F37B ?",

'parse_mode': 'markdown',

'disable_web_page_preview': 'true'

}

url = f"https://api.telegram.org/{cred}/sendMessage"

result = requests.post(url, json = params).json()

print(result)

Если вы используете GET, то не забудьте ваш сделать urlencode для text.

curl "https://api.telegram.org/$cred/sendMessage?chat_id=-$chat_id&text=%D0%9F%D0%BE%20%D0%BF%D0%B8%D0%B2%D0%BA%D1%83%20%20%F0%9F%8D%BB%20%3F&parse_mode=markdown"

Оставлю вам ссылку на онлайн-конвертер: https://r12a.github.io/app-conversion/