gpt4 book ai didi

python - 需要从 Python 上的 Telegram 下载语音消息

转载 作者:行者123 更新时间:2023-12-05 02:53:33 25 4
gpt4 key购买 nike

我开始开发一个与 Telegram Bot 相关的宠物项目。其中一个问题是如何从机器人下载语音消息?

任务:需要从 Telegram Bot 下载音频文件并保存在项目文件夹中。

获取更新 https://api.telegram.org/bot/获取更新:

{"duration":2,"mime_type":"audio/ogg","file_id":"<file_id>","file_unique_id":"<file_unique_id>","file_size":8858}}}]}


我检查了 pyTelegramBotAPI文档,但我没有找到关于如何下载文件的确切说明。

我根据文档创建了代码:

@bot.message_handler(content_types=['voice'])
def voice_processing(message):
file_info = bot.get_file(message.voice.file_id)
file = requests.get('https://api.telegram.org/file/bot{0}/{1}'.format(cfg.TOKEN, file_info.file_path))
print(type(file), file)
------------------------------------------------------------
Output: <class 'requests.models.Response'>, <Response [200]>


我还发现了一个示例,其中作者以 block 的形式下载了音频。具体怎么理解的我没看懂,不过用了一个类似的功能:

def read_chunks(chunk_size, bytes):
while True:
chunk = bytes[:chunk_size]
bytes = bytes[chunk_size:]

yield chunk

if not bytes:
break

最佳答案

在项目的github 中有一个example。为此:

@bot.message_handler(content_types=['voice'])
def voice_processing(message):
file_info = bot.get_file(message.voice.file_id)
downloaded_file = bot.download_file(file_info.file_path)
with open('new_file.ogg', 'wb') as new_file:
new_file.write(downloaded_file)

关于python - 需要从 Python 上的 Telegram 下载语音消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62185873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com