banner
moeyy

moeyy

一条有远大理想的咸鱼。
github
mastodon
email

EH Forwarder Botを使用してTelegramで複数のWeChat/QQメッセージを同時に送受信する

説明:EH Forwarder Botは拡張可能なチャットトンネルフレームワークで、ユーザーが複数のIMプラットフォームからのメッセージを同時に送受信し、最終的にリモートでアカウントを管理できるようにします。現在、TelegramQQ、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+ffmpeglibmagiclibwebp

手動チュートリアルはDebianCentOSUbuntuに適用されます。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

上記はすべてモジュール名に対応しています。モジュールの参考→ポータル。例えば、ここでは著者がTelegramWeChatモジュールのみを使用しているため、概ね設定は次のようになります:

master_channel: blueset.telegram
slave_channels:
- blueset.wechat

その後、Ctrl+xyで保存して終了します。

これは 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_]+に従います。ログインしたいアカウントの数だけ追加してください。QQFacebook Messengerモジュールを使用する場合も、設定方法は同様です。

7、TG 設定ファイルの作成
設定ファイルを作成する前に、TelegramTokenUseridを取得する必要があります。取得方法は以下の通りです:

#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+xyで保存して終了します。上記のパラメータはそれぞれTokenUseridに対応しています。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のインストールコマンドも変更されています。

TGQQモジュールをインストールします:

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モジュールについては、必要があれば自分でインストール設定を試してみてください。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。