Если посмотреть 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. Разве не так?