• Почему не получается импортировать JSON?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    import json
    jsdata = '{"name": "Jack"}'
    data = json.loads(jsdata)
    print(data['name'])

    • Во-первых, ваш json невалиден. В JSON строже с кавычками, чем в python или php - там для обрамления строковых литералов разрешается использовать только двойные кавычки. Поэтому инвертируем кавычки во второй строчке
    • json.load - это метод загрузки из файла. Для парсинга из строки надо использовать json.loads
    • Последняя строчка - у вас неправильное обращение к ключу словаря
    Ответ написан
    Комментировать
  • Как боту отправить сообщение если пользователь ничего не ввел?

    @twistfire92
    Python backend developer
    Стандартными средствами этой библиотеки так не сделать.
    Могу предложить альтернативу:
    При регистрации register_next_step_handler передавать еще один параметр, который будет равен дате сообщения mes.date и в функцию get_data_func передавать этот параметр. В самой get_data_func проверять разницу между датой нового сообщения пользователя и датой предыдущего сообщения. Если больше 10 часов - обрывать текущий скрипт и выдавать новое сообщение.
    ...
        mes = bot.send_message(call.chat.id, text="Введите запрос:")
        bot.register_next_step_handler(mes, get_data_func, mes.date)
    ...
    def get_data_func(message, date):
        if message.date-date > 36000: # 10 часов в секундах
            <тут уже ваши действия>


    Минус такого подхода в том, что если пользователь забьет на бота, никакого сообщения ему не придет.
    Ответ написан
    4 комментария