AttributeError: 'NoneType' object has no attribute 'file_id' в чем проблема?
File "C:\Users\Daniil\Desktop\fortest\main.py", line 50, in spam
if message.photo.file_id:
AttributeError: 'NoneType' object has no attribute 'file_id'
'NoneType' object has no attribute 'file_id'
в блоке кода решения капчи, через tesseract ocr, при получении изображения капчи в телеграме, выдает такую ошибку, как можно решить?
from pyrogram import Client, filters, types
from pyrogram.errors import FloodWait
from PIL import Image
import pytesseract
import re
import asyncio
import random
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
tessdata_dir_config = '--tessdata-dir "C:\\Program Files\\Tesseract-OCR\\tessdata"'
app = Client('session', api_id=19906117, api_hash='7664cab4e2de780e010037028755e984')
chat_id = "@anonimnyychatbot"
WelcomeMessage = ['test',
'test2',
'test',
'test2']
NicknameMessage = ['test',
'test2',
'test',
'test2']
@app.on_message(chat_id)
async def spam(client: Client, message: types.Message):
if message.photo.file_id:
captcha = (pytesseract.image_to_string(Image.open(await app.download_media(message.photo.file_id)),
config=tessdata_dir_config)).strip()
await app.send_message(chat_id, captcha)
if "кое-кого" in message.text:
await app.send_message(chat_id, random.choice(WelcomeMessage) + " " + random.choice(NicknameMessage))
await asyncio.sleep(2)
await app.send_message(chat_id, "/next")
app.run()
Ответы (1 шт):
Автор решения: Jazzis
→ Ссылка
Проверяем, что message.photo не пуст, а уже затем проверяем file_id.
if message.photo and message.photo.file_id