Пример:
Админ бота (owner) отправляет боту файл с подписью (назову это текстом). Этот текст содержит только директорию куда нужно скачать файл. Так вот, как это реализовать?
Недоделанные и нерабочие костыли:
import telebot
import time
token = 'типо токена'
owner = 'типо ид'
bot = telebot.TeleBot(token)
@bot.message_handler(commands=['upload'])
def send_text(message):
try:
save_dir = message.text.replace('/upload ', '')
file_info = bot.get_file(message.file.file_id)
downloaded_file = bot.download_file(file_info.file_path)
src = message.file.file_name
with open(save_dir + "/" + src, 'wb') as new_file:
new_file.write(downloaded_file)
bot.send_message(message.chat.id, "[*] File added:\nFile name - {}Directory - \n".format(str(src), str(save_dir)))
except Exception as ex:
bot.send_message(message.chat.id, "[!] error - {}".format(str(ex)))
while True:
try:
print("[*] bot starting..")
bot.send_message(owner, "[*] bot starting..")
print("[*] bot started!")
bot.send_message(owner, "[*] bot started!")
bot.polling(none_stop=True, interval=2)
# Предполагаю, что бот может мирно завершить работу, поэтому
# даем выйти из цикла
break
except Exception as ex:
print("[*] error - {}".format(str(ex))) # Описание ошибки
bot.send_message(owner, "[*] error - {}".format(str(ex)))
print("[*] rebooting..")
bot.send_message(owner, "[*] rebooting..")
bot.stop_polling()
# Останавливаем чтобы не получить блокировку
time.sleep(15)
print("[*] restarted!")
bot.send_message(owner, "[*] restarted!")