【配布】LINEとDiscordのグループをリンクする BOT作成した ~2つのアプリを繋いでより自由な選択肢を。通知来ない対策にも~
こんにちはRcatです。
前回の記事ではやりたいことがあると言って、LINEのbotを作成しましたね。
さて、もうタイトルでバレてますが、やりたいことはDiscordとの連携です。主に以下の問題を解決できます。
自分はDiscordだけど、家族や周りの人はLINEを使っている
ぶっちゃけ言うと、私はさよなラインしてDiscordメインです。でも家族が使ってるのはLINEなんですよね…。最近LINEの通知が来なくて困っている
周りの人やレビューでも通知が来ないことで有名なLINEですが、最近とうとう私のスマホにも来なくなりました。しかし、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.bat、Linuxであればstart.shを実行すると自動的に仮想環境が構築され、ライブラリがインストールされます。
最終的な起動状態では以下のようなデータ構成になるはずです。
ここから先は
情報が役に立ったと思えば、僅かでも投げ銭していただけるとありがたいです。