209 похожих чатов

Привет, нужно сделать обратный отсчет в Алисе Есть код который отвечает

за обратный отсчет, работает в консоли, но как его впихнуть в Алису?
Первый код отсчета, второй ответа алисы
try:
while True:
date_now = datetime.today()
date_now_timestamp = int(date_now.timestamp())
event_date = datetime(year=date_now.year, month=11, day=14, hour=19, minute=0, second=0)
event_timestamp = int(event_date.timestamp())
remaining_time_seconds = event_timestamp - date_now_timestamp

remaining_time = timedelta(seconds=remaining_time_seconds)
remaining_days = remaining_time.days
remaining_seconds = remaining_time.seconds

remaining_minutes, remaining_seconds = divmod(remaining_seconds, 60)
remaining_hours, remaining_minutes = divmod(remaining_minutes, 60)

if remaining_days:
if remaining_days > 1:
remaining_days = '{} дней'.format(remaining_days)
else:
remaining_days = '{} дней'.format(remaining_days)
else:
remaining_days = ''

if remaining_hours:
if remaining_hours > 1:
remaining_hours = ', {} часа'.format(remaining_hours)
else:
remaining_days = ', {} часа'.format(remaining_hours)
else:
remaining_hours = ''

if remaining_minutes:
if remaining_minutes > 1:
remaining_minutes = ', {} минут'.format(remaining_minutes)
else:
remaining_minutes = ', {} минут'.format(remaining_minutes)
else:
remaining_minutes = ''

if remaining_seconds:
if remaining_seconds > 1:
remaining_seconds = ', {} секунд'.format(remaining_seconds)
else:
remaining_seconds = ', {} секунд'.format(remaining_seconds)
else:
remaining_seconds = ''

spaces = ' '
print('\rВремя до начала ивента: {}{}{}{}'.format(remaining_days,
remaining_hours,
remaining_minutes,
remaining_seconds,
spaces), end='')
time.sleep(1)


except KeyboardInterrupt:
exit()

@app.route('/alice', methods=['POST'])
def resp():
text = request.json.get('request', {}).get('command')

ends = False



if text == 'выход':
response_text = 'Пока!'
ends = True
else:
response_text = f' Привет, ивент начнется: \n До старта:'



response = {
'response': {
'text': response_text,
'end_session': ends,
'buttons': [
{'title': 'выход', 'hide': True}
]
},
'version': '1.0'
}
return response


app.run('0.0.0.0', port=5000, debug=True)

3 ответов

98 просмотров

Ну, это больше похоже на код из интернетов плюс кусок кода из примера навыка. Обратный отсчёт вы, так не реализуете. А если нужно просто разово на вопрос пользователя отвечать, сколько осталось - так и вычитайте сразу во втором куске кода.

Igor- Автор вопроса

Получается нельзя в одном ответе Алисы сделать постоянный отсчет до даты?

Igor
Получается нельзя в одном ответе Алисы сделать пос...

А в чём кейс такого навыка, который напрочь блокирует доступ к Алисе и функциям колонки ради непрерывного бубнежа?

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

Обсуждают сегодня

Карта сайта