Slackへの投稿とLINEへの投稿を相互に橋渡しします.
- Slack Appを作成する
Event Subscriptions
を有効にし、Request URLをhttps://ホスト名/slack2
に設定するSubscribe to bot events
でmessage.channels
とmessage.groups
イベントを購読する
- 作成したSlack Appをワークスペースにインストールする
- 対象のチャンネルにインストールしたSlack Appを参加させる
- 対象のチャンネルにIncoming Webhooksを設定する
- LINE DevelopersからMessaging APIチャンネルを作成する.
- Webhook URLを
https://ホスト名/line
に設定する.
UseCloudWatchLogs
: ログデータをAmazon CloudWatch Logsに書き出すかどうか
Amazon CloudWatch Logsを使う場合,AWSの資格情報を指定することが可能です.
指定しなかった場合はこの辺から適当に探してくるはず.
{
"AWS": {
"AccessKey": "",
"SecretKey": ""
}
}
関連付けるチャンネルの設定
{
"slackChannels": [ // Slackチャンネルリストの定義
{
"name": "hoge",
"teamId": "",
"channelId": "",
"webhookUrl": "" // Incoming WebhooksのUrl
}
],
"lineChannels": [ // LINEチャンネル(user/group/room)リストの定義
{
"name": "fuga",
"id": "" // 対象のID
}
],
"slackLineBridges": [ // 関連付けるチャンネルリストの定義
{
"slack": "hoge",
"line": "fuga"
}
],
"lineAccessToken": "", // LINEのアクセストークン(ロングターム)
"lineChannelSecret": "", // LINEのチャンネルシークレット
"slackSigningSecret": "", // Slack AppのSigning Secret
"slackAccessToken": "" // Slack AppのBot User OAuth Token
}
SlackのユーザアイコンはLINE側には反映されません.- v4.0.0でLINE側のユーザアイコンとユーザ名の置き換えに対応しました (#24)
- 上のスクリーンショットは更新前のものです
https://hub.docker.com/r/ydkk/slack-line-bridge
docker-compose.yml
の例
version: '3'
services:
bridge:
restart: always
image: ydkk/slack-line-bridge:latest
volumes:
- ./appsettings.AWS.json:/app/appsettings.AWS.json:ro
- ./appsettings.json:/app/appsettings.json:ro
- ./config.json:/app/config.json:ro
networks:
- bridge_external_network
networks:
bridge_external_network:
external: true
MIT