• Нужно ли (и как) позаботиться о завершении работы нескольких потоков, которые тоже запущены из отдельного потока?

    Vindicar
    @Vindicar
    RTFM!
    Если тебе нужно, чтобы запущенные потоки доработали до конца даже при завершении программы - то можно их просто запустить и оставить.
    Сложности обычно начинаются, когда нужно завершить фоновый поток вместе с главным - фоновый поток должен сам проверять, что пора завершаться, и делать это достаточно часто.
    Ответ написан
    Комментировать
  • Как записать текст с кнопки aiogram в SQL?

    rt2233
    @rt2233
    чтоб получить текст с кнопки используй:

    print(call.message.reply_markup.inline_keyboard[0][0].text)

    call - callback_data
    первый "[0]" это кнопка с которой брать текст (их может быть больше 1)
    Ответ написан
    Комментировать
  • Как настроить универсальный хендлер в аиограм?

    Vindicar
    @Vindicar
    RTFM!
    Вместо text в callback_query_handler() укажи функцию, которая принимает CallbackQuery и возвращает True, если надо обработать данный запрос, и False, если нужно поискать другой обработчик. Для ускорения можешь все коды запросов в БД пометить отдельным префиксом (например, пусть они начинаются с "db_"), чтобы сразу отсечь посторонние коды.
    Просто погугли callback_query_handler, увидишь что-то типа lambda callback_query: True - это означает "принимать любые коды запроса". Но ведь можно True возвращать не всегда.
    Ответ написан
    Комментировать
  • Как узнать и зафиксировать время, когда пользователь нажал inline-кнопку?

    @w1sh
    Во-первых, time.time() не будет конфликтовать с Телеграмом
    Во-вторых, если ты боишься, что время тачки, на которой ты будешь хостить бота не будет совпадать с тем, что тебе нужно, то воспользуйся библиотеками, которые выводят НЕ системное время. Примеры можешь найти здесь
    Ответ написан
    Комментировать