Ошибка OSError: [Errno 22] Invalid argument: Telegram bot

Есть телеграм бот написанный на библиотеке aiogram.

Есть Сервер Linux Ubuntu 22.04.

Есть Установленный Docker на этом сервере.

Есть установленный локальный сервер телеграм.

Когда я запускаю бота из Pycharm на Windows или запускаю бота через собранный докер образ, то при попытке отправить файл боту я получаю следующую ошибку:

OSError: [Errno 22] Invalid argument: 
'/home/purch_dep/telegram_bot_local_server/7161680398:<somebottoken>/documents/file_8.xlsx'
Traceback (most recent call last):

Здесь еще много всего Traceback, если нужно его тоже выложу.

Но если я запускаю бота на самом сервер Linux (без Docker-a, просто командой python Bot.py) то проблем нет никаких, все работает абсолютно корректно.

Подозреваю, что проблема может быть в пути к файлу, но куда именно копать не пойму.

Вот сам код кнопки загрузки в боте:

@router.message(FSMAdmin.brands_upload_file)
async def upload_brands_to_db_by_excel(message: types.Message, state: FSMContext):
  print(os.getcwd())
  if message.content_type != 'document':
      await state.set_state(FSMAdmin.brands_upload_file)
      await message.answer(f"<b>Я принимаю только файлы.</b>",
                         parse_mode=ParseMode.HTML, reply_markup=markup_back)
  else:
    file_name = message.document.file_name
    file_extension = '.' + message.document.file_name.split('.')[-1]
    if file_extension != '.xlsx':
        await message.answer(f"<b>Я ПРИНИМАЮ ТОЛЬКО ФАЙЛЫ В ФОРМАТЕ .xlsx</b>",
                             parse_mode=ParseMode.HTML, reply_markup=markup_back)
    else:
        file_id = message.document.file_id
        file = await bot.get_file(file_id)
        file_path = file.file_path
        print(f"File PATH {file_path}")
        server_file_name = file_path.split('/')[-1]
        server_file_path = file_path.split('/')[:-1]
        server_file_path = '/'.join(server_file_path)
        print(f"CURR WORK DIR {os.getcwd()}")

        await bot.download_file(file_path=f"{file_path}", destination=f"tmp/{file_name}")
        await message.answer('<b>БОТ НАЧАЛ ОБРАБАТЫВАТЬ ДАННЫЕ, ОЖИДАЙТЕ...</b>', parse_mode=ParseMode.HTML)
        is_added = add_brands_to_db(get_data_from_downloaded_file(file_name, is_truck_brands=True))
        if is_added:
            clear_folder([file_name], 'tmp/')
            clear_folder([server_file_name], f"{server_file_path}")
            await message.answer(f"<b>ДАННЫЕ  УСПЕШНО ДОБАВЛЕНЫ В БД.</b>\n\n{emoji.emojize(':file_folder:')}"
                                 f" Добавлен документ: <b><i>{file_name}</i></b>", parse_mode=ParseMode.HTML,
                                 reply_markup=markup_add_constants)
            await state.clear()
        else:
            await message.answer(f"<b>ДАННЫЕ НЕ ДОБАВЛЕНЫ, ОБРАТИТЕСЬ К АДМИНИСТРАТОРУ</b>",
                                 parse_mode=ParseMode.HTML, reply_markup=markup_back)

Всем за ранее спасибо!

вот полный Traceback:OSError: [Errno 22] Invalid argument: '/home/purch_dep/telegram_bot_local_server/7161680398:A/documents/file_8.xlsx' Traceback (most recent call last): File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\dispatcher.py", line 309, in _process_update response = await self.feed_update(bot, update, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\dispatcher.py", line 158, in feed_update response = await self.update.wrap_outer_middleware( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\middlewares\error.py", line 25, in call return await handler(event, data) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\middlewares\user_context.py", line 56, in call return await handler(event, data) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\fsm\middleware.py", line 42, in call return await handler(event, data) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\event\telegram.py", line 121, in trigger return await wrapped_inner(event, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\event\handler.py", line 43, in call return await wrapped() ^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\dispatcher.py", line 276, in _listen_update return await self.propagate_event(update_type=update_type, event=event, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\router.py", line 146, in propagate_event return await observer.wrap_outer_middleware(_wrapped, event=event, data=kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\router.py", line 141, in _wrapped return await self._propagate_event( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\router.py", line 174, in _propagate_event response = await router.propagate_event(update_type=update_type, event=event, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\router.py", line 146, in propagate_event return await observer.wrap_outer_middleware(_wrapped, event=event, data=kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\router.py", line 141, in _wrapped return await self._propagate_event( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\router.py", line 166, in _propagate_event response = await observer.trigger(event, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\event\telegram.py", line 121, in trigger return await wrapped_inner(event, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\dispatcher\event\handler.py", line 43, in call return await wrapped() ^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\Bot.py", line 422, in upload_brands_to_db_by_excel await bot.download_file(file_path=f"{file_path}", destination=f"tmp/{file_name}") File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\client\bot.py", line 430, in download_file await self.__download_file(destination=destination, stream=stream) File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\client\bot.py", line 379, in __download_file async for chunk in stream: File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiogram\client\bot.py", line 386, in __aiofiles_reader async with aiofiles.open(file, "rb") as f: File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiofiles\base.py", line 98, in aenter self._obj = await self.coro ^^^^^^^^^^^^^^^^ File "C:\Program Files\Purchasing_department\QWEP_daily_prices\venv\Lib\site-packages\aiofiles\threadpool_init.py", line 94, in _open f = yield from loop.run_in_executor(executor, cb) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Python312\Lib\concurrent\futures\thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ OSError: [Errno 22] Invalid argument: '/home/purch_dep/telegram_bot_local_server/7161680398:/documents/file_8.xlsx'


Ответы (0 шт):