Я получаю данные об nft с помощью API:
import os
import requests
from dotenv import load_dotenv, find_dotenv
load_dotenv(find_dotenv())
async def check_nft(address_nft):
headers_data = {
'Authorization': 'Bearer ' + os.getenv('serverSideKey')}
data = {'addresses': str(address_nft)}
url = 'https://tonapi.io/v1/{}/{}'.format('getItems', 'nft')
response = requests.get(url, params=data, headers=headers_data)
await response.json()['nft_items'][0]['metadata']
Этот код был написан в отдельном файле, его я импортировал в основной код.
Вот реализация функции в основном коде:
@dp.message_handler(state=AddNft.nft)
async def add_nft(message: types.Message, state=FSMContext):
async with state.proxy() as data:
data['nft'] = message.text
await state.finish()
try:
await nft_api.check_nft(message.text)
await message.answer('Ваша nft была добавлена')
except Exception as _ex:
print(_ex)
await message.answer("Вполне возможно, вы ошиблись с адресом nft")
Сразу могу исключить ошибку в api, тут я всё сделал я правильно. Если запускать её самостоятельно(не сопряженно с ботом), то данные nft выводятся в терминале. Вывод таков, что я где-то ошибся с aiogram. Помогите, пожалуйста.