「Telegram」- 沟通工具 | Telegram Messenger

官网:https://telegram.org/
文档:https://core.telegram.org/api

Telegram is a messaging app with a focus on speed and security, it’s super-fast, simple and free. You can use Telegram on all your devices at the same time — your messages sync seamlessly across any number of your phones, tablets or computers. Telegram is one of the top 5 most downloaded apps in the world with over 1 billion active users. 简而言之,Telegram 是个沟通应用,快速、安全、简单、免费。

组成

下载文件的保存路径

Settings / Advanced / Downloads / …

性质

提供字体配置:Settings / Chat Settings / Font Family

通过 Ctrl + Enter 发送消息:Settings / Chat Settings / Messages / Send with Ctrl+Enter

提供左右交错的聊天界面:Settings / Chat Settings / Chat Wallpaper / Adaptive layout for wide screens

使用系统窗口标题:Settings/ Advanced / Window title bar / Use Qt window frame

构建

https://telegram.org/apps

https://flathub.org/apps/org.telegram.desktop
flatpak install flathub org.telegram.desktop
flatpak run org.telegram.desktop

应用

下载 Telegram 上的所有视频

DeepSeek / 帮我写一段代码,该代码能够下载 Telegram 上的所有视频

安装 Telethon 库:pip install telethon

获取 API ID 和 API Hash 信息:登录 my.telegram.org 站点,创建一个新的应用程序,获取 API ID 和 API Hash 参数。

编写代码:

from telethon import TelegramClient, events
from telethon.tl.types import InputMessagesFilterVideo
import os

# 替换为你的 API ID 和 API Hash
api_id = 'YOUR_API_ID'
api_hash = 'YOUR_API_HASH'

# 替换为你的电话号码
phone_number = 'YOUR_PHONE_NUMBER'

# 创建一个目录来保存下载的视频
if not os.path.exists('downloaded_videos'):
    os.makedirs('downloaded_videos')

# 创建 Telegram 客户端
client = TelegramClient('session_name', api_id, api_hash)

async def download_videos():
    # 连接到 Telegram
    await client.start(phone_number)

    # 获取目标聊天(可以是群组、频道或私聊)
    target_chat = 'target_chat_username_or_id'  # 替换为目标聊天的用户名或ID

    # 获取聊天实体
    entity = await client.get_entity(target_chat)

    # 获取所有视频消息
    videos = await client.get_messages(entity, filter=InputMessagesFilterVideo)

    # 下载视频
    for video in videos:
        if video.video:
            print(f"Downloading video: {video.id}")
            await video.download_media(file=f"downloaded_videos/{video.id}.mp4")

    print("All videos downloaded.")

# 运行下载函数
with client:
    client.loop.run_until_complete(download_videos())

代码说明:

  • API ID 和 API Hash: 你需要从 my.telegram.org 获取这些信息。
  • phone_number: 你的 Telegram 电话号码。
  • target_chat: 你要下载视频的聊天(可以是群组、频道或私聊)的用户名或ID。
  • InputMessagesFilterVideo: 用于过滤出视频消息。
  • download_media: 下载视频并保存到本地。

注意事项:

  • 你需要确保你有权限访问目标聊天的内容。
  • 如果目标聊天是私密的,你需要先加入该聊天。
  • 下载大量视频可能会占用大量存储空间,请确保你有足够的磁盘空间。

运行代码:

  • 将代码保存为 download_telegram_videos.py,然后在终端中运行:python download_telegram_videos.py
  • 这将下载指定聊天中的所有视频并保存到 downloaded_videos 目录中。