格式化从 Errbot 发送的 Slack 消息

Formatting Slack messages sent from Errbot

我正在使用 subprocess.check_output 向 slack 发送消息。格式一团糟,我正在考虑尝试 markdown == false,但只想按模块设置它,但我不确定该怎么做。我不确定这是否会解决我的问题,更大的问题是如何格式化以下文本以使其可读

bad formatting

应该看起来像(或接近):

clean formatting

代码:

@botcmd
def find_vm(self, args, SearchString):
    output = subprocess.check_output(["C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe", ". \"C:\Program Files\Toolbox\PowerShell Modules\vmware\./vmware.psm1\";", "find-vm", SearchString])
    return output

用三重反引号包裹您的输出,这表示 Markdown 中的代码块。另请注意,您应该解码 subprocess.check_output 的输出,因为它 returns 是一个字节流,而不是我们通常认为的 "text":

@botcmd
def find_vm(self, args, SearchString):
    output = subprocess.check_output(["C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe", ". \"C:\Program Files\Toolbox\PowerShell Modules\vmware\./vmware.psm1\";", "find-vm", SearchString])
    return "```\n{output}\n```".format(output=output.decode("utf-8"))

请务必将 utf-8 替换为您实际系统使用的编码。