проверке юзера (обратите внимание, я беру именно данные с класса msg (Message), которое дает пирог. Тоесть это чистый, питоновский int):
if await auto.Captcha.check(msg.chat.id, msg.from_user.id, captchaCursor):
Мне высирает
File "/.devel/.mainpython/pydevelop/PycharmProjects/redbutton/Modules/auto.py", line 171, in check
captchaCursor.execute('SELECT rowid FROM redirect WHERE ids = %s;', ([chat_id, user_id],))
File "/.devel/.mainpython/pydevelop/PycharmProjects/virtualenv3-10/lib/python3.10/site-packages/psycopg/cursor.py", line 563, in execute
raise ex.with_traceback(None)
psycopg.errors.UndefinedFunction: operator does not exist: bigint[] = numeric[]
LINE 1: SELECT rowid FROM redirect WHERE ids = $1;
Вот функция:
async def check(chat_id: int, user_id: int, captchaCursor: Cursor) -> bool:
captchaCursor.execute('SELECT rowid FROM redirect WHERE ids = %s;', ([chat_id, user_id],))
if captchaCursor.fetchone() is not None:
return True
captchaCursor.execute('SELECT rowid FROM first_stage WHERE ids = %s;', ([chat_id, user_id],))
if captchaCursor.fetchone() is not None:
return True
return False
Я ЗАЕБАЛСЯ С ЭТИМ БОРОТЬСЯ. Numeric мне нахуй не сдался, ибо если я его введу мне придется переписывать огромную долю кода. ЧТО ТУТ НЕ ТАК?
а что в бд? какие столбцы?
Если говорить о той, с которой возможно беды, то: redirect (ids BIGINT[2] PRIMARY KEY, msgid INTEGER, timeexp INTEGER, rowid INTEGER GENERATED ALWAYS AS IDENTITY) first_stage(ids BIGINT[2] PRIMARY KEY, msgid INTEGER, answer TEXT, timeexp INTEGER, rowid INTEGER GENERATED ALWAYS AS IDENTITY) nolinks(chatid BIGINT, userid BIGINT, until INTEGER)
Обсуждают сегодня