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

如何用Pyrogram上传Telegram动态?及替代方案咨询

上传Telegram动态的可行方案

用Pyrogram实现

Pyrogram 已支持上传动态功能,先确保安装最新版本:

pip install --upgrade pyrogram tgcrypto

示例代码(上传图片动态):

from pyrogram import Client
import asyncio

async def main():
    async with Client("my_account") as app:
        await app.send_story(
            media="path/to/your/image.jpg",
            caption="我的第一条Pyrogram动态"
        )

asyncio.run(main())

视频动态直接将media参数替换为视频路径即可,还可额外设置privacy_rules(隐私权限)、expire_period(动态过期时间)等参数。

用Telethon实现

Telethon 同样支持上传动态,先升级到最新版本:

pip install --upgrade telethon

示例代码(上传图片动态):

from telethon import TelegramClient
from telethon.tl.functions.stories import SendStoryRequest
from telethon.tl.types import InputMediaUploadedPhoto
import asyncio

# 替换为你在Telegram开发者平台申请的信息
API_ID = 123456
API_HASH = "your_api_hash_here"

async def main():
    async with TelegramClient("my_account", API_ID, API_HASH) as client:
        media = await client.upload_file("path/to/your/image.jpg")
        await client(SendStoryRequest(
            media=InputMediaUploadedPhoto(media),
            caption="用Telethon发布的动态"
        ))

asyncio.run(main())

上传视频动态时,需改用InputMediaUploadedDocument类型,并指定视频对应的MIME类型。

自行实现(基于Telegram原生API)

如果不想依赖第三方库,可直接调用Telegram原生API的stories.sendStory方法,核心步骤如下:

  • 完成账号授权,获取有效会话(session)
  • 将媒体文件分片上传至Telegram服务器,得到对应的InputMedia对象
  • 构造SendStoryRequest请求并发送

这种方式需要处理文件上传、参数序列化等底层细节,开发成本较高,不如直接使用成熟第三方库高效。

注意事项

  • 先确认你的账号能在Telegram官方APP正常发布动态(部分账号可能需要手动发布一条动态激活功能)
  • API ID和API Hash需在Telegram开发者平台申请
  • 媒体文件需符合Telegram限制:图片大小不超过5MB,视频大小不超过1GB、时长不超过1分钟等

内容的提问来源于stack exchange,提问作者AbdEl-Raoof Nabil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:06:05