Как отправлять сообщение в определенное время python

Обновлено: 18.05.2024

Я пытаюсь создать бота, который сможет уведомлять пользователей в определенное время каждый день. как заставить бота отправлять уведомления в определенное время каждый день?

Я пытался использовать цикл while, но это

я понятия не имею, как я могу решить мою проблему

Для регулярного планирования пакетных задач вы должны использовать встроенные функции системы:

В Windows это планировщик задач, ранее это была команда с именем "at":

В Windows 10 Task Scheduler - это инструмент, который позволяет автоматически создавать и запускать практически любые задачи. Как правило, система и некоторые приложения используют планировщик для автоматизации задач обслуживания (например, дефрагментация диска, очистка диска и обновления), но любой может использовать Это. С этим опытом вы можете запускать приложения, запускать команды, и выполнять сценарии в определенный день и время, или вы также можете запускать задачи при возникновении определенного события.

Планировщик заданий работает, сохраняя вкладки времени и событий на вашем компьютер и выполняет задачу, как только условие выполнено.

Пытаетесь ли вы использовать планировщик заданий для запуска задачи на конкретное время или когда происходит событие, вы можете создать задачу в как минимум два разных способа с использованием основных и дополнительных настроек.

6137aee24df2f990520171.jpg


Ошибка:

ps
Я понимаю ошибку, не понимаю как решить. Я не понимаю как мне вклеить аргумент, а что самое главное не знаю куда)

  • Вопрос задан 07 сент. 2021
  • 163 просмотра

Средний 2 комментария

frdks

Попробуйте вместо "def start_message(message)" написать "def start_message()".
Вы не передаете в свою функцию аргумент message

Вы не то вставили в функцию schedule.every().day.at("17:47").do(). Нужно было вставить bot.polling()

Если я вас правильно понял, то бот должен запустить в 17:47. Если это так, то код, который я написал выше, подойдет вам

Я пытаюсь создать бота, который сможет уведомлять пользователей в определенное время каждый день. как заставить бота отправлять уведомления в определенное время каждый день?

Я пытался использовать цикл while, но это

я понятия не имею, как я могу решить мою проблему

Для регулярного планирования пакетных задач вы должны использовать встроенные функции системы:

В Windows это планировщик задач, ранее это была команда с именем "at":

В Windows 10 Task Scheduler - это инструмент, который позволяет автоматически создавать и запускать практически любые задачи. Как правило, система и некоторые приложения используют планировщик для автоматизации задач обслуживания (например, дефрагментация диска, очистка диска и обновления), но любой может использовать Это. С этим опытом вы можете запускать приложения, запускать команды, и выполнять сценарии в определенный день и время, или вы также можете запускать задачи при возникновении определенного события.

Планировщик заданий работает, сохраняя вкладки времени и событий на вашем компьютер и выполняет задачу, как только условие выполнено.

Пытаетесь ли вы использовать планировщик заданий для запуска задачи на конкретное время или когда происходит событие, вы можете создать задачу в как минимум два разных способа с использованием основных и дополнительных настроек.

Отличия и особенности

JavaScript прекрасен тем, что его можно запустить в консоли любого современного браузера. Это для него родная среда, и JS легко работает со страницами, объектами на ней, вкладками браузера и всем, что с ним связано.

Python — более универсальный язык, который работает не только с браузерами, поэтому для него нужен отдельный интерпретатор. Интерпретатор — это программа, которая берёт исходный код и выполняет команду за командой. Вы можете написать отличный код, но чтобы его исполнить, вам всегда нужен будет интерпретатор.

Есть два способа запустить Python-код:

Из минусов — нужно разбираться в параметрах установки и настройки и уметь работать с командной строкой. Плюсы — полный контроль и быстродействие.

Минусы: так как это онлайн-сервис, им пользуется одновременно много человек, поэтому быстродействия от него ждать не стоит. С подключением внешних модулей тоже могут возникнуть проблемы, но с этим можно разобраться, если потратить немного времени.

Сейчас мы напишем таймер с оглядкой на онлайновый сервис. А отдельно ещё расскажем об установке.

Исходный код на JavaScript

Что мы здесь сделали:

Простая реализация на Python

Модуль в Python — это уже готовый python-файл, где собраны запчасти, которые помогают решать какую-то узкую задачу: функции и классы. Например, замерять время, работать с математическими функциями или календарём.

Чтобы сделать паузу, используют команду time.sleep(). Time — это название модуля, который мы подключили, а sleep — функция, которая находится внутри модуля. Её задача — подождать нужное количество секунд, а потом продолжить выполнение программы.

Что дальше: многозадачность и оптимизация

Наша программа уже работает как нужно, но её можно улучшить. Дело в том, что ставить весь код на паузу — не самое удачное решение с точки зрения производительности. Представьте, что вам нужно поставить себе несколько напоминаний на разное время. С таким подходом нам придётся выяснять, какое сработает раньше, потом корректировать время паузы для следующего напоминания и так далее.

Можно сделать так: выносить напоминания в отдельные потоки. Это как подпрограмма, которая работает параллельно с нашей программой и не сильно зависит от неё. Это позволит не ждать первого события, а запускать их одновременно. Но про всё это — в следующем материале.

Читайте также: