Отправка сообщений по расписанию с помощью бота telegram - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть бот-телеграмма, который должен прислать мне мое расписание в определенное время.

Я использую запросы для работы с Telegram API, и поскольку я живу в России (мы заблокировали Telegram), мне нужно использовать прокси. Прокси, который я использую, имеет низкую скорость, но пара секунд мне подходит. Также я использую библиотеку datetime, чтобы узнать текущее время и проверить, соответствует ли оно запланированному времени

Блок кода:

while True:
        updates = get_updates(last_id)

        if len(updates["result"]) > 0:

            last_id = get_last_id(updates) + 1

            if (day == 0) and (hour == 8) and (minute == 0) and (sec == 0):  # for Monday
                print('sending...')
                send_all(stuff.monday)
                print("sent")
            elif (day == 1) and (hour == 8) and (minute == 0) and (sec == 0):  # for Tuesday
                print('sending...')
                send_all(stuff.tuesday)
                print("sent")
            elif day == 2 and (hour == 8) and (minute == 0) and (sec == 0):  # for Wednesday
                if (is_even % 2 == 0):
                    print('sending...')
                    send_all(stuff.wednesday_even)
                    print("sent")
                else:
                    print('sending...')
                    send_all(stuff.wednesday_odd)
                    print("sent")

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

Привет.

1 Ответ

0 голосов
/ 09 сентября 2018

Просто используйте расписание библиотеки , если вы находитесь в такой ситуации.

Это будет выглядеть так:

import schedule
schedule.every().any_day_of_the_week.at(MM:SS).do(your_routine)
...