我有一个松弛的 POST api 调用,我正在从我的应用程序中调用它:-

slack_client.api_call("chat.postMessage", channel=channel, text=response, as_user=False, username="Slack bot")

我遇到的问题是响应可能包含错误日志并且可以包含类似的文本



当它发布到 slack 时,它会将 :hive: 视为 emoji 并打印 hive 的 emoji 而不是 :hive:,这是我不想要的。

这个怎么做?我曾尝试将 mrkdwn 设为 false,但没有帮助。有人可以帮我吗?

最佳答案

我认为你有两个选择:

  • 您可以直接将字符串格式化为代码。然后 Slack 将不会解析表情符号。
  • 您可以在一个块中发送您的消息,这使您可以选择明确关闭表情符号。

  • 例子

    import slack
    import os
    import json
    
    client = slack.WebClient(token=os.environ['SLACK_TOKEN'])
    
    client.chat_postMessage(
        channel='general',
        text='`Error in /:hive:/SomeError....`'
    )
    
    client.chat_postMessage(
        channel='general',
        blocks=json.loads("""
            [
                {
                    "type": "section",
                    "text": {
                        "type": "plain_text",
                        "text": "Error in /:hive:/SomeError....",
                        "emoji": false
                    }
                }
            ]
        """)
    )
    

    关于slack - 使用 slack api 将消息发布到 slack 时如何忽略表情符号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60524097/

    10-15 19:16