DenisProk, погоди. Похоже, что вебсервер предполагает, что время в БД обязательно лежит в UTC, а при показе пользователю оно пересчитывается в нужный часовой пояс (GMT +3). Но от этого время не перестаёт быть одним и тем же. В доках написано:
Time zone support is enabled by default. To disable it, set USE_TZ = False in your settings file.
When you enable time zone support, Django converts aware datetime objects to the current time zone when they’re rendered in templates. This behaves very much like format localization.
Т.е. если у тебя объект datetime с указанием timezone (aware-объект), то он будет конвертироваться. Если же без указания (naive-объект), то он не будет конвертироваться.
Можешь либо отключить механизм конверсии, либо поискать способ хранить в БД naive-даты.
Если посмотреть https://requests.readthedocs.io/en/latest/_modules..., становится видно, что RequestException - базовый класс для всех ошибок в либе requests. Как следствие, в твоём текущем коде никогда не будут вызваны обработчики MissingSchema, ConnectionError и ReadTimeout, так как поиск обработчика остановится на обработчике для RequestException.
Quqas, ссылки оно не переделывает, только открытый URL. Бесконечная перезагрузка наводит на мысль о том, что тебя принудительно редиректят обратно.
Ты там случаем не нормальный алиэкспресс пытаешься открыть вместо русского? Он такое любит делать. =)
klounboy32, что ты мне скрин из нейронки суёшь? Это может быть галлюцинацией.
Проверяй экспериментально - подними веб-сервер, смотрящий "наружу", в Инет, напиши простеньший обработчик, который возвращает клиенту список заголовков запроса, и сделай запрос к этому серверу через свой прокси. На PHP это будет выглядеть как-то так:
Если поднимешь сервер на питоне, там будет что-то похожее. Тогда можно будет говорить предметно о том, какие заголовки твой прокси отправляет, а какие не отправляет.
Но скорее всего на целевом сайте не одна политика блокировки, и достаточно попасться на любой из них.
kefirich, ну взгляни на мой ответ. По идее, если конструирование объекта происходит внутри асинхронной функции, твой код должен работать. Если не работает, ты можешь схитрить: в __init__() ты только регистрируешь фоновые задачи (складываешь в список ссылку на метод + параметры, например), а потом отдельным методом своего бота проходишь по этому списку и запускаешь зарегистрированные задачи.
Тогда ты можешь конструировать бота в синхронном коде, а метод запуска задач выполнять либо в on_ready() (с поправкой на возможные неоднократные вызовы), либо в теле async def main().
Где тексто ошибки-то? То, что ты привёл - это команда на запуск питоновского файла printEnvVariablesToFile.py, с передачей ему в качестве параметра пути к файлу envVars.txt.
ffff567, ну это если расстановки уникальные. Разный порядок расстановки кораблей и смена позиций двух однотипных кораблей уникальность подпортят. Но идею примерно понял.
ffff567, ну есть два варианта:
1. "добивающие" ходы Г5, Д6, Д4, Е5
2. ходы, которые по максимум сужают пространство, где может прятаться 4хпалубник. Тогда лучший будет З5 (накрывает 7 из 23 возможных позиций), а далее три одинаково хороших Е5, Ж5, З3 (по 5 из 23).
On success, the sent aiogram.types.message.Message is returned.
Я так понял, вызов forward_message() вернёт тебе объект Message, соответствующий форварду, а не оригиналу. Просто сохрани его в переменную и вытащи ID. Разве не так?
В доках написано:
Кроме того, ниже сказано:
Т.е. если у тебя объект datetime с указанием timezone (aware-объект), то он будет конвертироваться. Если же без указания (naive-объект), то он не будет конвертироваться.
Можешь либо отключить механизм конверсии, либо поискать способ хранить в БД naive-даты.