説明:EH Forwarder Bot
は拡張可能なチャットトンネルフレームワークで、ユーザーが複数のIM
プラットフォームからのメッセージを同時に送受信し、最終的にリモートでアカウントを管理できるようにします。現在、Telegram
でQQ
、WeChat、Facebook Messenger
などのメッセージを送受信することが可能で、同時にN
個の WeChat、N
個のQQ
などを送受信することもできます。ここでは、Telegram
で WeChat/QQ
メッセージを手動でインストールする方法とDocker
インストールについて説明します。
WeChat の送受信#
プロジェクトアドレス:https://github.com/blueset/ehForwarderBot
使用するモジュールのアドレス:
#Telegramモジュール
https://github.com/blueset/efb-telegram-master
#WeChatモジュール
https://github.com/blueset/efb-wechat-slave
その他のモジュールのアドレス→ポータル、Facebook Messenger
などのモジュールも含まれており、興味がある方はご覧ください。
環境要件:Python 3.6+
、EH Forwarder Bot 2.0+
、ffmpeg
、libmagic
、libwebp
手動チュートリアルはDebian
、CentOS
、Ubuntu
に適用されます。Ubuntu
を使用する場合は、18.04+
バージョンを使用することをお勧めします。
1、依存関係のインストール
#CentOSシステム
yum install file-devel libwebp-tools git screen -y
#Debian/Ubuntuシステム
apt install libwebp-dev libmagic-dev git screen -y
2、Python3.6 のインストール
#CentOSシステム
wget https://www.moeyy.cn/usr/shell/Python3/CentOS_Python3.6.sh && sh CentOS_Python3.6.sh
#Debianシステム
wget https://www.moeyy.cn/usr/shell/Python3/Debian_Python3.6.sh && sh Debian_Python3.6.sh
#Ubuntuシステム
apt update
apt install python3-pip python3-setuptools python3-dev -y
3、ffmpeg のインストール
#ffmpegバイナリのダウンロード
wget https://www.moeyy.cn/usr/down/ffmpeg/ffmpeg-git-$(getconf LONG_BIT)bit-static.tar.xz
#ファイルを解凍
tar xvf ffmpeg-git-*-static.tar.xz
#ffmpeg実行ファイルを移動
mv ffmpeg-git-*/ffmpeg ffmpeg-git-*/ffprobe /usr/bin/
#ファイルを削除
rm -rf ffmpeg-git-*
4、フレームワークのインストール
#安定版のインストール
pip3 install ehforwarderbot
#開発版のインストール、開発版をインストールすることをお勧めします。バグ修正が早く、新機能もあります。
pip3 install git+https://github.com/blueset/ehforwarderbot.git
5、TG と WeChat モジュールのインストール
pip3 install efb-telegram-master efb-wechat-slave
6、モジュールの有効化
まず、設定ファイルフォルダと設定ファイルconfig.yaml
を新しく作成します。コマンドを使用:
#defaultは設定ファイルのデフォルトフォルダで、他の名前を付けても構いません。わからない場合はデフォルトのままで。
mkdir -p ~/.ehforwarderbot/profiles/default
nano ~/.ehforwarderbot/profiles/default/config.yaml
参考コードは以下の通りです:
#実際の状況に応じて修正してください
master_channel: foo.demo_master
slave_channels:
- foo.demo_slave
- bar.dummy
middlewares:
- foo.null
上記はすべてモジュール名に対応しています。モジュールの参考→ポータル。例えば、ここでは著者がTelegram
とWeChat
モジュールのみを使用しているため、概ね設定は次のようになります:
master_channel: blueset.telegram
slave_channels:
- blueset.wechat
その後、Ctrl+x
、y
で保存して終了します。
これは 1 つの WeChat アカウントにログインするだけです。複数の WeChat アカウントに同時にログインする場合は、設定ファイルを次のように変更する必要があります:
#例えば、3つのWeChatアカウントに同時にログインして送受信したい場合
master_channel: blueset.telegram
slave_channels:
- blueset.wechat
- blueset.wechat#moe123
- blueset.wechat#rats321
後ろに#
を使ってID
番号を指定するだけです。このID
番号は文字、数字、アンダースコアのみを含むことができ、正規表現[a-zA-Z0-9_]+
に従います。ログインしたいアカウントの数だけ追加してください。QQ
、Facebook Messenger
モジュールを使用する場合も、設定方法は同様です。
7、TG 設定ファイルの作成
設定ファイルを作成する前に、Telegram
のToken
とUserid
を取得する必要があります。取得方法は以下の通りです:
#TelegramのToken取得
1、Telegramで@BotFatherをフォローします。
2、対話ボックスで順に入力:/start=>/newbot、その後、ボットに名前を付けるように求められます(例:MoeratsBot)。名前を付けるとTokenが与えられます。
#TelegramグループUserid取得
1、まずボットとチャットし、適当にメッセージを送信します。
2、ブラウザにhttps://api.telegram.org/botxx:xx/getUpdates(ここでxx:xxはToken)を入力し、chatの後のidがあなたのuseridです。
次に、新しいTelegram
モジュールの設定ファイルフォルダと設定ファイルconfig.yaml
を作成します。コマンドを使用:
#同様にdefaultフォルダに作成します。上記でdefaultフォルダを変更した場合は、ここも変更してください。
mkdir ~/.ehforwarderbot/profiles/default/blueset.telegram
nano ~/.ehforwarderbot/profiles/default/blueset.telegram/config.yaml
以下のコードを入力します:
token: "12345:moerats"
admins:
- 765432
その後、Ctrl+x
、y
で保存して終了します。上記のパラメータはそれぞれToken
とUserid
に対応しています。Telegram
モジュールのさらなる使い方については→ポータルを参照してください。
8、起動
#このコマンドはデフォルトでdefaultフォルダから情報を読み取ります。以前にmoeyy.cnフォルダを作成した場合、コマンドはehforwarderbot -p moeratsになります。
ehforwarderbot
この時、WeChat の QR コードまたは QR コードリンクが表示されますので、ブラウザで開いてスキャンしてログインしてください。複数のアカウントに同時にログインする設定をした場合は、設定した数だけログインする必要があります。
その後、Ctrl+C
で実行を中断し、次のコマンドでバックグラウンドで実行します:
screen -dmS EHF ehforwarderbot
最後に、あなたの WeChat メッセージはボットを通じて送信され、ボットを通じて指定した友達にメッセージを送信することもできます。
QQ メッセージの送受信#
ヒント:ここでは簡単に触れただけですので、理解しておけば大丈夫です。以下のDocker方式でのインストールをお勧めします。
使用するモジュールのアドレス:
#Telegramモジュール
https://github.com/blueset/efb-telegram-master
#QQモジュール
https://github.com/milkice233/efb-qq-slave
方法が大まかに書かれているため、WeChat の送受信方法を理解する必要があります。ここでEH Forwarder Bot
は酷Q
クライアントのみをサポートしており、一般的にはDocker
を使用して Linux 上に酷Q
をインストールします。方法については以前に説明したことがありますので、参考→ポータル。ただし、起動コマンドが変更されており、wine-coolq
のインストールコマンドも変更されています。
TG
とQQ
モジュールをインストールします:
pip3 install efb-telegram-master efb-qq-slave
wine-coolq
をインストールします:
mkdir coolq #CoolQプログラムファイルを含む
docker run -ti --rm --name cqhttp-test --net="host" \
-v $(pwd)/coolq:/home/user/coolq `#coolqフォルダをマウント` \
-p 9000:9000 `#ウェブnoVNCポート` \
-p 5700:5700 `#酷Qが提供するAPIインターフェースのポート` \
-e VNC_PASSWD=MAX8char `#VNCパスワードを変更してください!!!!` \
-e COOLQ_PORT=5700 `#酷Qが提供するAPIインターフェースのポート` \
-e COOLQ_ACCOUNT=123456 `#ここにログインするQQ番号を入力します。オプションですが、入力をお勧めします` \
-e CQHTTP_POST_URL=http://127.0.0.1:8000 `#efb-qq-slaveがメッセージを受信するためのポート/アドレス` \
-e CQHTTP_SERVE_DATA_FILES=yes `#HTTP経由で酷Qデータファイルにアクセスを許可` \
-e CQHTTP_ACCESS_TOKEN=ac0f790e1fb74ebcaf45da77a6f9de47 `#Access Token` \
-e CQHTTP_POST_MESSAGE_FORMAT=array `# メッセージを配列で返す(必須)` \
richardchien/cqhttp:latest
その後、ip:9000
にアクセスしてnoVNC
で酷Q
にログインします。
新しいQQ
モジュールの設定ファイルを作成します:
mkdir ~/.ehforwarderbot/profiles/default/milkice.qq
nano ~/.ehforwarderbot/profiles/default/milkice.qq/config.yaml
入力するコードは以下のようになります:
Client: CoolQ #使用するQQクライアントを指定(ここではCoolQ)
CoolQ:
type: HTTP #efb-qq-slaveと酷Qの通信方法を指定 現在はHTTPのみサポート
access_token: ac0f790e1fb74ebcaf45da77a6f9de47
api_root: http://127.0.0.1:5700/ # 酷Q APIインターフェースのアドレス/ポート
host: 127.0.0.1 # efb-qq-slaveがメッセージを受信するためにリッスンするアドレス
port: 8000 # 同上
is_pro: false # 酷Q Proの場合はtrue、そうでない場合はfalse
air_option: # air_optionに含まれる設定オプションはis_proがfalseのときのみ有効
upload_to_smms: true # EFBメイン端(通常はTelegram)からの画像をsm.msサーバーにアップロードし、リンク形式でQQ端に送信
最後にehforwarderbot
コマンドを使用して起動します。
Docker インストール#
ここでは最新のDocker
イメージを 2 つ選択します。これは公式に推奨されているものです。プロジェクトアドレス:
#TelegramでQQメッセージを送受信
https://github.com/Earth-Online/efb-qq-coolq-docker
#TelegramでWeChatメッセージを送受信
https://www.github.com/Mikubill/efb-wechat-docker
1、Docker のインストール
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ sh
systemctl start docker
systemctl enable docker
2、Telegram で QQ メッセージを送受信
docker-compose
をインストールします:
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#インストールが成功したかどうかを確認
docker-compose --version
#以下の情報が返されればインストール成功
docker-compose version 1.23.2, build 1110ad01
Docker
ソースコードを取得します:
git clone https://github.com/Earth-Online/efb-qq-coolq-docker.git
cd efb-qq-coolq-docker
#config.yaml設定ファイルを編集
nano ehforward_config/profiles/default/blueset.telegram/config.yaml
以下のように変更します:
#tokenとuseridパラメータの取得方法は上の手動インストールチュートリアルを参照してください
token: "あなたのTGボットToken"
admins:
- あなたのUserid
次に、docker-compose.yml
ファイルを編集します:
nano docker-compose.yml
以下のように変更します:
- VNC_PASSWD=あなたのパスワード
- COOLQ_ACCOUNT=あなたのqqアカウント
バックグラウンドで起動します:
#初回起動時はイメージを構築するため、少し時間がかかります。
docker-compose up -d
その後、ip:9801
を開いてnovnc
にログインし、coolq
のログイン操作を完了します。このアドレスが開かない場合は、ファイアウォールを確認してください。
3、Telegram で WeChat メッセージを送受信
#ソースコードを取得
git clone https://github.com/mikubill/efb-wechat-docker.git
#イメージを構築
cd efb-wechat-docker && docker build -t mikubill/efbwechat .
#イメージを起動、TOKENはTGボットToken、ADMINはあなたのUserid、取得方法は上の手動インストールチュートリアルを参照してください。
docker run -d -t --name "efbwechat" -e TOKEN=xxxx -e ADMIN=xxxx mikubill/efbwechat
最後に WeChat のログイン確認コードを取得し、次のコマンドを使用:
docker logs -f efbwechat
スキャンしてログインしてください。
最後に、ここでは WeChat に追加の設定ファイルを提供していません。デフォルトの WeChat 設定をそのまま使用します。WeChat の機能を拡張したい場合は→ポータルを参照してください。ただし、モジュールが WeChat のウェブ版を使用しているため、サポートされる機能は限られています。たとえば、タイムラインがない、音声メッセージを送信 / 受信できない、位置情報などです。一般的には十分ですが、QQ
については、機能は酷Q
に制限されており、友達リクエスト処理、グループ参加リクエスト処理、音声の送受信などは一時的に処理できません。Facebook Messenger
モジュールについては、必要があれば自分でインストール設定を試してみてください。