slack - 通过 Slack Outgoing Webhooks 发送的消息中的 URI 用角括号括起来
问题描述
我通过 Slack Outgoing Webhook 在 Slack 和我的自定义应用程序之间进行了集成。最近,我发现如果 Slack 消息包含一个 URI(并且这个 URI 在 Slack 中被识别为 URI),那么发送到我的 webhook 的 JSON 的这个链接会被角括号('<' 和 '>')包围。
所以,现在,我有两个问题:
- 这是预期的行为还是错误?
- 有没有办法禁用它?
不幸的是,官方的 Slack 文档并不是很有帮助。
解决方案
这是预期的行为。我认为没有办法禁用它。
您在上面提到的行为发生在 Slack 消息中包含一些格式化文本时。不仅对于 URI,对于其他字符串,如频道、用户名、组,您也会遇到这些括号。您需要编写代码来解析这些字符串。
好消息是这些是定义良好的字符串,并且它们总是遵循特殊的结构。您可以在此处查阅 Slack 文档,以了解更多信息。
- 检测所有匹配的子字符串
<(.*?)>
- 在这些子字符串中,格式内容
#C
以频道链接开头@U
以用户提及或@W
作为用户提及的形式格式化内容!subteam
以用户组提及开头的格式内容!
以特别提及规则开头的格式内容- 对于这些子字符串中的任何其他内容,格式为 URL 链接
- 确定格式后,检查管道 (
|
) - 如果存在,使用管道后面的文本作为链接或提及的标签。
推荐阅读
- pandas - 更正 csv 文件中的一列,然后将其再次添加为新列
- sql - 如何设计数据库以记录特定的查看和编辑权限(在 Laravel 中)?
- php - 从睡眠/唤醒标记数组中获取平均清醒时间
- python - 使用 Paramiko 通过另一台服务器连接到服务器
- sql - 尽管日期加入,但日期不匹配
- c++ - 是否有当前使用的带有 C++ 编译器的系统,其中 int 超过 32 位宽?
- sql-server - CDH6.1: GOT 创建数据库管理器 sqlserver 时出错
- node.js - Express.js 从有关项目根目录的目录中提供文件
- c++ - 无法写入 AllocConsole()
- javascript - 如何使网站在使用和不使用 javascript 的情况下工作