如何在 slack.client 中提及用户
How to mention user in slack.client
这可能是一个简单的问题,但我做不到。
我正在使用 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.'
消息将以纯文本形式发布,但确实提到了某人。
顺便说一句,我正在使用测试令牌。(或者这个功能可能只适用于授权令牌?)
是否有任何选项或方法可以做到这一点?
提前谢谢你。
经过一番探索,我得到了非常简单的解决方案。我不知道我怎么会错过它。
message = sc.api_call(
'chat.postMessage',
link_names=1,
channel='#channelname',
text='@someone This is a test.'
)
使用选项 link_names=1
可以在短信中自动 link 频道或用户名。这样就可以了。
谢谢大家。
发布更新的答案,因为自从 Slack 更新了他们的 API 后,此方法不再有效。现在您必须使用 users.list
来发现用户的 ID,或者只是在 Slack 应用程序的个人资料中查找它。
然后对于给定的 userID,您可以通过如下设置文本来提及它们:<@userID>。 link_names
参数现在无关紧要。所以这将是现在要使用的代码:
message = sc.api_call(
'chat.postMessage',
channel='#channelname',
text='<@userID> This is a test.'
)
但是,如果您想提及用户组,那么旧方法仍然适用 - 只需@mention 他们,在这种情况下 do 将 link_names
设置为 true。
这可能是一个简单的问题,但我做不到。
我正在使用 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.'
消息将以纯文本形式发布,但确实提到了某人。 顺便说一句,我正在使用测试令牌。(或者这个功能可能只适用于授权令牌?)
是否有任何选项或方法可以做到这一点?
提前谢谢你。
经过一番探索,我得到了非常简单的解决方案。我不知道我怎么会错过它。
message = sc.api_call(
'chat.postMessage',
link_names=1,
channel='#channelname',
text='@someone This is a test.'
)
使用选项 link_names=1
可以在短信中自动 link 频道或用户名。这样就可以了。
谢谢大家。
发布更新的答案,因为自从 Slack 更新了他们的 API 后,此方法不再有效。现在您必须使用 users.list
来发现用户的 ID,或者只是在 Slack 应用程序的个人资料中查找它。
然后对于给定的 userID,您可以通过如下设置文本来提及它们:<@userID>。 link_names
参数现在无关紧要。所以这将是现在要使用的代码:
message = sc.api_call(
'chat.postMessage',
channel='#channelname',
text='<@userID> This is a test.'
)
但是,如果您想提及用户组,那么旧方法仍然适用 - 只需@mention 他们,在这种情况下 do 将 link_names
设置为 true。