You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Telegram机器人转发带说明的照片/视频至指定聊天

Telegram机器人带说明的照片/视频转发解决方案

原代码存在的问题

  • 仅处理photo类型消息,未覆盖video类型的转发需求
  • 转发时未携带用户上传时的说明文字
  • 手动下载再上传的方式冗余,易引发文件格式或性能问题

修改后的完整代码

import telebot

bot = telebot.TeleBot('你的机器人Token')
TARGET_CHAT_ID = 目标聊天ID  # 替换为你的指定聊天窗口ID

# 处理带说明的照片消息
@bot.message_handler(content_types=['photo'])
def handle_photo(message):
    # 获取最高分辨率的照片文件ID
    photo_file_id = message.photo[-1].file_id
    # 获取用户附带的说明文字,无说明则为空字符串
    caption = message.caption or ""
    # 转发照片至目标聊天并携带说明
    bot.send_photo(
        chat_id=TARGET_CHAT_ID,
        photo=photo_file_id,
        caption=caption
    )

# 处理带说明的视频消息
@bot.message_handler(content_types=['video'])
def handle_video(message):
    # 获取视频文件ID
    video_file_id = message.video.file_id
    # 获取用户附带的说明文字,无说明则为空字符串
    caption = message.caption or ""
    # 转发视频至目标聊天并携带说明
    bot.send_video(
        chat_id=TARGET_CHAT_ID,
        video=video_file_id,
        caption=caption
    )

bot.polling(none_stop=True)

关键改动说明

  • 新增视频处理逻辑:添加针对video类型的消息处理器,覆盖视频转发需求
  • 保留说明文字:通过message.caption提取用户上传时的附带文字,转发时传入caption参数,兼容无说明的情况
  • 优化转发方式:直接使用Telegram提供的文件ID发送内容,无需手动下载再上传,既节省服务器资源又避免文件格式损坏问题
  • 拆分处理函数:将照片和视频的处理逻辑分开,代码结构更清晰易维护

内容的提问来源于stack exchange,提问作者Kotik_Myrzic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 19:45:58