說明:EH Forwarder Bot
是一個可擴展的聊天隧道框架,允許用戶一次發送和接收來自多個IM
平台的消息,並最終遠程管理他們的帳戶,目前可以實現的Telegram
收發QQ
、微信、Facebook Messenger
等消息,你也可以同時一起收發N
個微信、N
個QQ
等,這裡就說下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+
、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
#安裝開發版,建議安裝開發版,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
以上對應的均為模塊名稱,模塊參考→傳送門,比如這裡博主只用了Telegram
和WeChat
模塊,所以大致配置為:
master_channel: blueset.telegram
slave_channels:
- blueset.wechat
然後使用Ctrl+x
、y
保存退出。
這只是登錄一個微信號,如果你要同時登錄多個微信號,那麼配置文件就需要改為:
#比如我要同時登錄並收發3個微信號
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
這時候會給一個微信二維碼或者二維碼鏈接你,放到瀏覽器打開掃描登錄即可,如果你設置了同時登錄多個賬戶,那設置幾個就需要登錄幾個。
然後使用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
的命令。
安裝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 `#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
模塊的話,有需求的可以自己試試安裝配置。