asyncpg.exceptions.StringDataRightTruncationError: значение не умещается в тип character varying(250)

ifJaspe

Новичок
Пользователь
Июн 23, 2024
3
0
1
Добрый день подскажите пожалуйста только начал заниматься Python взял готового бота для реализации в нем новых возможностей. Уже несколько часов не могу понять в чем ошибка при добавлении Api key
1719141802784.png


Вот код куда переводит данные попытки добавления этого самого api
1719141943169.png1719141817893.png
 

ifJaspe

Новичок
Пользователь
Июн 23, 2024
3
0
1
2024-06-23 at 15:36:17 | ERROR | base_events.py:1785 | Task exception was never retrieved
future: <Task finished name='Task-89' coro=<Dispatcher._process_polling_updates() done, defined at C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\.venv\Lib\site-packages\aiogram\dispatcher\dispatcher.py:407> exception=StringDataRightTruncationError('значение не умещается в тип character varying(250)')>
Traceback (most recent call last):

> File "C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\.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)):
│ │ │ │ │ │ └ True
│ │ │ │ │ └ [<Update {"update_id": 122653446, "message": {"message_id": 744, "from": {"id": 6936629465, "is_bot": false, "first_name": "....
│ │ │ │ └ <function Dispatcher.process_updates at 0x0000021A8A69F600>
│ │ │ └ <aiogram.dispatcher.dispatcher.Dispatcher object at 0x0000021A8AEDAB50>
│ │ └ <method 'from_iterable' of 'itertools.chain' objects>
│ └ <class 'itertools.chain'>
└ <module 'itertools' (built-in)>
File "C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\.venv\Lib\site-packages\aiogram\dispatcher\dispatcher.py", line 235, in process_updates
return await asyncio.gather(*tasks)
│ │ └ [<coroutine object Handler.notify at 0x0000021A8CC15940>]
│ └ <function gather at 0x0000021A88FF71A0>
└ <module 'asyncio' from 'C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\...
File "C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\.venv\Lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
│ │ │ └ {}
│ │ └ (<Update {"update_id": 122653446, "message": {"message_id": 744, "from": {"id": 6936629465, "is_bot": false, "first_name": "....
│ └ <bound method Dispatcher.process_update of <aiogram.dispatcher.dispatcher.Dispatcher object at 0x0000021A8AEDAB50>>
└ Handler.HandlerObj(handler=<bound method Dispatcher.process_update of <aiogram.dispatcher.dispatcher.Dispatcher object at 0x0...
File "C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\.venv\Lib\site-packages\aiogram\dispatcher\dispatcher.py", line 256, in process_update
return await self.message_handlers.notify(update.message)
│ │ │ │ └ <aiogram.types.fields.Field object at 0x0000021A8A197B90>
│ │ │ └ <Update {"update_id": 122653446, "message": {"message_id": 744, "from": {"id": 6936629465, "is_bot": false, "first_name": "."...
│ │ └ <function Handler.notify at 0x0000021A8A5DDDA0>
│ └ <aiogram.dispatcher.handler.Handler object at 0x0000021A8AF247D0>
└ <aiogram.dispatcher.dispatcher.Dispatcher object at 0x0000021A8AEDAB50>
File "C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\.venv\Lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
│ │ │ └ {'state': <aiogram.dispatcher.storage.FSMContext object at 0x0000021A8C24D150>}
│ │ └ (<Message {"message_id": 744, "from": {"id": 6936629465, "is_bot": false, "first_name": ".", "username": "inJaspe", "language...
│ └ <function connection_api_x64 at 0x0000021A8C997CE0>
└ Handler.HandlerObj(handler=<function connection_api_x64 at 0x0000021A8C997CE0>, spec=FullArgSpec(args=['message', 'state'], v...

File "C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\handlers\users\profile\add_seller.py", line 26, in connection_api_x64
seller = await add_seller(api_x64=api_x64, reserve=14, export=True, bot_enable=False,
│ └ 'eyJhbGciOiJFUzI1NiIsImtpZCI6IjIwMjQwNjE3djEiLCJ0eXAiOiJKV1QifQ.eyJlbnQiOjEsImV4cCI6MTczNDkxMDEyMSwiaWQiOiI2NmJmMzNkZC0xZWM2L...
└ <function add_seller at 0x0000021A8AF2B7E0>

File "C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\utils\db_api\quick_commands\seller_inquiries.py", line 16, in add_seller
await seller.create()
│ └ <gino.crud._Create object at 0x0000021A8ACBBCD0>
└ <utils.db_api.db_gino.Seller object at 0x0000021A8C9F2590>

File "C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\.venv\Lib\site-packages\gino\crud.py", line 477, in _create
row = await bind.first(q)
│ │ └ <sqlalchemy.sql.dml.Insert object at 0x0000021A8CC91BD0>
│ └ <function GinoEngine.first at 0x0000021A8ACF40E0>
└ <asyncpg.pool.Pool max=10 min=10 cur=10 use=0>
File "C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\.venv\Lib\site-packages\gino\engine.py", line 748, in first
return await conn.first(clause, *multiparams, **params)
│ │ │ │ └ {}
│ │ │ └ ()
│ │ └ <sqlalchemy.sql.dml.Insert object at 0x0000021A8CC91BD0>
│ └ <function GinoConnection.first at 0x0000021A8ACD7240>
└ <gino.engine.GinoConnection object at 0x0000021A8CD4C810>
File "C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\.venv\Lib\site-packages\gino\engine.py", line 328, in first
return await result.execute(one=True)
│ └ <function _ResultProxy.execute at 0x0000021A8CC71800>
└ <gino.dialects.base._ResultProxy object at 0x0000021A8CCEC350>
File "C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\.venv\Lib\site-packages\gino\dialects\base.py", line 214, in execute
rows = await cursor.async_execute(
│ └ <function DBAPICursor.async_execute at 0x0000021A8CC73380>
└ <gino.dialects.asyncpg.DBAPICursor object at 0x0000021A8CD5A290>
File "C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\.venv\Lib\site-packages\gino\dialects\asyncpg.py", line 184, in async_execute
result, stmt = await getattr(conn, "_do_execute")(query, executor, timeout)
│ │ │ └ None
│ │ └ <function DBAPICursor.async_execute.<locals>.executor at 0x0000021A8CCD1A80>
│ └ 'INSERT INTO seller (name, api_x64, reserve, bot_enable, export, tarif, updated_at) VALUES ($1, $2, $3, $4, $5, $6, $7) RETUR...
└ <PoolConnectionProxy [released] 0x21a8cca3f70>
File "C:\Users\Home\Desktop\Wildberries-Helpler-Bot-main\.venv\Lib\site-packages\asyncpg\connection.py", line 1730, in _do_execute
result = await executor(stmt, None)
│ └ <asyncpg.protocol.protocol.PreparedStatementState object at 0x0000021A8CCD2840>
└ <function DBAPICursor.async_execute.<locals>.executor at 0x0000021A8CCD1A80>
File "asyncpg\protocol\protocol.pyx", line 201, in bind_execute
return await waiter

asyncpg.exceptions.StringDataRightTruncationError: значение не умещается в тип character varying(250)
 

ifJaspe

Новичок
Пользователь
Июн 23, 2024
3
0
1
Python:
import datetime

from aiogram import types
from aiogram.dispatcher import FSMContext
from aiogram.utils.markdown import hbold

from keyboards.inline.profile_keyboard.add_delete_seller import fail_add_seller_keyboard, seller_added_keyboard
from loader import dp
from states import States
from utils.db_api.quick_commands.seller_inquiries import select_seller_by_api_x64, add_seller, update_trail_fail
from utils.db_api.quick_commands.user_inquiries import update_user_seller
from utils.misc.start_by_time import first_scan
from utils.wb_api.method_warehouse import valid_token


@dp.message_handler(state=States.CONNECTING_API)
async def connection_api_x64(message: types.Message, state: FSMContext):
    status = await valid_token(message.text)
    if status == 200:
        await state.finish()
        api_x64 = message.text
        seller = await select_seller_by_api_x64(api_x64)
        if seller:
            await update_user_seller(seller=seller, user_id=message.from_user.id)
        else:
            seller = await add_seller(api_x64=api_x64, reserve=14, export=True, bot_enable=False,
                                      name=message.from_user.full_name, tarif=False)
            await update_user_seller(seller=seller, user_id=message.from_user.id)
            await first_scan(seller.id, seller.api_x64)
            await update_trail_fail(seller_id=seller.id)
        await message.answer(
            "\n".join(
                [
                    f'👤 {hbold("Добавление продавца")}\n',
                    f'✅ Поздравляем, {hbold("API-ключ x64")} добавлен успешно!\n',
                    f'🚙 Если вы работаете по схеме {hbold("FBS")} (продажа со склада поставщика), используйте дополнительный API-ключ, '
                    f'чтобы бот мог отслеживать новые заказы.\n'
                ]
            ), reply_markup=seller_added_keyboard(seller.id)
        )
    elif status == 400 or status == 500:
        await message.answer(
            "\n".join(
                [
                    f'👤 {hbold("Добавление продавца")}',
                    f'⏱ {datetime.datetime.now().time().strftime("%H:%M:%S")}\n',
                    f'❌{hbold("Ошибка!")}API-ключ (x64) некорректен!\n',
                    f'Отправьте правильный ключ заново в этом сообщении:',

                ]
            ), reply_markup=fail_add_seller_keyboard
        )
    else:
        await message.answer(
            "\n".join(
                [
                    f'👤 {hbold("Добавление продавца")}',
                    f'⏱ {datetime.datetime.now().time().strftime("%H:%M:%S")}\n',
                    f'❌{hbold("Ошибка!")} К сожалению сервера Wildberries не отвечают, '
                    f'пожалуйста попробуйте позже!\n',

                ]
            ), reply_markup=fail_add_seller_keyboard
        )
 

Форум IT Специалистов