【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又はメールにて。

まる。をフォローする
その他の記事はこちら
世界初!?はんだ用卓上リフロー炉で「リフローたこ焼き」は調理できるのか
【エンジニアのキャリアを伸ばす】tech boostの持つ、2つのコースとは?特徴やメリットを解説!【未経験からフリーランスになろう】
【ネタバレ】2024年しろたん新春福袋を購入したので中身を紹介します!【限定品は?総額いくら?】
[Touchdesigner]CHOPの波形グラフをオーバーレイ(重ねて表示)する方法
Yt-dlpにてHTTP Error 403: Forbiddenエラーが出る時の対処法【2023年】

※当サイトはプロモーションリンクを使用しています。

Programming雑記
まにゅまるスクリプト。
タイトルとURLをコピーしました