вот я настроил бота написал все сделал хочу получить файл выбиваю дату но он пишет что нет файла по этой дате но он есть
import telebot
import datetime
import os
API_TOKEN = 'TOKEN'
bot = telebot.TeleBot(API_TOKEN)
@bot.message_handler(commands=['start'])
def send_welcome(message):
keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
button_date = telebot.types.KeyboardButton("Запросить документ за определенную дату")
button_period = telebot.types.KeyboardButton("Загрузить документы за весь период")
keyboard.add(button_date, button_period)
bot.send_message(message.chat.id, "Добро пожаловать! Пожалуйста, выберите опцию:", reply_markup=keyboard)
@bot.message_handler(func=lambda message: message.text == "Запросить документ за определенную дату")
def request_date(message):
keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
today = datetime.date.today()
for i in range(7):
date_button = telebot.types.KeyboardButton(today + datetime.timedelta(days=i)).strftime("%d-%m-%Y")
keyboard.add(date_button)
bot.send_message(message.chat.id, "Выберите дату:", reply_markup=keyboard)
@bot.message_handler(func=lambda message: message.text == "Загрузить документы за весь период")
def request_period(message):
bot.send_message(message.chat.id, "Введите дату начала в формате DD-MM-YYYY:")
@bot.message_handler(func=lambda message: True)
def handle_date_input(message):
try:
selected_date = datetime.datetime.strptime(message.text, "%d-%m-%Y").date()
file_name = f"{selected_date.strftime('%Y-%m-%d')}.xlsx"
file_path = os.path.join(r'C:\Users\user\Downloads', file_name)
if os.path.exists(file_path):
with open(file_path, 'rb') as file:
bot.send_document(message.chat.id, file)
else:
bot.send_message(message.chat.id, "Файл не найден. Убедитесь, что файл с указанной датой существует.")
except ValueError:
bot.send_message(message.chat.id, "Неверный формат. Пожалуйста, введите дату в формате DD-MM-YYYY:")
except Exception as e:
bot.send_message(message.chat.id, f"Произошла ошибка: {e}")
bot.polling()