Fallervood
@Fallervood

Можно ли сделать систему оповещения в телеграм боте на Python, по времени?

Хочу научить бота отправлять оповещения пользователю о его записи относительно времени, но не знаю как это сделать и ничего не могу найти на просторах интернета.
Библиотека: pytelegrambotapi
Если кто-то имеет опыт прошу помощи!
  • Вопрос задан
  • 2482 просмотра
Решения вопроса 1
@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)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@mxrdxfxrrx
flstudio20, py3.x
Отсчитываете время выложенной записи при помощи любого модуля по времени (time, datetime, pendulum)
Определяете нужное время, отсчитываете {время появления записи} - {нужное время}, и выводите это ввиде сообщения
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы