当前位置: 首页 > 知识库问答 >
问题:

如何在松弛客户端中提及用户

邢卓
2023-03-14

这可能是一个简单的问题,但我无法解决。

我使用Slack Python Api在频道中提到用户,我在这里指的是文档,https://api.slack.com/methods/chat.postMessage,我的代码很简单,

from slackclient import SlackClient
sc = SlackClient(token)
message = sc.api_call(
  'chat.postMessage',
  channel='#channelname',
  text='This is a test.'
  )

这将向频道发送消息,但我找不到任何提及用户的选项。我试图在信息中加入@someone,例如

 text='@someone This is a test.'

该消息将被发布,但以纯文本形式发布,而不是真正提及某人。顺便说一句,我正在使用测试令牌。(或者也许此功能仅适用于授权令牌?

有什么选择或方法可以做到这一点吗?

共有2个答案

楮星鹏
2023-03-14

经过一点点的探索,我得到了非常简单的解决方案。我不知道我怎么会错过。

message = sc.api_call(
  'chat.postMessage',
  link_names=1,
  channel='#channelname',
  text='@someone This is a test.'
  )

使用选项linknames=1在文本消息中自动链接频道或用户名。这就行了。

谢谢大家。

花博厚
2023-03-14

发布一个更新的答案,因为自从Slack更新了他们的API,这个方法就不再有效了。现在,您必须使用< code>users.list来发现用户的ID,或者只是在Slack应用程序的个人资料中查找。

然后,对于给定的用户 ID,您可以通过按如下方式设置文本来提及它们:

message = sc.api_call(
  'chat.postMessage',
  channel='#channelname',
  text='<@userID> This is a test.'
  )

但是,如果您想提及用户组,则旧方法仍然适用 - 只需@mention它们,在这种情况下,请将link_names设置为true。

 类似资料:
  • 莴苣支持这种开箱即用的群集/分片吗?如果是,如何将其配置为使用客户端散列?

  • 创建okhttp3客户端,使用sni地址访问web服务器,但握手失败,错误消息为“javax.net.ssl.SSLHandShakeException:握手期间远程主机关闭连接”。 有人知道如何在okhttp3客户端代码中使用sni地址吗?

  • 我尝试为我的网站提供文件上传/下载服务,并且尝试使用openstack中的对象存储。问题是,我通过php和openstack PHPSDK做这件事没有问题,但是当我试图通过一些javascript做这件事时,我找不到一个好的sdk或方法。我没有使用node,我有一个php服务器和一个javascript客户端。我想直接从javascript客户端上传或下载文件。我不希望文件通过php服务器传输。我

  • 问题内容: 我正在尝试使用discord.py编写一个简单的机器人,所以我从有趣的命令开始,例如只是为了获得api的优势。 问题答案: 因此,我经过几天的反复试验终于弄清楚了如何做到这一点,希望其他人可以从中受益,并且比我实际承受的痛苦更少。解决方案最终很容易。

  • 问题内容: 我正在编写django应用程序,该应用程序应充当MQTT发布者和订阅者。 我应该在哪里启动Paho客户端并运行loop_forever()函数。 应该在wsgi.py中吗? 问题答案: 更新: 如果您需要在Django的多个线程运行,那么发布您的Django应用程序的信息,您可以使用辅助功能从发布泛美卫生组织的模块- https://eclipse.org/paho/clients/p

  • 我是新的CodeIgniter和RestAPI。我试图在CodeIgniter中实现REST API,并使用了菲尔·斯特金的rest客户端和rest服务器。我看了一些教程,并成功地实现了Rest-Server部分(与Chrome的Rest Client APP进行了检查)。但是,为了实现Rest-Client,我遇到了一些麻烦。 我需要有cURL和CodeIgniter的cUrl库吗?如果是,我应