Как научить бота скачивать файлы(текстовые), которые ему присылают пользователи? bot = telebot.TeleBot(helpbot.token); @bot.message_handler(content_types=['document']); somefile = bot.get_file(message.document.file.id); file = requests.get('https://api.telegram.org/file/bot{0}/{1}'.format(API_TOKEN, somefile.file_path)); В третьей строчке выдает ошибку unvalid syntax. Не могу понять в чем проблема.
Ошибка "unvalid syntax" возникает из-за того, что вы используете неверный синтаксис для объявления и присваивания переменной file. Попробуйте исправить код следующим образом:
import requests import telebot bot = telebot.TeleBot(helpbot.token) @bot.message_handler(content_types=['document']) def handle_document(message): somefile = bot.get_file(message.document.file_id) file_path = somefile.file_path file_url = 'https://api.telegram.org/file/bot{0}/{1}'.format(API_TOKEN, file_path) r = requests.get(file_url) with open('downloaded_file.txt', 'wb') as f: f.write(r.content) bot.polling()
Этот код будет скачивать текстовый файл, который пользователь отправил боту, и сохранять его в файле 'downloaded_file.txt' в том же каталоге, где находится ваш скрипт. Не забудьте заменить API_TOKEN на актуальный токен вашего бота.
Ошибка "unvalid syntax" возникает из-за того, что вы используете неверный синтаксис для объявления и присваивания переменной file.
import requestsПопробуйте исправить код следующим образом:
import telebot
bot = telebot.TeleBot(helpbot.token)
@bot.message_handler(content_types=['document'])
def handle_document(message):
somefile = bot.get_file(message.document.file_id)
file_path = somefile.file_path
file_url = 'https://api.telegram.org/file/bot{0}/{1}'.format(API_TOKEN, file_path)
r = requests.get(file_url)
with open('downloaded_file.txt', 'wb') as f:
f.write(r.content)
bot.polling()
Этот код будет скачивать текстовый файл, который пользователь отправил боту, и сохранять его в файле 'downloaded_file.txt' в том же каталоге, где находится ваш скрипт. Не забудьте заменить API_TOKEN на актуальный токен вашего бота.