[Docker][Puppeteer] サイトのスクリーンショットを Slack に投稿する

ウェブサイトのスクリーンショットを Slack に投稿する方法。

GitHub で公開されている screenshot2slack というツールを利用する。Docker の Puppeteer を使ってスクリーンショットを撮影、Slack に投稿する。

GitHub - ryysud/screenshot2slack: screenshot2slack is a tool uploading a screenshot to slack with puppeteer on docker.
https://github.com/ryysud/screenshot2slack

ryysud/screenshot2slack - Docker Image | Docker Hub
https://hub.docker.com/r/ryysud/screenshot2slack

環境:macOS High Sierra Version 10.13.6(英語環境)、Docker Desktop Version 3.2.2

(0)Mac に Docker をインストールしておく。起動。

Docker Desktop for Mac by Docker | Docker Hub
https://hub.docker.com/editions/community/docker-ce-desktop-mac/

(1)【Slack の Token の作成】

(1−1)以下のページにアクセス。

Slack API: Applications | Slack
https://api.slack.com/apps

「Create New App>From scratch>From scratch」をクリック。以下のように設定する。

・App Name:適当に名前を付ける。
・Pick a workspace to develop your app in:自分の workspace を選択する。

「Create App」をクリック。

(1−2)(新しいデザインと古いデザインのページがあるが、今回は新しいデザインのページで設定する。)

「Settings>App Manifest」の YAML に以下を追記、「Save Changes」をクリックする。

oauth_config:
  scopes:
	user:
	  - files:write
	  - chat:write

「General>Basic Information」をクリックすると、User Scope に chat:write と files:write と記入されているはずだ。

(1−3)「Distribution>Install App>Install to Workspace>Allow」をクリック。

「User OAuth Token」が発行されるので控えておく。

(2)Terminal で以下のコマンドを実行し、screenshot2slack を使える状態にする。

$ docker pull ryysud/screenshot2slack

例えば以下のようなコマンドを実行することで、weathernews のサイトのスクリーンショット(名古屋の天気)を Slack の test チャンネルに に投稿できる。

$ docker run --rm \
	-e SLACK_BOT_TOKEN=[1−3の User OAuth Token] \
	-e CHANNEL=test \
	-e TARGET_URL=https://weathernews.jp/s/forecast/detail.fcgi?area=Nagoya \
	-e WIDTH=600 \
	-e HEIGHT=900 \
	ryysud/screenshot2slack:latest

参考:
Raspberry PiからSlackへ画像投稿
https://monomonotech.jp/kurage/raspberrypi/slack.html


この記事が気に入ったらサポートをしてみませんか?