Skip to content

Repository files navigation

SlackLineBridge

Slack <--> LINE Bridge

Slackへの投稿とLINEへの投稿を相互に橋渡しします.

仕組み

image

設定

Slack側の設定

  1. Slack Appを作成する
    • Event Subscriptions を有効にし、Request URLを https://ホスト名/slack2 に設定する
    • Subscribe to bot eventsmessage.channelsmessage.groups イベントを購読する
  2. 作成したSlack Appをワークスペースにインストールする
  3. 対象のチャンネルにインストールしたSlack Appを参加させる
  4. 対象のチャンネルにIncoming Webhooksを設定する

LINE側の設定

  1. LINE DevelopersからMessaging APIチャンネルを作成する.
  2. Webhook URLを https://ホスト名/line に設定する.

appsettings.json

UseCloudWatchLogs : ログデータをAmazon CloudWatch Logsに書き出すかどうか

appsettings.AWS.json (Optional)

Amazon CloudWatch Logsを使う場合,AWSの資格情報を指定することが可能です.
指定しなかった場合はこの辺から適当に探してくるはず.

{
"AWS": {
"AccessKey": "",
"SecretKey": ""
}
}

config.json

関連付けるチャンネルの設定

{
"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側
image

LINE側
image

制約

  • SlackのユーザアイコンはLINE側には反映されません.
    • v4.0.0でLINE側のユーザアイコンとユーザ名の置き換えに対応しました (#24)
    • 上のスクリーンショットは更新前のものです

Dockerイメージ

https://hub.docker.com/r/ydkk/slack-line-bridge

docker-compose.yml の例

version: '3'services:
bridge:
restart: alwaysimage: ydkk/slack-line-bridge:latestvolumes:
- ./appsettings.AWS.json:/app/appsettings.AWS.json:ro
- ./appsettings.json:/app/appsettings.json:ro
- ./config.json:/app/config.json:ronetworks:
- bridge_external_networknetworks:
bridge_external_network:
external: true

License

MIT

About

Slack <--> LINE Bridge

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages