Задать вопрос
  • В чем смысл трюка с позиционированием с помощью position: absolute и transform:translate?

    aliencash
    @aliencash
    Партизан
    Дело в том, что если вы даете блоку позицию, то это позиция его верхнего левого угла, а не центра. Чтобы сместить блок в центр ему дается translate, параметры в процентах при этом вычисляются исходя из размеров самого блока. Т.о. вы получаете возможность центровать блок в окне браузера не зная его абсолютных размеров.
    Ответ написан
    Комментировать
  • Python Telegram bot: Как убить поток при любом исключении в основной части?

    Vindicar
    @Vindicar
    RTFM!
    Просто сделай поток демоном через параметр в threading.Thread.
    If not None, daemon parameter explicitly sets whether the thread is daemonic. If None (the default), the daemonic property is inherited from the current thread.

    Это поможет вот почему:

    daemon
    A boolean value indicating whether this thread is a daemon thread (True) or not (False). This must be set before start() is called, otherwise RuntimeError is raised. Its initial value is inherited from the creating thread; the main thread is not a daemon thread and therefore all threads created in the main thread default to daemon = False.
    The entire Python program exits when no alive non-daemon threads are left.

    Выделение моё.

    Ну а если у тебя есть неподконтрольные тебе недемонические потоки, то тогда придётся заворачивать основного бота в try catch. И да, то что "бот разбит на файлы с классами и методами" абсолютно ничего не меняет. Если бот синхронный, у него есть точка входа, где ты запускаешь его работу, и любое непойманное исключение в этом потоке всплывёт только там. Если бот асинхронный, то нужно реагировать на непойманные исключения в корутинах - читай доки на asyncio как это сделать.
    Ну и оптимальное решение - разобраться уже, где всплывает исключение, понять его причину, и исправить.
    Ответ написан
    Комментировать
  • Как посмотреть данные Inline кпопки Telegram?

    @PGluk
    Нет, эти данные данные можно поймать только на стороне бека
    Ответ написан
    Комментировать