如何让Webhook发送到Slack的文本以纯文本展示,避免Emoji解析?
解决Slack Webhook中MAC地址
:de:被解析为Emoji的问题 我刚好碰到过一模一样的坑!当用Webhook向Slack发送包含MAC地址的崩溃信息时,:de:被自动解析成德国国旗Emoji确实挺烦的,给你几个实用的解决办法:
全局禁用Markdown解析(最省心)
Slack的Webhook支持在请求payload里添加mrkdwn: false参数,这样整个消息内容会被当作纯文本处理,不会解析任何Emoji代码或Markdown格式。示例payload如下:{ "text": "崩溃设备MAC地址:aa:bb:cc:dd:ee:de", "mrkdwn": false }这种方式适合整个消息都不需要Markdown格式的场景,设置后所有特殊符号都会原封不动显示。
转义特定的冒号(保留部分Markdown)
如果你还需要消息里的其他内容使用Markdown格式,可以把:de:里的冒号用反斜杠转义。注意在JSON payload里,反斜杠本身需要转义,所以要写成\\:。示例:{ "text": "崩溃设备MAC地址:aa:bb:cc:dd:ee\\:de\\:\n*备注*:这是测试设备" }这样
:de:会被当作纯文本,而*备注*依然会被解析为加粗格式。把MAC地址放在代码块里
把MAC地址用反引号(`)包裹起来,Slack会把代码块里的内容当作纯文本,不会解析Emoji。示例:{ "text": "崩溃设备MAC地址:`aa:bb:cc:dd:ee:de`" }这种方式还能让MAC地址有代码样式,更醒目,同时避免解析问题。
内容的提问来源于stack exchange,提问作者parsley72
相关产品推荐
相关产品推荐

