Почему происходит ошибка?
Когда нажимаю на кнопку КАТАЛОГ📕 происходит ошибка данная ниже кода
Код:
from aiogram import Bot, Dispatcher, executor, types
from aiogram.types import ReplyKeyboardRemove, \
ReplyKeyboardMarkup, KeyboardButton, \
InlineKeyboardMarkup, InlineKeyboardButton
#api ключ бота
bot = Bot(token='Тут токен')
#Диспетчер, будет обрабатывать сообщения
dp = Dispatcher(bot)
#Фото для бота
startphoto = open('images/start.jpg', 'rb')
@dp.message_handler(commands=['start'])
async def start(message: types.Message):
markup = InlineKeyboardMarkup()
catalog_but = InlineKeyboardButton("КАТАЛОГ📕", callback_data='catalog_but')
help_but = InlineKeyboardButton("НАПИСАТЬ МЕНЕДЖЕРУ🤵️", callback_data='help_but')
referalka_but = InlineKeyboardButton("РЕФЕРАЛЬНАЯ СИСТЕМА 👥", callback_data='referalka_but')
markup.add(catalog_but)
markup.add(referalka_but)
markup.add(help_but)
await bot.send_photo(message.chat.id,startphoto, caption='Привет!✋\nЭтот чат-бот удивит тебя низкими ценами на подписки популярных сервисов!💸\nНапример подписка на дискорд "нитро" у нас стоит 260₽, вместо 804₽🤑', reply_markup=markup)
@dp.callback_query_handler(lambda c: c.data == "catalog_but")
async def referalka(call: types.callback_query):
await bot.answer_callback_query(call.id)
await bot.send_photo(call.message.chat.id,startphoto, caption='Сделайте свой выбор👇' )
executor.start_polling(dp)
Ошибка:
Task exception was never retrieved
future: <Task finished name='Task-12' coro=<Dispatcher._process_polling_updates() done, defined at D:\grum_shop\lib\site-packages\aiogram\dispatcher\dispatcher.py:407> exception=ValueError('I/O operation on closed file')>
Traceback (most recent call last):
File "D:\grum_shop\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 415, in _process_polling_updates
for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
File "D:\grum_shop\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 235, in process_updates
return await asyncio.gather(*tasks)
File "D:\grum_shop\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "D:\grum_shop\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 283, in process_update
return await self.callback_query_handlers.notify(update.callback_query)
File "D:\grum_shop\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "C:\Users\User\PycharmProjects\grum_shop\main.py", line 29, in referalka
await bot.send_photo(call.message.chat.id,startphoto, caption='Сделайте свой выбор👇' )
File "D:\grum_shop\lib\site-packages\aiogram\bot\bot.py", line 565, in send_photo
result = await self.request(api.Methods.SEND_PHOTO, payload, files)
File "D:\grum_shop\lib\site-packages\aiogram\bot\base.py", line 236, in request
return await api.make_request(await self.get_session(), self.server, self.__token, method, data, files,
File "D:\grum_shop\lib\site-packages\aiogram\bot\api.py", line 139, in make_request
async with session.post(url, data=req, **kwargs) as response:
File "D:\grum_shop\lib\site-packages\aiohttp\client.py", line 1141, in __aenter__
self._resp = await self._coro
File "D:\grum_shop\lib\site-packages\aiohttp\client.py", line 508, in _request
req = self._request_class(
File "D:\grum_shop\lib\site-packages\aiohttp\client_reqrep.py", line 313, in __init__
self.update_body_from_data(data)
File "D:\grum_shop\lib\site-packages\aiohttp\client_reqrep.py", line 505, in update_body_from_data
body = body()
File "D:\grum_shop\lib\site-packages\aiohttp\formdata.py", line 170, in __call__
return self._gen_form_data()
File "D:\grum_shop\lib\site-packages\aiohttp\formdata.py", line 163, in _gen_form_data
self._writer.append_payload(part)
File "D:\grum_shop\lib\site-packages\aiohttp\multipart.py", line 829, in append_payload
size = payload.size
File "D:\grum_shop\lib\site-packages\aiohttp\payload.py", line 379, in size
return os.fstat(self._value.fileno()).st_size - self._value.tell()
ValueError: I/O operation on closed file
Источник: Stack Overflow на русском