python - Slack RTM 与 python-rtmbot : making short-links work

标签 python slack-api slack

我正在为 python-rtmbot 开发一个插件我正在尝试从该插件输出短链接,如下所示: <http://google.com|test> 。我的目标是在 Slack 中显示此内容:test - 可点击的链接,但不显示完整的 URL。

但是,我的 Slack 机器人只会显示原始文本 <http://google.com|test> 。我修改了文件 rtmbot.py 中名为 output() 的函数:

def output(self):
    for plugin in self.bot_plugins:
        limiter = False
        for output in plugin.do_output():
            channel = self.slack_client.server.channels.find(output[0])
            if channel != None and output[1] != None:
                if limiter == True:
                    time.sleep(.1)
                    limiter = False
                message = output[1].encode('ascii','ignore') + "<http://google.com|test>"
                #channel.send_message("{}".format(message))
                self.slack_client.api_call('chat.postMessage', channel=output[0], text=message, as_user=True)
                limiter = True

我没有使用 channel.send_message(),而是改用 self.slack_client.api_call(),它是 SlackClient 的一个实例> 来自 slackclient 包。现在链接可以正确显示,但显示时间较长(输出速度较慢)。

有没有办法仍然使用具有短链接功能的channel.send_message()?欢迎任何其他想法/建议。

最佳答案

RTM API 仅支持发布使用我们的 default message formatting mode 格式化的简单消息.

要发布更复杂的消息,您可以调用 chat.postMessage Web API 方法,就像通过 python slackclient 库所做的那样。我认为目前还没有更好的解决方案。

关于python - Slack RTM 与 python-rtmbot : making short-links work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33994675/

相关文章:

json - 如何将 JsonPost 发送到 Nlog 中的 WebService 目标

python - 尝试使用distutils交叉编译mingw32的SWIG Python扩展时出错

python - 使用滚动,俯仰和偏航使图像变形

slack-api - 我的 slack 自定义命令如何生成/提醒我类似的链接

slack-api - Slack 是否可以进行基于批准的注册?

slack - Bot postMessage 缺少图标和名称

python - 递归函数调用

python - 打印重定向到文件有时会导致 python 中的打印输出不完整

node.js - Slack API 通过 webhook 发送命令

node.js - 如何在 Slack App 中存储配置项