如何让Slack App/Bot发布代码块(Python)

nvbavucw  于 2023-09-29  发布在  Python
关注(0)|答案(2)|浏览(119)

在Slack中,你可以像在Stackoverflow中一样在代码块中以用户身份发布

like so

作为一个发帖用户,你可以通过输入“`”来做到这一点,然后将你的输入框更改为代码格式。
我需要让我的Slack App/Bot发布一个Tabluate Table作为代码块,以便格式与我的Python输出保持一致。现在,我的代码看起来像这样:

client.chat_postMessage(channel="#google-analytics-test",text="```" + table)

这只是以文本格式发布表格,并在表格的开头添加“`”。

这是来自bot的内容:

来自用户的外观:

对此任何帮助将不胜感激,任何替代方法,以获得制表表被张贴的机器人在正确的格式也将非常欢迎!

iqih9akk

iqih9akk1#

你还需要“`”后的表,两者应该在一个单独的行。这应该可以做到:

client.chat_postMessage(channel="#google-analytics-test",text="```\n" + table + "\n```")

注意添加的新行“\n”。

huus2vyu

huus2vyu2#

确保chat_postMessage不会将您的文本拆分为单独的消息--我在大约25行时发生过这种情况。
文档在预期行为上有点模糊:https://api.slack.com/methods/chat.postMessage#truncating
为获得最佳效果,请将文本字段中的字符数限制为4,000个字符。理想情况下,消息应该是简短的和人类可读的。Slack将截断包含超过40,000个字符的消息。如果您需要发布较长的消息,请考虑上传片段。

相关问题