Skip to content
Slack <--> LINE Bridge
C# Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows
SlackLineBridge
.dockerignore
.gitattributes
.gitignore
LICENSE
README.md
SlackLineBridge.sln

README.md

SlackLineBridge

Slack <--> LINE Bridge

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

仕組み

image

設定

Slack側の設定

  1. 対象のチャンネルにIncoming WebhooksとOutgoing Webhooksを設定する.

  2. Outgoing WebhooksのPOST先を https://ホスト名/slack に設定する.

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",
      "token": "", // Outgoing Webhooksのトークン
      "teamId": "",
      "channelId": "",
      "webhookUrl": "" // Incoming WebhooksのUrl
    }
  ],
  "lineChannels": [ // LINEチャンネル(user/group/room)リストの定義
    {
      "name": "fuga",
      "id": "" // 対象のID
    }
  ],
  "slackLineBridges": [ // 関連付けるチャンネルリストの定義
    {
      "slack": "hoge",
      "line": "fuga"
    }
  ],
  "lineAccessToken": "" // LINEのアクセストークン(ロングターム)
}

スクリーンショット

Slack側
image

LINE側
image

制約

  • LINE側の制約により,LINE側のユーザ名は情報の取得に同意したユーザのみ取得可能です.情報の取得に同意していないユーザは,ユーザ名の代わりに一意のIDで表示されます.
  • LINEスタンプには対応していません.

Dockerイメージ

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

License

MIT

You can’t perform that action at this time.