概要
Attachments はセカンダリメッセージ用のフォーマットで引用などに使われます
今回は Python sdk で Attachments を送信するサンプルを紹介します
環境
- macOS 11.7.10
- Python 3.11.6
- slack-sdk 3.27.1
サンプルコード
トークンは Bot トークンを使います
Attachments は辞書情報として渡します
指定可能なオプションの説明はコード内のコメントに記載しています
from slack_sdk import WebClient
from slack_sdk.errors import SlackApiError
client = WebClient(token="xoxb-xxxxxxxx")
try:
response = client.chat_postMessage(
channel="#private",
text="Hello world!",
# ここからAttachmentsの定義
attachments=[
{
# Attachmentsが表示されない場合の代替テキストを指定
"fallback": "Plain-text summary of the attachment.",
# 左のバーのカラーを指定
"color": "#2eb886",
# Attachmentsの上部のタイトル情報
"pretext": "Optional text that appears above the attachment block",
# Attachmentsの投稿者の名前
"author_name": "Bobby Tables",
# Attachmentsの投稿者のリンク先URL
"author_link": "http://flickr.com/bobby/",
# Attachmentsの投稿者のアイコンのURL
"author_icon": "http://flickr.com/icons/bobby.jpg",
# Attachments内に表示するタイトル
"title": "Slack API Documentation",
# Attachments内に表示するタイトルのURL
"title_link": "https://api.slack.com/",
# Attachments内に表示する本文
"text": "Optional text that appears within the attachment",
# 優先度情報
"fields": [
{
"title": "Priority",
"value": "High",
"short": False,
}
],
# フッター情報に掲載する画像情報とサムネイル情報
"image_url": "https://picsum.photos/200/300",
# image_urlとthumb_urlは一緒に使用できない、thumb_urlは500kb以下でなければならない
# "thumb_url": "https://picsum.photos/200",
# フッター情報
"footer": "Slack API",
"footer_icon": "https://platform.slack-edge.com/img/default_application_icon.png",
# フッターに表示するタイムスタンプ情報
"ts": 1503435956.000247,
}
],
)
except SlackApiError as e:
print(e)
動作確認
サンプルコードの Attachments の場合以下のような表示になります
最後に
Slack Python SDK で Attachments を送信してみました
その他にも blocks という形式でも送信できるようです
ボタンや画像、動画などを送ることができます
0 件のコメント:
コメントを投稿