見出し画像

【配布】LINEとDiscordのグループをリンクする BOT作成した ~2つのアプリを繋いでより自由な選択肢を。通知来ない対策にも~

割引あり

こんにちはRcatです。
前回の記事ではやりたいことがあると言って、LINEのbotを作成しましたね。
さて、もうタイトルでバレてますが、やりたいことはDiscordとの連携です。主に以下の問題を解決できます。

  • 自分はDiscordだけど、家族や周りの人はLINEを使っている
    ぶっちゃけ言うと、私はさよなラインしてDiscordメインです。でも家族が使ってるのはLINEなんですよね…。

  • 最近LINEの通知が来なくて困っている
    周りの人やレビューでも通知が来ないことで有名なLINEですが、最近とうとう私のスマホにも来なくなりました。しかし、Discordはちゃんと通知が来てます。スマホが悪いわけじゃありません。

PC版ラインとDiscordで動作確認

というわけで、今回はLINEのグループとDiscordのチャンネルをつないで、それぞれ入力されたメッセージを相手側のアプリで代弁するBOTを作っていきます。

前回の記事はこちら
BOTアカウントの作り方型からメッセージ送受信の実験までを行っています。


概要

仕組み

一番最初にもうほとんど語ってしまいましたが、改めて何をするのか説明します。
まず、イメージとしては以下のような感じになります。

いらすと屋の素材を使用しています

そう、お互いにLINEとDiscordという別のアプリを使っているにも関わらず、連絡を取り合うことができます。
その仕組みがBOTです。
それぞれのグループ会話及びチャンネルに専用のチャットボットを招待します。
両方のアプリでチャットボットは、新しく送信されたメッセージを取得することができます。そして、チャットボットはメッセージを送る機能も持っています。
例えばLINEから送られてきたメッセージをBOTが受信して、DiscordのBOTでメッセージを送信するということをすれば、実質LINEからDiscordにメッセージを送っていることになります。もちろんその反対もできます。

動作環境

本作は制作過程でWindowsで動作、その後、稼働環境でLinuxで動作確認しています。
前回の記事で書いたように、チャットボットは自分のサーバーで動かす前提です。詳しくは前回の記事を参照してください。
そのため、プログラム言語はPythonを使います。

連携範囲

LINEの方はグループを作成し、そこにボットを招待します。
Discordの方はサーバーの中にボットを招待後、LINEと連携するチャンネルを作成し、その中でのやり取りを仲介します。


導入と使い方

まず、最初に配布データをそのまま使ってみたいという方向けに使い方を説明します。

事前準備

LINEとDiscordのボットを作成する
ボットアカウントはすでに出来上がっている前提です。ボットアカウントが出来上がったら、それぞれグループとサーバーに招待しておいてください。
LINEの場合は以下の記事を確認してください。

Discordの場合は以下の記事を確認してください。

SSL証明書を取得する
LINEのbotの方でも紹介していますが、証明書が必要です。
証明書の取得については、以下の記事にまとめましたので、持っていない方は参考にしてください。

データの準備と導入

本作はPythonで動いているので、まだの方はまずはPythonをインストールしてください。

最下部で配布しているデータは以下のようになっています。
このデータは自動環境構築対応です。
このフォルダの中に証明書のデータを追加しておいてください。
証明書がないとすぐに落ちます。

固定設定の変更

最初にツール本体の2か所を変更します。
ポート番号は自身がLINEのBOTで使用する番号にしてください
サーバーホストはLINEのWeb hookで使用したURLのうちポート番号までに書き換えてください。

変更後、実行環境に応じてWindowsであれば歯車マークのstart.batLinuxであればstart.shを実行すると自動的に仮想環境が構築され、ライブラリがインストールされます。

最終的な起動状態では以下のようなデータ構成になるはずです。

ここから先は

6,375字 / 25画像

情報が役に立ったと思えば、僅かでも投げ銭していただけるとありがたいです。