3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PythonからSlackにメッセージを送信する

Posted at

このページの概要

Pythonで特定の処理を実行後、slackで通知する機能の実装手順をメモとしてまとめている。

1. 準備

slackへPythonからメッセージを送信するには、Pythonの関連ライブラリーのインストールやSlackウェブページでの簡単な設定を済ましておく必要がある。

1-1. 必要なPythonライブラリーのインストール

以下を実行してslackライブラリーをインストール。

pip install slack

1-2. slack botの作成

以下urlからslackのアプリ作成画面を開く。
https://api.slack.com/apps

  • 「Create New App」をクリックし、アプリを作成開始
    image.png

  • 「From scratch」を選択
    image.png

  • 任意の「App Name」を入力し、workspaceを選択後「Create App」をクリック

image.png

  • 「Permission」をクリックし、権限設定を開始する
    image.png

  • 「Scope」として以下の2つの権限を追加

    • chat:write
    • im:write

image.png

  • 「Install to Workspace」をクリックし、アプリを対象のワークスペースに取り込む
    image.png

  • 発行されたトークンをコピーしてメモ帳等に控えておく
    この「トークン」というのは、作成したアプリをプログラムから呼び出す際に使用するパスワードのようなものなので重要。
    image.png

2. Pythonコードの作成

  • チャンネルへのメッセージの送信
  • ダイレクトメッセージの送信
    の2種類のコードについて記述する。

チャンネルへのメッセージの送信

  • Slack上にて先ほど作成したAppを選択し、送信先のチャンネルを追加する
    下の例であれば、#testチャンネルへメッセージを送信したいので、#testをアプリに追加。
    image.png

  • コード内にトークンやチャンネル名を設定して実行

import slack

OAUTH_TOKEN = '控えておいたトークン'
CHANNEL_NAME = 'チャンネル名'

client = slack.WebClient(token=OAUTH_TOKEN)

response = client.chat_postMessage(
    channel=CHANNEL_NAME,
    text="chat bot test message")
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?