- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Telethon 抓取在 Telegram channel 中收到的新图像。我的代码工作正常(它使用预设的命名约定抓取消息和下载文件)但我似乎无法为下载的图像设置我自己的文件名。当我添加 file_name 参数时,出现错误。
docs建议可以为下载的媒体设置名称,但出现以下错误。
我做错了什么?
代码:
@client.on(events.NewMessage(chats=chat_id))
async def newMessageListener(event):
new_message = event.message.message
print(new_message)
print()
file_name = "new_image.jpg"
if event.message.photo:
await event.download_media(new_message, file_name)
print("New image received")
with client:
client.run_until_disconnected()
回溯:
newMessageListener 上未处理的异常
Traceback (most recent call last):
File "C:\Users\AppData\Local\Programs\Python\Python37\lib\site-packages\telethon\client\updates.py", line 454, in _dispatch_update
await callback(event)
File "C:/Users/PycharmProjects/TamTelegram/ps_Scrapev1.py", line 27, in newMessageListener
await event.download_media(new_message, file_name)
File "C:\Users\AppData\Local\Programs\Python\Python37\lib\site-packages\telethon\tl\custom\message.py", line 837, in download_media
return await self._client.download_media(self, *args, **kwargs)
File "C:\Users\AppData\Local\Programs\Python\Python37\lib\site-packages\telethon\sync.py", line 34, in syncified
coro = method(*args, **kwargs)
TypeError: download_media() takes from 2 to 3 positional arguments but 4 were given
最佳答案
如 documentation 中所述,一个 NewMessage
事件可以被认为是一个普通的 Message
,所以可以在它上面调用 download_media
方法,TelegramClient.download_media
的简写message
参数已经设置为事件的消息。这意味着如果您调用 event.download_media
,唯一要传递的位置参数是保存数据的 file
。
您的代码应如下所示:
@client.on(events.NewMessage(chats=chat_id))
async def newMessageListener(event):
file_name = "new_image.jpg"
if event.photo:
# shorthand for client.download_media(event.message, file_name)
await event.download_media(file_name)
print("New image received")
with client:
client.run_until_disconnected()
关于python - 在 Telethon 中使用 Download_Media 时命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72768425/
我在Teleton上写了我的userbot,一切都很好,直到我把它上传到另一个主机(在德国),并点击结束旧主机(在赫尔辛基)的会话。每次我尝试在主机或本地机器上运行bot时,都会收到此错误。每次都会发
我重新激活了“旧”机器人并收到此错误: telethon\utils.py", line 138, in _raise_cast_fail raise TypeError('Ca
我正在尝试使用带有两步验证号码的 telethon 登录 Telegram 。我使用这段代码, client = TelegramClient(f'sessions/1', API_ID, API_H
好久没写剧本了我有一个电报 channel ,我不想从这个 channel 重新发送专辑,但只需在一条消息中发送给我 from telethon import TelegramClient, even
我想过滤 events.newMessage 以仅在消息来自私有(private)聊天时触发。但我不想将所有聊天 ID 都放在事件的聊天列表参数中 你有什么想法吗? @client.on(events
我想在后台运行一个函数。所以我在我的代码中使用线程。 但返回错误 ValueError: signal only works in main thread 并且不知道两件事: 什么是主线程 如何解决这
我开始使用Telethon将 python 应用程序与 telegram API 集成。我能够启动它并发送一些消息。 发送消息的函数获取一个实体作为第一个参数。到目前为止,我是从返回实体列表的 get
我正在使用 Telethon连接到 Telegram API,现在在开发之后我需要将项目 api 更改为主帐户。我想知道 telethon 将凭据存储在哪里,以便我可以删除它们并强制重新进行身份验证?
我想获取今天发送的聊天中的所有消息。 import sys,datetime from telethon import TelegramClient api_id = 1234567 api_hash
我正在使用 https://github.com/LonamiWebs/Telethon/向 TG 发送文件,发送 400mb 文件时大约需要 ~10 分钟,尽管我的网速是 100 兆位,发送时我表示
我有 client.get_messages(dialog.entity) 但它只返回没有“已读/未读标记”的消息...那么,如何才能只收到未读的新消息呢?有人知道吗? 😥 最佳答案 除了已接受的答
我对 Telegram API/TlDB 选项有点困惑。在电报文档中,说使用电报 API,您可以(以编程方式)执行用户作为应用程序可以执行的所有操作。 我使用了 Telethon (python) 库
我正在研究用于从 Telegram 下载媒体的 Telethon download_media 和 _download_document 方法。我的代码是这样的: from telethon impo
我在我的 Python 项目中使用 Telethon。我正在使用此代码从 Telegram 中的群组获取消息: full_msg_list = self.client.get_messages(GRO
我正在尝试构建一个需要使用多个 Telegram 帐户登录的 python 脚本。我不想为每个帐户运行单独的脚本。我正在使用 TELETHON。我知道有类似 create_new_connection
我如何在收到来自联系人的消息后立即将其转发到另一个聊天? 我创建这个例子只是为了测试路由,但它不起作用。 #!/usr/local/bin/python3 from telethon import T
我正在使用chat.megagroup==true它没有显示所有 channel (在m==1中),它还存在一些问题,例如有时显示 A 组和 B 组,有时显示 A 或 B,有时显示 C 组,不知道为什
我正在使用chat.megagroup==true它没有显示所有 channel (在m==1中),它还存在一些问题,例如有时显示 A 组和 B 组,有时显示 A 或 B,有时显示 C 组,不知道为什
如何使用TELETHON获取今天发布的消息 我使用下面的代码 date_of_post = datetime.datetime(2019, 12, 24) with TelegramClient(na
我在 python 中使用 Telethon 在 Telegram 的群组中自动回复。我想通过 Telethon 自动报告垃圾邮件或滥用帐户,我阅读了 Telethon 文档并用谷歌搜索,但找不到任何
我是一名优秀的程序员,十分优秀!