12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import telebot
- from telebot import types
- import re
- import sys
- import time
- sys.path.append('./modules/')
- from dates_2024 import calendar, month_name
- from create_calendar import CreatePicture
- from set_dots import SetDot
- from date_month import find_week_and_day
- API_TOKEN = '7263538943:AAGam4gQylREyzMd3GZEMdCVwUNaW0PHumM'
- bot = telebot.TeleBot(API_TOKEN)
- @bot.message_handler(commands=['start'])
- def start(message):
- markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
- markup.add(btn1, btn2)
- bot.send_message(message.from_user.id, "Для картинки с датой указать месяц в формате: 09\nГде '09' - число месяца \nДля установки даты указать дату в формате: 09.03 \nГде '09.03' - месяц и дата", reply_markup=markup)
- # Регулярные выражения для определения форматов
- month_pattern = r'^(0[1-9]|1[0-2])$' # Формат 09
- date_pattern = r'^(0[1-9]|[12][0-9]|3[01])\.(0[1-9]|1[0-2])$' # Формат 09.03
- @bot.message_handler(func=lambda message: True)
- def check_date_format(message):
- text = message.text.strip()
-
- # Создать календарь на месяц
- if re.match(month_pattern, text):
- bot.reply_to(message, f"Вы ввели месяц в формате: {text}")
- CreatePicture(month_name[int(text)-1], calendar[int(text)-1])
- with open("./photos/month.png", 'rb') as photo:
- bot.send_photo(message.from_user.id, photo)
- # На календаре поставить точку
- elif re.match(date_pattern, text):
- bot.reply_to(message, f"Вы ввели дату в формате: {text}")
- days = re.match(date_pattern, text).group(2)
- month = re.match(date_pattern, text).group(1)
- result = find_week_and_day(calendar[int(month)-1], int(days))
- if result:
- week, day = result
- print(f"Число {days} находится на неделе {week} и дне {day}.")
- SetDot(week, day)
- with open("./photos/dots.png", 'rb') as photo:
- bot.send_photo(message.from_user.id, photo)
- else:
- print(f"Число {days} не найдено в календаре.")
- else:
- bot.reply_to(message, "Формат не распознан. Пожалуйста, введите месяц в формате 09 или дату в формате 09.03.")
- bot.infinity_polling()
|