最近做网站的推广,无意中在一个网站中看到一个支持TG群、QQ群消息互转的帖子( http://www.hoobg.com/2802/ ),正好我的网站又在这两个媒体平台有推广业务,所以我就想试试这个插件,真的是完全按照那个教程来的,到最后总是遇到一个问题:QQ群可以向TG群转发,但是TG群不能向QQ群转发。
那我是怎么解决的呢?昨天试了一天,都没有成功,在最后要睡觉的时候找到了写这个插件的人,于是给他发了一封邮件,今天联系了他,找到了原因。
参考了他给的说明,我将机器人重新添加进来后,发现可以在日志中有TG转发过来的消息,昨天是没有的,这个我很确定。但是不会转发到QQ群中,那个开发的人说换个QQ,我就换了个QQ试试,于是所有的功能都正常了。
这个过程中需要的技术和常用代码记录
在Windows中搭建倒是不需要很多的代码,但是在服务器中搭建倒是需要很多代码,本人记忆力差,在这里记录以方便日后查阅。
使用Docker安装Wine-CoolQ,并运行酷Q Air/Pro(QQ机器人)(原文链接: https://www.moerats.com/archives/802/ )
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、安装wine-coolq
docker run --restart=always --name wine-coolq -d \
-p 9000:9000 \
-v /coolq:/home/user/coolq \
-e VNC_PASSWD=moerats \
-e COOLQ_ACCOUNT=1234567 \
coolq/wine-coolq
参数说明:
-p 将内部的Web运行端口9000映射到外部的9000,可自行修改端口。
-v 将内部酷Q和其数据文件夹/home/user/coolq映射到外部的/coolq文件夹,可自行修改路径。
-e 为环境变量,大致有3个变量,其中第3种未使用,大致如下:
1、VNC_PASSWD为VNC密码。注意该密码不能超过8个字符,默认MAX8char。
2、COOLQ_ACCOUNT为设置要登录酷Q的帐号。在第一次手动登录后,你可以勾选“快速登录”功能以启用自动登录,此后,docker容器启动或酷Q异常退出时,便会自动为你登录该帐号。
3、COOLQ_URL为下载酷Q的地址,默认为http://dlsec.cqp.me/cqa-tuling,即酷Q Air图灵版。请确保下载后的文件能解压出酷Q Air/CQA.exe或酷Q Pro/CQP.exe。
安装好了后,访问http://IP:9000
,可以打开一个VNC
页面,输入密码,文中默认moerats
,即可看到一个酷Q Air
已经启动。
对于CentOS
系统,还需要开启9000
端口,开启如下:
#CentOS 6
iptables -I INPUT -p tcp --dport 9000 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --reload
相关命令:
#启动镜像
docker start wine-coolq
#重启镜像
docker restart wine-coolq
#下载CTBX插件,如果插件有更新记得替换下载链接
wget https://github.com/JogleLew/coolq-telegram-bot-x/releases/download/10.2.1/top.jogle.ctbx.zip
#解压插件
unzip top.jogle.ctbx.zip
#新建配置文件存放文件夹
mkdir -p /coolq/app/top.jogle.ctbx/config/
#移动插件
mv top.jogle.ctbx.cpk /coolq/app/
#移动配置文件并重新命名
mv config/config_example.json /coolq/app/top.jogle.ctbx/config/config.json
#清理垃圾
rm -rf top.jogle.ctbx.zip config
#给文件夹权限
chmod 777 /coolq/app/top.jogle.ctbx
解压文件的时候,如果出现-bash: unzip: command not found
,需要运行命令:
#CentOS系统
yum -y install unzip
#Debian/Ubuntu系统
apt install unzip -y
3、配置插件
提示:这里配置文件有个地方的格式有点小错误,在第3个和第4个规则之间缺个逗号“,”,记得在后面编辑的时候补齐,不然运行会报错。
接下来我们还需要编辑config.json
配置文件,需要用到的参数有:
Bot_Token(Telegram机器人的Token),Bot_QQ(酷Q登录的机器人QQ),QQ群号码和Telegram群ID。
Telegram
的Token
获取方法如下:
1、在Telegram关注@BotFather
2、再到对话框依次输入:/start=>/newbot,然后会要你给机器人命名(如:MoeratsBot),命名完成会给你一个Token。
3、为了顺利使用,还需要输入/mybots,然后依次选择Bot Settings=>Group Privacy=>Turn off。
Telegram
群ID
获取方法如下:
1、新建一个Telegram群,然后把你的机器人拉进群
2、发送一条消息并@下机器人,比如:/my_id @MoeratsBot
3、在浏览器输入https://api.telegram.org/botxx:xx/getUpdates(其中xx:xx为Token),然后会返回类似信息:"chat":{"id":-2265968,"title":"MOERATS"。此时的-2265968就为群ID。
这时候参数都有了,然后开始编辑配置文件:
#不习惯用命令编辑的,可以直接通过FTP登录VPS,再找到文件进行编辑
nano /coolq/app/top.jogle.ctbx/config/config.json
依次填入相应的参数信息,参考图如下:
部分参数解释:
#From_Group和To_Group
转发的来源群组和目标群组,这里对于Tg群需要输入chat_id,QQ群需要输入群号。
#Type
转发方式,目前支持所有的转发方式,即:T<->Q、T->Q、Q->T、Q->Q、T->T,其中默认左边的为From_Group右边的是To_Group,也就是说Q<->T和T<->Q是不等价的,如果是T<->Q的话TG群的id应该写在From_Group,而如果是Q<->T的话QQ群号应该写在From_Group。
完全重复的转发规则后者会取代前者,同一个群组可以被应用于不同的转发规则上,说简单点就是一张有向图。
举例:
T<->Q:QQ群1和TG群2相互转发
Q<->T:TG群3和QQ群4相互转发
T->Q:TG群5单向转发到QQ群6
Q->T:QQ群7单向转发到TG群8
Q->Q:QQ群9单向转发到QQ群10
T->T:TG群11单向转发到TG群12
编辑好了后,使用Ctrl x
,y
保存退出。
4、启动插件
然后我们通过http://IP:9000
访问VNC
界面,启动酷Q
主程序。右键点击酷Q
悬浮窗,选择应用→应用管理→启用CoolQ Telegram Bot X
即可。