pip install ErisPulse
epsdk origin add https://sdkframe.anran.xyz
根据提示更新 SDK 源到最新版本。
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。