TypeError: expected string or bytes-like object как исправить?

Код:
@command(name="брак запрос")
    async def marriage(self, ctx, member=None):
        user = await self.bot.get_user(ctx.from_id)
        brak = await main().marriage(user)
        mem = re.findall(f"[0-9]+", member)[0]
        br = await main().br(mem)
        if member is None:
            await ctx.send("Укажите пользователя с кем хотите заключить брак")
        elif brak != "Нету":
            await ctx.send("Вы уже в браке")
        elif br == 'Нету':
            await ctx.send("Запрос отправлен")
            await main().br_req(user, mem)
        elif br != 'Нету':
            await ctx.send("Запрос уже отправлен")


Ошибка:
TypeError: expected string or bytes-like object

Если я преобразовываю member в str то у меня не работает бд, айди участника не в носится туда
async def br(self, mem):
        async with self.pool.acquire() as conn:
            async with conn.cursor() as cur:
                result = await cur.execute("SELECT br FROM vkinfo WHERE uid=%s", mem)
                row = await cur.fetchall()
                if result == 1:
                    for brak in row[0]:
                        return brak


async def br_req(self, user, mem):
        async with self.pool.acquire() as conn:
            async with conn.cursor() as cur:
                result = await cur.execute("SELECT br FROM vkinfo WHERE uid=%s", user.id)
                row = await cur.fetchall()
                if result == 1:
                    await cur.execute(f"UPDATE vkinfo SET br='{user.id}' WHERE uid=%s", mem)
                    for brak_req in row[0]:
                        return brak_req
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 1
@bacon
Тебе явно же пишут что findall хочет string or bytes-like object, разбирайся что у тебя в member и доставай из него строку
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы