我们可以使用python脚本向slack中的用户发送消息吗?

2024-04-27 00:41:01 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
3条回答

这是我使用SlackClient包找到的Python解决方案:

from slackclient import SlackClient

slack_token = os.environ["SLACK_API_TOKEN"]
sc = SlackClient(slack_token)

sc.api_call(
  "chat.postMessage",
  channel="@username",
  text="Test Message"
)

https://pypi.python.org/pypi/slackclient

简单的解决方法是使用Slack的Web APIrequests

import requests

# slack access bot token
slack_token = "xpxb-9534042403-731932630054-KSwhrmhg87TXGuF23Z4ipTRm"

data = {
    'token': slack_token,
    'channel': 'UJ24R2MPE',    # User ID. 
    'as_user': True,
    'text': "GO Home!"
}

requests.post(url='https://slack.com/api/chat.postMessage',
              data=data)

您可以在这里获得用户标识:

enter image description here

是的,这是可以做到的。在API中使用“@user”而不是“channel”名称。用户将从slackbot接收消息,因为我们使用的是API,而不是来自任何其他用户的直接消息。如果您想以经过身份验证的用户身份发布给该用户,请使用as_user= true

slack.chat.post_message('@to_user',msg,username='@from_user')

更多详情见https://api.slack.com/methods/chat.postMessage

相关问题 更多 >