banner
moeyy

moeyy

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

使用EH Forwarder Bot實現Telegram同時收發多個微信/QQ消息

說明:EH Forwarder Bot是一個可擴展的聊天隧道框架,允許用戶一次發送和接收來自多個IM平台的消息,並最終遠程管理他們的帳戶,目前可以實現的Telegram收發QQ、微信、Facebook Messenger等消息,你也可以同時一起收發N個微信、NQQ等,這裡就說下Telegram收發微信 /QQ消息的手動安裝及Docker安裝。

收發微信#

項目地址:https://github.com/blueset/ehForwarderBot

所使用的模塊地址:

#Telegram模塊
https://github.com/blueset/efb-telegram-master
#微信模塊
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

#安裝開發版,建議安裝開發版,bug修復快些,功能也新
pip3 install git+https://github.com/blueset/ehforwarderbot.git

5、安裝 TG 和微信模塊

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保存退出。

這只是登錄一個微信號,如果你要同時登錄多個微信號,那麼配置文件就需要改為:

#比如我要同時登錄並收發3個微信號
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

這時候會給一個微信二維碼或者二維碼鏈接你,放到瀏覽器打開掃描登錄即可,如果你設置了同時登錄多個賬戶,那設置幾個就需要登錄幾個。

然後使用Ctrl+C斷開運行,再使用命令後台運行:

screen -dmS EHF ehforwarderbot

最後你的微信消息會通過機器人發送給你,你也可以通過機器人將消息發送給指定好友。

收發 QQ 消息#

提示:這裡隨便提了下,了解下就行了,建議使用下面Docker方式安裝。

所使用的模塊地址:

#Telegram模塊
https://github.com/blueset/efb-telegram-master
#QQ模塊
https://github.com/milkice233/efb-qq-slave

由於方法寫的很大概,所以需要你把收發微信的方法看懂,這裡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     `#mount coolq folder` \
     -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 安裝#

這裡選擇2個最新的Docker鏡像,也是官方推薦的,項目地址:

#Telegram收發QQ消息
https://github.com/Earth-Online/efb-qq-coolq-docker
#Telegram收發微信消息
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 收發微信消息

#拉取源碼
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

最後獲取微信登錄驗證碼,使用命令:

docker logs -f efbwechat 

掃描登錄即可。

最後這裡都沒有給微信添加額外的配置文件,直接使用默認的微信配置,如果想擴展微信功能的可以參考→傳送門,不過由於模塊使用的微信網頁版,所以支持的功能是有限的,比如:沒有朋友圈、不能發語音、位置等等,一般來說也夠用了,至於QQ的話,功能肯定受酷Q限制,暫時不能處理好友請求處理,加群請求處理,語音發送 / 接收等,對於Facebook Messenger模塊的話,有需求的可以自己試試安裝配置。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。