Как реализовать подобное?

dmg

Известный
Автор темы
221
68
Мне нужно чтобы бот в тг узнавал дату,и в зависимости от этой даты выдавал определенный текст.
 

laiser

Известный
184
90
В телеграм можно вытащить дату из ответа сообщения, прочитай документации, я лично не пользовался.
Так как тебе нужно работать с датой, то для этого есть встроенная библиотека datetime.
Вот пример:

Код:
import datetime

today = datetime.datetime.today()
print( today.strftime("%m/%d/%Y") ) # '04/05/2017'
print( today.strftime("%Y-%m-%d-%H.%M.%S") ) # 2017-04-05-00.18.00
 

Josski Molodoi

Активный
183
85
Легко)
Писал об этом в другой теме.
Узнавай текущее время, задав перед этим значения(current_time_x) при которых будет выполняться отправка сообщения, и через потоки включить бота и эту функцию. (чтоб while не останавливал работу скрипта, логично)

main:
import datetime
import time as tm
from threading import Thread

current_time_1, current_time_2, current_time_3, current_time_4 = '21:30', '11:35', '7:10', '01:10'

def checktime():
    while True:
        time = datetime.datetime.now().strftime("%H:%M")
        if str(time) == current_time_1:
            """do something"""
            bot.send_message(message.chat.id, 'TEXT')
        else:
            pass
        if str(time) == current_time_2:
            """do something"""
            bot.send_message(message.chat.id, 'TEXT')
        else:
            pass
        if str(time) == current_time_3:
            """do something"""
            bot.send_message(message.chat.id, 'TEXT')
        else:
            pass
        if str(time) == current_time_4:
            """do something"""
            bot.send_message(message.chat.id, 'TEXT')
        else:
            pass

        tm.sleep(1)


t1 = Thread(target=checktime)
t1 = Thread(target=bot.polling(none_stop=True))

t1.start()
t2.start()
 
  • Влюблен
Реакции: dmg