Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

IT技術 (Technology)

SlackのAPIでメッセージを投稿する方法(Pythonのサンプルコード付き)

投稿日:2022年6月24日 更新日:

 

<目次>

(1) SlackのAPIでメッセージを投稿する方法(Pythonのサンプルコード付き)
 (1-1) STEP1:Slackでボット用のアプリを作成
 (1-2) STEP2:Python環境の準備#1【任意】
 (1-3) STEP3:Python環境の準備#2
 (1-4) STEP4:Pythonプログラムの作成#1:環境変数
 (1-5) STEP5:Pythonプログラムの作成#2:ロジック
 (1-6) STEP6:疎通テスト

(1) SlackのAPIでメッセージを投稿する方法(Pythonのサンプルコード付き)

本記事ではまずSlackアプリを作成し、PythonプログラムからAPI呼び出しし、ボットにメッセージ投稿をさせる所までをご紹介します。
(※これだけでは、単にBotとして手動で投稿する事しか出来ないので、Botらしい「何かのイベントをトリガーにメッセージを投稿する」といった自動処理は別途(★)ご紹介します)
(図100)イメージ

(前提)

・①Slackの初期セットアップ(FreeでもOK)が済んでいる
→アカウント登録、ワークスペースの作成が済んでいる
・②Visual Studio CodeでPythonが利用できる
 

(1-1) STEP1:Slackでボット用のアプリを作成

・①Slackでメッセージを投稿するためのボット用のアプリを作ります。
下記の別記事を参照。
 
 
※当記事は上記の記事にて、curlコマンドでAPI呼び出している部分を、Pythonに置き換えて実現する方法を紹介しています。
 
(図101)上記手順を実施した後、こんな感じで「chat:write」権限を持ったアプリができます。

(図102)作ったアプリはSlackチャンネル内にも統合されています。

(1-2) STEP2:Python環境の準備#1【任意】

※この手順は任意です。
筆者はvenv(仮想環境)を作りその配下で作業しますが、この手順は必須ではありません。詳しく知りたい人はこちらの記事(→★)を見て頂けたらと思います。
 
・①venvの作成
(図111①)

↓作成された
(図111②)

・②venvの有効化

(図111③)
 

(1-3) STEP3:Python環境の準備#2

・①下記pip(パッケージ管理システム)コマンドで必要となるパッケージ「python-dotenv」と「slackclient」を導入します。
pip install python-dotenv
pip install slackclient
(図121①)

(図121②)

(1-4) STEP4:Pythonプログラムの作成#1:環境変数

・①「.env」作成
(図131①)
・②環境変数の設定
 
SLACK_TOKEN=[ご自身のBot User OAuth Token]
 
ここの値を・・・
(図131②)
↓ここに貼り付け
(図131③)

(1-5) STEP5:Pythonプログラムの作成#2:ロジック

(サンプルコード)

import slack
import os
from pathlib import Path
from dotenv import load_dotenv

# 親フォルダパスを取得
file_path = Path(__file__).parent
# 「.env」ファイルのパスを設定
env_path = file_path/'.env'
# 「.env」ファイルのロード
load_dotenv(dotenv_path=env_path)

# トークンを指定してWebClientのインスタンスを生成
client = slack.WebClient(token=os.environ['SLACK_TOKEN'])
# chat_postMessageメソッドでメッセージ投稿
client.chat_postMessage(channel='[投稿したいチャンネル名]', text="[投稿したいメッセージ]")

(図141①)

目次にもどる

STEP6:疎通テスト

試しに実行して結果を確認します。
(図151①)

Adsense審査用広告コード


Adsense審査用広告コード


-IT技術 (Technology)

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

プロセスとは? Linuxの例も交えてご紹介

  <目次> (1) プロセスとは? Linuxの例も交えてご紹介  (1-1) プロセスとは?  (1-2) プロセスの構成要素  (1-3) プロセスの状態遷移 (1) プロセスとは? …

Celonisとは?プロセスマイニングの概要やCelonisの特徴

  <目次> (1) Celonisとは?プロセスマイニングの概要やCelonisの特徴  (1-1) プロセスマイニングとは?  (1-2) Celonisとは?  (1-3) Celon …

CelonisのProcess ExplorerとVariant Explorerの違い

  <目次> (1) CelonisのProcess ExplorerとVariant Explorerの違い  (1-1) Process Explorer(プロセスエクスプローラー)の概 …

APIの難しい部分を吸収し、手軽に検証するためのツール(Postman)をご紹介

  <目次> (1) APIの難しい部分を吸収し、手軽に検証するためのツール(Postman)をご紹介  (1-1) Postmanの概要  (1-2) Postmanの導入手順  (1-3 …

Windows10でWi-Fiが表示されない時の対処方法

  <目次> (1) Windows10でWi-Fiが表示されない時の対処方法  (1-1) 問題の整理  (1-2) 対策①:Wi-Fiサービスを有効化する  (1-3) 対策②:WLAN …

  • English (United States)
  • 日本語
Top