如何使用python在Telegram机器人中发送表情符号?

时间:2020-10-20 19:36:00

标签: python-3.x telegram-bot python-telegram-bot

我正在处理一个小项目,我决定添加表情符号以使视觉效果更好些,但我无法发送。我尝试了类似“ \ U000203C”的Unicode,甚至尝试复制表情符号并粘贴过去,但仍然无法完成。我可以发送表情符号吗?

Unicode

exchange_msg = "TRY TO USD: "+ USDTORTY, "PERCANTAGE: " +  USDTORTYPERCENTAGE + u'\U000203C'
update.message.reply_text(exchange_msg)

复制粘贴

exchange_msg = "TRY TO USD: "+ USDTORTY, "PERCANTAGE: " +  USDTORTYPERCENTAGE + u'?'
update.message.reply_text(exchange_msg)

我尝试的代码输出如下。

["TRY TO USD: 7.8645", "PERCANTAGE: -0.0151 (-0.19%)\ud83d\udea8"]

2 个答案:

答案 0 :(得分:2)

回复消息是一个元组

exchange_msg = "TRY TO USD: "+ USDTORTY, "PERCANTAGE: " +  USDTORTYPERCENTAGE + u'?'

# print type: <class 'tuple'>
print(type(exchange_msg))
# print second value: PERCANTAGE: USDTORTYPERCENTAGE ?
print(exchange_msg[1])
# print second value type: <class 'str'>
print(type(exchange_msg[1]))

只要它们是字符串的一部分,就可以在文本消息中轻松使用emoij。
您可以更改代码以使用单个字符串作为响应(这是映射回复的一种好方法),也可以直接访问元组值

# replacing comma with a space
exchange_msg = "TRY TO USD: " + 'USDTORTY' + " " + "PERCANTAGE: " + 'USDTORTYPERCENTAGE ' + '?'

答案 1 :(得分:1)

我有一个正在运行的机器人,并且使用了很多表情符号。我使用https://www.iemoji.com/找到要使用的表情符号的Python Src,然后进行编码。

这是我的方法:

def emojis (update, context):
    msg = '\U0001F916 This is a Robot face!\n'
    msg += '\uE404 This is a smiling face!'
    context.bot.send_message(message_id = update.message.message_id,
                             chat_id = update.message.chat_id,
                             text = msg)