如何获取自动转发消息至指定ID的开源Python Telegram Chat Bot代码
Telegram 自动转发消息开源机器人实现
前置准备
- 从Telegram官方的@BotFather处创建机器人,获取对应的API Token
- 确认你要转发到的目标账号/群组/频道的数字ID(即你提到的my-id)
- 安装运行依赖:
pip install python-telegram-bot==20.7
完整可运行代码
from telegram import Update from telegram.ext import ApplicationBuilder, ContextTypes, MessageHandler, filters # 配置项 - 替换为你自己的参数 BOT_TOKEN = "替换为@BotFather发放的机器人Token" FORWARD_TARGET_ID = 123456789 # 替换为你的my-id,数字格式不要加引号 async def auto_forward(update: Update, context: ContextTypes.DEFAULT_TYPE): # 跳过机器人自身发送的消息,防止转发死循环 if update.effective_user.is_bot: return # 原样转发所有类型消息(文本、图片、语音、视频、文件、贴纸等)到目标ID await update.effective_message.forward(chat_id=FORWARD_TARGET_ID) if __name__ == "__main__": app = ApplicationBuilder().token(BOT_TOKEN).build() # 监听所有非命令类的消息 app.add_handler(MessageHandler(filters.ALL & ~filters.COMMAND, auto_forward)) print("转发机器人已启动") app.run_polling()
使用注意事项
- 如果转发目标是私有群组/频道,需要先把机器人拉入对应会话,且授予机器人发送消息权限
- 若不清楚自身数字ID,可给@userinfobot发送任意消息获取
- 代码基于开源的
python-telegram-botv20版本开发,所有逻辑透明无闭源依赖,可根据自身需求二次开发 - 原生
forward方法会保留消息原发送者信息、消息格式与附件,不需要额外做消息类型适配
内容的提问来源于stack exchange,提问作者gosdra
相关产品推荐
相关产品推荐

