This might be a simple question, but I can not get it work.
I am using Slack Python Api to mention a user in a channel, and I am referring to the document here, https://api.slack.com/methods/chat.postMessage, and my code is simple as,
from slackclient import SlackClient
sc = SlackClient(token)
message = sc.api_call(
'chat.postMessage',
channel='#channelname',
text='This is a test.'
)
This will send a message to the channel, but I can not find any option to mention users. And I tried to put @someone
inside the message such as
text='@someone This is a test.'
The message will be posted but in plain text, but really mentioning someone. BTW, I am using a Test Token.(Or maybe this feature is only available for authorized token? )
Is there any option or method to do this?
Thank you in advance.
After a little bit exploration, I got the solution which is quite simple. I don't know how I could miss it.
message = sc.api_call(
'chat.postMessage',
link_names=1,
channel='#channelname',
text='@someone This is a test.'
)
use the option link_names=1
to link channels or user names automatically in the text message. This will do the trick.
Thank you everyone.