使用 Infobip 将短信中的表情符号转换为文本:分步指南

您是否发现很难理解如今推文、LinkedIn 帖子和其他帖子中使用的许多表情符号?

在本指南中,您将学习如何解码这些表情符号并将其转换为定义字符串中的文本,并且借助 Infobip SMS API 和 Python SDK,您可以将所有信息作为短信发送到您的手机。

让我们开始吧!

先决条件

  • Infobip 帐户(免费试用即可)
  • Python 知识
  • 本地机器上的 Python
  • 设置您的环境

    由于本教程使用 Python CLI 运行脚本,因此请使用以下命令安装 Infobip SDK:

    pip install infobip-api-python-sdk

    现在,创建一个文件夹,表情符号并添加以下文件:

  • .env:来自管理仪表板的环境变量
  • app.py:所有脚本都在这里
  • 环境变量

    `.env` 文件有助于隐藏 GitHub 上公共存储库中的所有敏感信息,防止您与公众共享您的密钥和变量。

    复制粘贴这些变量:

    IB_BASE_URL=""
    IB_API_KEY=""
    DESTINATION_NUMBER=""

    将键的变量替换为您的实际值。登录到您的仪表板以访问您的详细信息。

    创建表情符号解码器应用程序

    demoji 模块或包在字符串中查找表情符号并将这些表情符号或表情符号转换为文本。运行此命令以安装 Python 模块。

    pip install demoji

    在“app.py”文件中,导入必要的模块和Infobip SMS通道。

    import demoji
    from infobip_channels.sms.channel import SMSChannel
    import os

    接下来,在导入下方,包含您想要的文本以及“demoji”模块将帮助转换为文本的多个或一个表情符号。

    text = """
    I am launching this exciting project 🚀🔥
    which I have been building in public for 
    some months 💻💪🇳🇬. 
    """

    “text”变量被包裹在文档字符串中,允许用三重引号表示的多行字符。

    准备 SMS 负载

    “DESTINATION_NUMBER” 是您要发送短信的号码。如果您使用的是 Infobip 试用帐户,则该号码应该已通过您的帐户验证。

    Python 函数“send_sms_from_app”调用 SMS 响应,创建 **SMSChannel** 类的实例,其中包含所有方法。实例“SMSChannel.from_env()”将读取 .env 文件中设置的变量。

    def send_sms_from_app(text):
       channel = SMSChannel.from_env()
       sms_response = channel.send_sms_message({
           'messages': [{
               'from': 'Know meanings of emojis',
               'text': text,
               'destinations': [{
                   'to': os.environ['DESTINATION_NUMBER']
               }],
           }]
       })
       print(sms_response)

    发送短信并测试脚本

    在发送短信之前,我们需要将**字典**的结果输出转换为包含表情符号及其描述的格式化字符串,以使其在短信格式中有意义。

    {'🚀': 'rocket', '🔥': 'fire', '🇳🇬': 'flag: Nigeria', '💻': 'laptop', '💪': 'flexed biceps'}

    此外,以“text”作为参数传递的“findall”方法可在文本中查找表情符号。

    emoji_dict = demoji.findall(text)
    result_text = '\n'.join([f'{emoji}: {description}' for emoji, description in emoji_dict.items()])
    send_sms_from_app(result_text)

    `result_text` 变量循环遍历 `emoji_dict` 输出中的键值对,并使用转义字符 `\n` 将格式化的字符串与换行符连接起来。

    最后,`send_sms_from_app`函数通过短信发送处理后的文本。

    要测试此脚本,请在终端中运行以下命令:

    python app.py
    emoji and their text meaning

    了解更多

    浏览本指南以了解如何使用**Infobip SMS Channel**在手机上直接接收重要更新(例如报告)。