Python (Telegram bot) | json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Здраствуйте. Возникла проблема с функцией телеграм бота.
Принцип работы предельно прост: пользователь отправляет запрос и получает в ответ сообщение с изображением, которое загружается на Telegraph. Фрагмент кода упрощен от всех лишних деталей, так что тут нужно просто получить текстовый путь к этому файлу.
Основная проблема заключается в том, что задача выполняется через раз. Т.е., в один раз все происходит как требуется, в другой же возникает ошибка, код ошибки представлен ниже. Возможно это проблема связанна с самими запросами к Telegraph, который ограничивает их количество.
Пробовал выполнять различные манипуляции, предложенные в этой статье https://stackoverflow.com/questions/16573332/jsondecodeerror-expecting-value-line-1-column-1-char-0 , но не пришел к решению.
Буду благодарен если поможете разобраться с природой ошибки, за совет или же за помощь в решении самой проблемы.
Основной код:
from telegraph import Telegraph
import json
import requests
telegraph = Telegraph()
telegraph.create_account(short_name='nick')
with open("image.jpg", 'rb') as f:
path = requests.post('https://telegra.ph/upload', files={'file': ('file', f, 'image/jpg')}).json()[0]['src']
print(path)
Правильный результат (пример):
/file/38ff935665107f3c8fb99.jpg
Ошибка:
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)