Rat's

使用CoolQ Telegram Bot X转发/合并QQ群和Telegram群之间的消息
说明:近些年Telegram聊天软件受到了许多人喜爱,甚至使用时间上超过了QQ,但是有着那些离不开QQ的人,两边经...
扫描右侧二维码阅读全文
26
2018/11

使用CoolQ Telegram Bot X转发/合并QQ群和Telegram群之间的消息

说明:近些年Telegram聊天软件受到了许多人喜爱,甚至使用时间上超过了QQ,但是有着那些离不开QQ的人,两边经常切换貌似有点不方便,这里就分享个整合系统CoolQ Telegram Bot X,可以在Telegram群收发QQ群消息!这样我们就可以在电报上收到QQ群消息以及发送。支持图片、发送表情等功能。

#通过该系统,我们可以实现:
TG群和QQ群相互转发,
TG群单向转发到QQ群,
QQ群单向转发到TG群,
TG A群单向转发到TG B群,
QQ A群单向转发到QQ B群。

简介

CoolQ Telegram Bot X是一个消息转发机器人。它能够实现QQ/Telegram群组之间的消息转发。仅需简单的配置,就能方便的定制属于自己的转发逻辑。想要连接QQ群和Telegram群组,或者合并多个群组的消息?一个CoolQ Telegram Bot X就能满足你。

截图

请输入图片描述

特性

#深度集成
CoolQ Telegram Bot X集成了QQ机器人和Telegram机器人。酷Q Message SDK保证了每一条QQ消息都能稳定和可靠的接收和发送。基于官方Telegram Bot API的Telegram C++ SDK ,强力驱动收发Telegram的多种消息。消息转发逻辑处理单元会根据转发配置,将QQ机器人或Telegram机器人接收到的消息转发到相应的群组。

两个消息处理SDK和消息转发逻辑处理单元均被打包进一个酷Q插件。启动酷Q,启用CoolQ Telegram Bot X插件,一切就是这么简单)

#多向转发
CoolQ Telegram Bot X支持多种转发类型。不管是QQ转发到Telegram,还是Telegram转发到QQ,都能正确的解析和转发消息。当然了, QQ转发到QQ以及Telegram转发到Telegram同样支持,帮助你管理和合并不同群组的消息。

在一些情况下,你可能需要单向消息转发,而不是双向转发。不用担心,CoolQ Telegram Bot X贴心的考虑到了这一点,轻松胜任单向消息转发。

#智能转换
你可能已经发现,QQ表情是一种特殊的文字。这难不倒CoolQ Telegram Bot X,在转发到Telegram群组时,它会自动将QQ表情转换为对应的emoji。在未来的计划中,我们将提供更多特殊消息内容的解析和智能转换。

安装

1、安装酷Q机器人
Windows系统请直接从酷Q官方网站下载软件:点击访问,然后安装酷Q
Linux系统查看教程:使用Docker安装Wine-CoolQ,并运行酷Q

#酷Q有两个版本
Air版可以免费使用,但只支持发送文字消息。
Pro版是收费软件,需要支付授权费用后才能进行使用。Pro版支持更多的功能。

#目前Air版足够使用。以后可能会调用Pro版提供的功能,实现更智能的消息解析和转发。

2、下载CTBX插件
首先下载最新版的CoolQ Telegram Bot X插件→下载地址,解压出来后,我们会获取到一个cpk格式插件和配置文件,分别放入酷Q根目录/app/酷Q根目录/app/top.jogle.ctbx/config/里,并重新命名配置文件config.json

这里以博主提供的Docker安装酷Q为例,酷Q根目录被映射到了外部的/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。

TelegramToken获取方法如下:

1、在Telegram关注@BotFather
2、再到对话框依次输入:/start=>/newbot,然后会要你给机器人命名(如:MoeratsBot),命名完成会给你一个Token。
3、为了顺利使用,还需要输入/mybots,然后依次选择Bot Settings=>Group Privacy=>Turn off。

TelegramID获取方法如下:

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

4、启动插件
然后我们通过http://IP:9000访问VNC界面,启动酷Q主程序。右键点击酷Q悬浮窗,选择应用→应用管理→启用CoolQ Telegram Bot X即可。
请输入图片描述
最后基本上算完成了,对于该系统还有一个Python版本,比本文的多了个语音转发功能,但转发规则只有TGQQ双向转发,如果有兴趣的可以去研究,Github地址:点击查看

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2018 年 11 月 26 日 10 : 39 AM

发表评论 取消回复

41 条评论

  1. Cat

    这个转发,好像转不了电报channel的消息,还有群组里面如果是bot发的信息也不能转发好难受,我就想用来转发另一个机器人的消息到qq

  2. dodo

    能转发个人会话的消息吗

  3. davis

    对了 这个转发 消息能过滤吗

    1. Rat's
      @davis

      不太清楚,应该不能

  4. 小豆

    请问怎么获取telegram频道ID

    1. Rat's
      @小豆

      好像频道链接为t.me/moerats的话,id就是moerats。

      1. 小豆
        @Rat's

        机器人需要进频道吗

        1. Rat's
          @小豆

          这个是TG群,貌似不是频道

  5. davis

    在VNC里 启用CTBX 总是显示初始化失败 请尝试重新启动bot

    1. Rat's
      @davis

      这个问题我记得是配置不对会出现这种加载啥失败的情况

      1. davis
        @Rat's

        我是在虚拟机上跑的 目前是不是网络代理问题呢 需要可以上google?

        1. Rat's
          @davis

          需要能上TG,不然怎么转发消息

          1. davis
            @Rat's

            为什么docker stop 再 docke start vnc 就是 Failed to connect to server

            1. Rat's
              @davis

              容器名称是wine-coolq还是vnc?

              1. davis
                @Rat's

                docker stop wine-coolq docker start wine-coolq 我没有打全 总之必须是把容器rm掉 在跑一遍 docker run --restart 那个命令 才能正常访问

              2. davis
                @Rat's

                wine-coolq

          2. davis
            @Rat's

            目前在虚拟机上搞代理 我本机开的代理 尝试 无法代理到虚拟机

  6. gromit

    chat_id 不知道怎么拿。。。。

    1. Rat's
      @gromit

      获取方法在文中说了,你仔细看下先。

  7. lyj

    谢谢您的教程,不过方便测试下您的tg转发至qq是否可以正常运转吗,我这里qq可以到tg 但是tg不能到qq

    1. Rat's
      @lyj

      我测试的时候,互相转发是没问题的,现在就不知道了,我好久没玩了,你看下配置对不对

  8. 湮灭

    TG 群 机器人不允许访问消息怎么高=搞

  9. kevin

    tg的消息不能转发到QQ怎么解决

    1. gromit
      @kevin

      同tg群没法转qq

    2. Rat's
      @kevin

      这个就不清楚了,之前没遇到过,我测试的时候是可以自动转发的,看是不是你的转发配置什么的不对。

  10. 大佬

    [初始化失败,原因:"connect: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。"]

    大佬,报错!

    1. 羊王
      @大佬

      记得翻Q哦!给酷q 翻墙

    2. gromit
      @大佬

      我和你一样!不知道你有没有解决?

    3. Rat's
      @大佬

      这个不太清楚,没遇到过