за обратный отсчет, работает в консоли, но как его впихнуть в Алису? 
                  
                  
                  Первый код отсчета, второй ответа алисы
                  
                  
                  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)
                  
                  
                
Ну, это больше похоже на код из интернетов плюс кусок кода из примера навыка. Обратный отсчёт вы, так не реализуете. А если нужно просто разово на вопрос пользователя отвечать, сколько осталось - так и вычитайте сразу во втором куске кода.
Получается нельзя в одном ответе Алисы сделать постоянный отсчет до даты?
А в чём кейс такого навыка, который напрочь блокирует доступ к Алисе и функциям колонки ради непрерывного бубнежа?
Обсуждают сегодня