Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (1)

Лучшие ответы пользователя

Все ответы (1)
  • Как сделать так чтобы бот понимал какой сегодня день недели?

    @SynapticWhisper
    import datetime
    
    weekdays = {
        1: "Понедельник",
        2: "Вторник",
        3: "Среда",
        4: "Четверг",
        ...
    }
    
    today = datetime.date.today().isoweekday()

    В today будет численное представление сегодняшнего дня недели.
    Дальше если нужно дергаешь значение из словаря, и получаешь в текстовом формате на русском языке.
    t = weekdays[today]
    И как-то обрабатываешь и встраиваешь это в свою логику.
    Было бы неплохо разделить эту простыню кода на модули, отдельный класс или модуль для создания клавиатур, вытащить из бесконечных if-else логику и разделить ее на функции. Тогда можно было бы организовать это все как то так:
    def foo_1(*args, **kwargs):
       """Твой код"""
       ...
    def foo_2(*args, **kwargs):
       """Твой код"""
       ...
    functions = {
       "Понедельник": foo_1,
       "Вторник": foo_2,
       ...
    }
    def func(message):
       if message.text == "Расписание на сегодня":
          today = datetime.date.today().isoweekday()
          t = weekdays[today]
       else:
          t = message.text
       functions[t]()


    объем сократится, читаемость повысится, все в шоколаде
    Ответ написан
    Комментировать