думал, что было бы хорошо уведомлять юзеров за день до окончания подписки, но я не совсем понимаю, как это сделать, если я хочу чтобы это работало без нажатия на кнопки и т.д., а просто по таймеру
Ну вот и делай по таймеру =) Или, что точнее, по расписанию
ну я вот такую штуку нашёл, она прям почти то, что мне надо, ток нужно проверить исключения async def noon_print(): print("It's noon!") async def scheduler(): aioschedule.every().day.at("12:00").do(noon_print) while True: await aioschedule.run_pending() await asyncio.sleep(1) async def on_startup(_): asyncio.create_task(scheduler()) Но я не совсем понимаю, как её можно переписать под код без глобальных переменных, чтобы noon_print отправлял, сообщения найденным пользователям
А зачем тебе планировщик ВНУТРИ твоего кода? Почему это не может быть отдельный скрипт?
Ну да, я могу запланировать что-то, но как я отправлю потом из этого отдельного скрипта сообщения (возможно туплю)
Ещё раз: пишешь отдельный скрипт, который запускается по расписанию, ищет тех, кому надо отправить сообщение и отправляет. И всё это параллельно с самим ботом. В чём проблема?
К тому же боту, но необязательно к тому же объекту бота
Оу, но яснее не стало, и не будет ли ошибки more then one instance of bot running . Если я правильно понимаю вот в main функции мы создаём объект бота bot = Bot(token=..., parse_mode=...) , и мы теперь в нашем скрипте для рассылок должны создать второй объект такой же ?
> и не будет ли ошибки Не будет, т.к. второй скрипт не запускает никакой поллинг и не слушает вебхуки > в нашем скрипте для рассылок должны создать второй объект такой же ? Да, с тем же токеном, никто не запрещает
ну я хочу использовать aioschedule, чтобы условно в 00:00 проверять сколько времени осталось у человека до конца его подписки и уведомлять его об этом ( за 15 дней и за 1 день до конца), если у него истекла подписка, то отправлять ему в ответ клаву только с одной кнопкой возобновления
запланируй в шедуле за 15 дней\1 день до конца напоминание юзеру
как вариант, только нужно еще учесть что если бот упадет
Проверяй каждый час подписку каждого юзера
Обсуждают сегодня