使用 slack api 向 slack 发送消息时如何忽略表情符号?
How to neglect emojis when posting messages to slack using slack api?
我有一个 slack POST api 调用,我正在通过我的应用程序进行调用:-
slack_client.api_call("chat.postMessage", channel=channel, text=response, as_user=False, username="Slack bot")
我遇到的问题是响应可能包含错误日志并且可能包含类似
的文本
Error in /:hive:/SomeError....
当它发布到 slack 时,它会将 :hive: 视为表情符号并打印蜂巢的表情符号而不是 :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 POST api 调用,我正在通过我的应用程序进行调用:-
slack_client.api_call("chat.postMessage", channel=channel, text=response, as_user=False, username="Slack bot")
我遇到的问题是响应可能包含错误日志并且可能包含类似
的文本Error in /:hive:/SomeError....
当它发布到 slack 时,它会将 :hive: 视为表情符号并打印蜂巢的表情符号而不是 :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
}
}
]
""")
)