requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Рейтинг: 0Ответов: 0Опубликовано: 18.02.2023

Хэндлер:

@dp.callback_query_handler(Text(startswith='lolz_'))
async def check_lolz(callback: types.CallbackQuery):
    comment = callback.data.split('_', maxsplit=1)[1]
    user_id = db.check_account(comment)[0][0]
    amount = db.check_amount(comment)[0][0]
    print(lzt.get_payments(amount, comment))
    if lzt.get_payments(amount=amount, comment=comment) == True:
        db.add_balance(user_id, amount)
        await callback.message.answer('Средства успешно зачислены!')
        db.delete_bill(comment)
    else:
        await callback.message.answer('Оплата не найдена', reply_markup=markups.verify_lolz(False))

Класс, с которым я работаю:

import requests
import time
import random
import secrets

class Lolz():

    def __init__(self, token: str):
        self.api_url = 'https://api.lzt.market'
        self.session = requests.Session()
        self.session.headers = {
            'Authorization': f'Bearer {token}'
        }

    def get_random_comment(self):
        return f'{time.time()}_{secrets.token_hex(random.randint(12, 20))}'

    def get_payments(self, amount: int, comment: str):
        data = {
            'type': 'income',
            'comment': comment
        }
        response = self.session.get(f'{self.api_url}/user/4849636/payments')
        payments = response.json()['payments']
        for payment in payments.values():
            if 'Перевод денег от' in payment['label']['title'] and int(amount) == payment['incoming_sum'] and comment == payment['data']['comment']:
                return True
            else:
                return False

Ошибка:

    Traceback (most recent call last):
  File "C:\Users\floydpower\PycharmProjects\MY_SHOP\venv\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 "C:\Users\floydpower\PycharmProjects\MY_SHOP\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 235, in process_updates
    return await asyncio.gather(*tasks)
  File "C:\Users\floydpower\PycharmProjects\MY_SHOP\venv\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
    response = await handler_obj.handler(*args, **partial_data)
  File "C:\Users\floydpower\PycharmProjects\MY_SHOP\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 283, in process_update
    return await self.callback_query_handlers.notify(update.callback_query)
  File "C:\Users\floydpower\PycharmProjects\MY_SHOP\venv\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
    response = await handler_obj.handler(*args, **partial_data)
  File "C:\Users\floydpower\PycharmProjects\MY_SHOP\handlers.py", line 126, in check_lolz
    print(lzt.get_payments(amount, comment))
  File "C:\Users\floydpower\PycharmProjects\MY_SHOP\lolz.py", line 24, in get_payments
    payments = response.json()['payments']
  File "C:\Users\floydpower\PycharmProjects\MY_SHOP\venv\lib\site-packages\requests\models.py", line 975, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Мучаюсь с этой проблемой уже неделю, не понимаю, что нужно сделать для решения.

Ответы

Ответов пока нет.