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. Разве не так?
1. Оформи код, нечитаемо. Кнопка </> в помощь.
2. Когда возникает ошибка: при сборке скрипта? Или при запуске?
3. Проявляется ли она, если запустить скрипт без инсталлера?
4. Каков полный текст ошибки? Скопируй и вставь сюда.
1. Оформи код, нечитаемо же. Чем читаемее код, тем больше шансов что кто-то ответит.
2. "не могу переменную вывести в функцию"
Или переформулируй понятнее, в чём проблема...
Или отложи бота, и попрактикуйся в основах питона.
Igor def, можно и так, хотя такой подход по-прежнему среагирует на старое-доброе "гребля заштрихуй оскорблять" (т.е. на ситуации, когда слово не из чёрного списка содержит в себе слово из чёрного). Так куда аккуратнее, во всяком случае.
А насчёт удаления - да, возможно, я перепараноил немного. С моей точки зрения, после того как сообщение удалено, с ним уже ничего нельзя делать - его больше нет. Но телега, походу, просто скрывает удалённые сообщения, как минимум на первых порах, так что они всё ещё существуют...
Но можешь попробовать запустить через NSSM или подобную обёртку.