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

基于aiogram实现Telegram转发GIF自动回复的Python机器人开发问询

解决aiogram处理转发GIF消息的问题

Telegram里的GIF文件在aiogram框架中对应的content_type是animation,并不是你想的gif——因为Telegram会把GIF归类为动画媒体类型。要同时满足「接收GIF」和「消息是转发而来」的要求,直接调整消息处理器的参数就行。

修改后的代码示例

from aiogram import Bot, Dispatcher, executor, types

@dp.message_handler(content_types=['animation'], is_forwarded=True, user_id=userlist)
async def check_forwarded_gif(message: types.Message):
    # 可选:严格验证是否为GIF格式(避免匹配到其他动画类型)
    if message.animation.mime_type == 'image/gif':
        await message.reply("你是否将此内容分享或转发给了其他人?\n\n请选择你的回复。", reply_markup=keyboard_inline2)

要点说明

  • content_types=['animation']:这是aiogram中匹配GIF的正确参数,Telegram的GIF消息都会被识别为animation类型
  • is_forwarded=True:保留这个条件确保只处理转发来的消息
  • 额外的mime_type判断:如果需要严格只处理GIF(排除其他动画格式),可以加上message.animation.mime_type == 'image/gif'的验证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 07:40:29