有趣的是,我写了一个Slack通知,每次cron作业清除某些文件时都会发送该消息。
一天晚上,已清理文件的列表足够长,以至于懒散地将其拆分为两个单独的帖子。除了我通过以下方式将内容包装在pre
标签中之外,没有任何问题:
public function toSlack()
{
return (new SlackMessage)
->success()
->content(sprintf('*Garbage Collector*```%s```', $this->message));
}
通过拆分一条消息,最终结果是,第一条松弛消息的标签为pre
,但没有关闭标签,而第二条消息的标签为未打开,并且也有关闭标签。视觉结果是两条消息均未以纯文本显示。
所需的效果(当内容不太长时发生)
我认为是一个错误,我不知道如何解决(此错误发生) 当内容太长时):
第二部分:
我在下面的str_replace
中使用的存根:
Garbage Collected
Environment: {app_env}
Date: {date}
{separator}
List of files deleted from the temporary directory:
{garbage}
{separator}
Reason: {reason}
Space recovered: {garbage_size}
Have a nice day!
我可以以某种方式在Laravel中解决此问题,还是由Slack的男孩来解决?
答案 0 :(得分:0)
经过一些测试后,这里是在Slack中创建消息的相关限制的列表:
text
中> 4.000个字符(未记录)text
(Source)中的40.000个字符attachments
/ text
中的8.000个字符(未记录)据我所知,行为无法更改,并且对于发送消息的所有不同方式都是相同的:
以下是解决方法的一些想法:
file.upload
将整个文本作为文本片段上传。然后,Slack将自动显示文本的预览,用户可以通过单击打开整个内容。我建议3.因为它更易于使用。
有关Slack消息中所有已知文本限制的概述,另请参见this documentation。