AnyMsgSync —— 一个多平台消息同步方案

YingXinche 发布于 2025-06-05 17:35:23

一个全新、稳定、开源的多平台消息同步方案,支持 QQ群、云湖群及Telegram群之间的多向消息同步
,基于 ErisPulse SDK 实现

为什么选择 AnyMsgSync?

  • 开源,透明安全
  • 实时同步
  • 不会有第三者查看到你们的同步消息
  • 支持 QQ、云湖、Telegram 平台之间互相转发

使用方法(快速上手)

1. 安装 ErisPulse SDK

pip install ErisPulse

2. 添加官方源

epsdk origin add https://sdkframe.anran.xyz

根据提示更新 SDK 源到最新版本。

3. 安装模块与适配器

epsdk install AnyMsgSync
epsdk install OneBotAdapter   # 可选:用于 QQ 消息同步
epsdk install YunhuAdapter    # 可选:用于云湖消息同步
epsdk install TelegramAdapter # 可选:用于 Telegram 消息同步

配置说明

只需在项目根目录创建 env.py 文件并进行配置即可:

from ErisPulse import sdk

# QQ 适配器配置 (OneBot)
sdk.env.set("OneBotAdapter", {
    "mode": "client",
    "server": {
        "host": "127.0.0.1",
        "port": 3001,
        "path": "/",
        "token": ""
    },
    "client": {
        "url": "ws://127.0.0.1:3001",
        "token": ""
    }
})

# 云湖适配器配置
sdk.env.set("YunhuAdapter", {
    "token": "你的云湖 Token",  # 在云湖后台获取
    "server": {
        "host": "127.0.0.1",     # Webhook 监听地址
        "port": 5888,            # Webhook 监听端口
        "path": "/webhook"       # Webhook 路径
    }
})

# Telegram 配置
sdk.env.set("TelegramAdapter", {
    "token": "你的 Telegram Bot Token",  # 从 @BotFather 获取
    "mode": "polling",  # 可选 webhook 或 polling

    # 【仅当使用 webhook 模式时需要配置】本地接收 Telegram 请求的服务地址
    "server": {
        "host": "127.0.0.1",      # 通常为本地监听地址(内网)
        "port": 8443,             # 本地服务监听端口
        "path": "/telegram/webhook"  # 路径需与 webhook.path 一致
    },

    # 【仅当使用 webhook 模式时需要配置】对外注册用的 Webhook 地址(公网可访问)
    "webhook": {
        "host": "tme.wsu2059.workers.dev",  # 填写你的反向代理域名或公网 IP
        "port": 443,                        # 建议使用 HTTPS 端口(如 443)
        "path": "/telegram/webhook"         # 对外暴露的路径,需与 server.path 一致
    },

    # 如需通过代理访问 Telegram API(国内用户推荐)
    "proxy": {
        "type": "socks5",                   # 支持 socks5/http 等类型
        "host": "127.0.0.1",                # 代理服务器地址
        "port": 7898                        # 代理端口号
    }
})

# 配置跨平台群组映射关系
sdk.env.set("AnyMsgSync", {
    "qq": {
        "QQ群ID1": [
            {"type": "yunhu", "group_id": "Yunhu群ID1", "format": "html"},
            {"type": "telegram", "group_id": -1001234567890, "format": "markdown"}
        ]
    },
    "yunhu": {
        "Yunhu群ID1": [
            {"type": "qq", "group_id": "QQ群ID1", "format": "text"},
            {"type": "telegram", "group_id": -1001234567890, "format": "markdown"}
        ]
    },
    "telegram": {
        "-1001234567890": [
            {"type": "qq", "group_id": "QQ群ID1", "format": "text"},
            {"type": "yunhu", "group_id": "Yunhu群ID1", "format": "html"}
        ]
    }
})

提示:

  • 若你只希望同步部分平台,只需安装和配置对应的适配器即可。
  • 推荐搭配 NapCat 使用 QQ 协议,以获得更稳定的连接体验。

启动服务

创建 main.py 文件,并写入以下内容:

from ErisPulse import sdk
import asyncio

async def main():
    sdk.init()
    try:
        await sdk.adapter.startup()
        if hasattr(sdk, "AnyMsgSync"):
            await sdk.AnyMsgSync.start()
        await asyncio.Event().wait()

    except KeyboardInterrupt:
        print("Shutting down...")
    finally:
        await sdk.adapter.shutdown()


if __name__ == "__main__":
    asyncio.run(main())

运行主程序:

python main.py

启动后,请确保你的服务器能够被外部访问(尤其当使用 Telegram webhook 模式时),并正确使用反向代理的方式为tg-webhook配置 SSL 证书。


加入我们

欢迎访问我们的项目主页并为我们点个 Star ⭐,让更多人知道这个项目!

GitHub 地址:AnyMsgSync

感谢你的关注与支持!如有问题或建议,欢迎提交 Issue 或 Pull Request。

10
6
12
分享
0 回复
暂无评论
关注:549
文章:81
IT
加作者好友
YingXinche
推荐群聊
机场情报分享(原灵车漂移爱好者
蓝点网
施工🚧
Satori Protocol
btcusd
关注:549
文章:81
IT
加作者好友
YingXinche
推荐群聊
机场情报分享(原灵车漂移爱好者
蓝点网
施工🚧
Satori Protocol
btcusd
京ICP备20012521号-7 增值电信业务经营许可证:京B2-20210468
Copyright © 2025 北京九万智达科技有限公司