这是一个Python应用程序,可以监听指定的Telegram频道,使用Azure OpenAI服务翻译消息内容,然后将翻译后的内容转发到另一个频道。
- 使用Telegram API直接连接(无需使用机器人)
- 启动时可查看并设置要监控的频道
- 监听多个指定Telegram频道的消息
- 使用Azure OpenAI服务翻译消息内容
- 将原文和翻译后的内容转发到指定频道
- 支持文本消息的处理
- Python 3.8+
- Telegram API ID和API Hash(从https://my.telegram.org获取)
- Azure OpenAI API密钥和端点
- 克隆仓库:
git clone https://github.com/yourusername/tg_translate.git
cd tg_translate- 安装依赖:
pip install -r requirements.txt- 配置
config.json文件(第一次运行时会自动创建):
{
"telegram": {
"api_id": "你的API_ID",
"api_hash": "你的API_HASH",
"session_name": "tg_translate_session",
"source_channels": [],
"target_channel": ""
},
"azure_openai": {
"api_key": "你的AZURE_OPENAI_API_KEY",
"endpoint": "https://your-resource-name.openai.azure.com/",
"api_version": "2023-05-15",
"deployment_name": "你的模型部署名称"
},
"settings": {
"max_concurrent_translations": 3,
"queue_processing_delay": 0.5
}
}- 在https://my.telegram.org获取Telegram API ID和API Hash
- 获取Azure OpenAI API密钥和端点
- 首次运行程序时,需要进行Telegram登录验证:
python bot.py- 登录后,程序会显示你的所有频道列表
- 根据提示选择要监控的源频道和目标频道
- 设置完成后,程序将自动开始监听消息并进行翻译转发
程序内置了消息队列和并发控制机制,可以通过config.json中的settings部分进行配置:
max_concurrent_translations: 最大并发翻译数量,控制同时发送到Azure OpenAI的请求数queue_processing_delay: 队列处理延迟,单位为秒,控制处理消息的间隔时间
这些设置可以帮助你:
- 避免超出API速率限制
- 合理分配系统资源
- 确保消息按顺序处理
- 访问https://my.telegram.org并登录
- 进入"API development tools"
- 创建一个新应用(如果没有)
- 获取API ID和API Hash
- 将这些凭据填入config.json文件
- 首次登录时,Telegram可能会发送验证码到你的Telegram账号
- 确保你的Azure OpenAI部署能够处理翻译需求
- 对于大量消息,请注意API使用限制
- 非文本消息(如图片、视频等)目前不会被处理
MIT