我正在为python-rtmbot开发一个插件,并尝试从该插件输出短链接,如下所示:
<http://google.com|test>
。我的目标是在Slack中显示这个:test-一个可单击的链接,而不显示完整的URL。在
但是,Slack bot只显示原始文本<http://google.com|test>
。我修改了文件中名为output()的函数rtmbot.py:
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_消息(),我改为使用self.slack_客户端.api_call(),它是SlackClient包中SlackClient的一个实例。链接现在已正确显示,但显示时间较长(输出速度较慢)。在
有没有办法仍然使用channel.send_消息()具有短链路能力?欢迎有任何其他想法/建议。在
rtmapi只支持发布使用我们的default message formatting mode格式化的简单消息。在
要发布更复杂的消息,可以调用聊天.postMessageWeb API方法,正如您通过PythonSlackClient库所做的那样。我认为目前没有更好的解决办法。在
相关问题 更多 >
编程相关推荐