Ответы пользователя по тегу Работа с датой/временем
  • Можно ли сделать систему оповещения в телеграм боте на Python, по времени?

    @balak_in
    Для прибавления дней/часов/минут дат можно использовать:
    1. Для прибавления даты/времени к текущему значению:
    from datetime import timedelta, datetime, timezone
    
    def minus_week():
        offset = timezone(timedelta(hours=3))  # Московское время
        now = datetime.now(offset)  # Текущая дата
        min_week = now + timedelta(7)  # Плюс одна неделя (7 дней)
        day = str(min_week.day)  # Получение значения дня
        month = str(min_week.month)  # Получение месяца
        if min_week.day < 10:
            day = f'0{min_week.day}'  #Чтобы день выводился было "09" а не "9"
        if min_week.month < 10:
            month = f'0{min_week.month}'
        result = f'{month}-{day}'
        return result   # Возвращает время в виде "06-26"

    2. Отложенная отправка ежедневных сообщений:
    # Функция для отправки сообщения с инфой
    def send_stats():
        def send_stat():
            bot.send_message(chat_id, 'Мое сообщение')
        schedule.every().day.at('23:55').do(send_stat)
    
        while True:
            schedule.run_pending()
            time.sleep(5)
    Ответ написан
    4 комментария