【Slack】プライベートチャンネルを強制的にパブリックチャンネルに変更する方法(非公式)

Slack との統合 - Dropbox

(※注意)走り書きなのでけっこー雑です。ニーズがありそうだったらまた詳細追記します。

プライベートチャンネルのログを取得する

ソースコード

import requests
import json

## Private channel URL
# url_converlist = "https://slack.com/api/conversations.list?types=private_channel"
# url_converhist = "https://slack.com/api/conversations.history?types=private_channel"

# トークン
token = "YOUR_TOKEN"
headers = {"Authorization": "Bearer " + token}

response_json = requests.get(
                    url_converlist,
                    headers=headers).json()

解説

conversations.list、conversations.historyのURL末尾に、それぞれ ?types=private_channel と付けることで非公開チャンネル(プライベートCH)の情報の取得が可能になります。

公式のエクスポートサービスだとパブリックチャンネルのみ出力など、制限が激しいのでこちらのやり方は是非オススメです。

Slack APIを使うだけで、簡単にチャンネル内のログを.json形式で書き出すことが出来ます。

パブリックチャンネルにアプリから投稿させる

ソースコード

import requests
import json

# Webhook

url = "https://slack.com/api/chat.postMessage"
TOKEN = 'YOUR_TOKEN
CHANNEL = 'YOUR_CHANNEL'
headers = {"Authorization": "Bearer " + TOKEN,
           "Content-Type": "application/json",
}

#  encode UTF8指定
json_open = open('YOURHOGEHOGE.json', 'r', encoding='UTF-8')
json_loads = json.load(json_open)

r = requests.post(url, headers=headers, data=json.dumps(HOGEHOGE))

解説

Create an Appより、まずはワークスペースに追加するアプリを作成しましょう。
(初めての方は、こちらの記事などが参考になります)

権限を正しく設定したら、

トークンをコピーしてソースコードのYOURTOKEN部分に貼り付けます。

その他、書き出す先のチャンネル名(エクスポート先)と、読み込んだ何かのチャンネルのjsonファイルのパス(インポート先)を YOURHOGEHOGEHOGEHOGE と適宜変更ください。

後は上記コードを参考に必要な処理を足したものを.py扱いで実行し完成です。

まとめ

SlackAPIは初めて触りましたが、ひとまずメッセージ内容のパブリックチャンネルへの再投稿は自作出来ました。思ったよりも簡単でホッとしてます。

元々はSlack値上げによる閲覧制限対策として書いたのですが、ドキュメントを読んでいると結構やれることが幅広いなと感じたので今後もSlackAPIは積極的に活用していきたいですね。

まる。

━━━━━━━━━━━━━━━━━
■未経験OK!大学生インターン募集中!
プログラミングやITなど
興味ある方ご連絡ください‎。
(๑ > ﻌ <`)و✧
━━━━━━━━━━━━━━━━━
Python歴5年のフルスタックエンジニア&ヨギー。
大学は心理学専攻、趣味はヘルスケア全般。
最近は自作脳波デバイスの設計とそれを使ったインタラクティブアート生成に勤しみ中。

↓アートとか日常。
Instagram:@malmal0v0

お仕事のご依頼はDM又はメールにて。

まる。をフォローする
その他の記事はこちら
[Touchdesigner]1秒に1増加する変数をPythonで書く方法
【Touchdesigner】e-06って?値に英字が入る理由を解説
教育訓練給付金で45万円付与!4ヶ月で未経験からエンジニアを目指せるディープロ(DPro)を解説
【4人に1人が盗み見被害!?】意外と知られていない、公共フリーWiFiの危険性と対策について解説
開発終了した筋電によるジェスチャー操作デバイスMyo armbandをどこまで使えるか検証してみる(2023年)

タイトルとURLをコピーしました