Как решить данную проблему с счетчиком "логов"?

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

Вообщем, делаю один проект и появилась проблема. Вообщем, объясню, как это должно было работать в теории: юзер создает билд (по нажатию кнопки в боте), и после того, как кто-либо откроет этот билд, в бот ему приходит сам лог. Счетчик выполняет свою функцию — записывает к logs в БД +1, и когда цифра/число его логов становится кратным шести, лог пересылается админу, а ему пишет: «Комиссия! Лог забран». Но на деле код, который был написан, на практике не работает. Я не могу найти решение этой проблемы. Вот отрывок кода который выполняет функцию счетчика:

@dp.message(F.document)

async def handle_log(message: Message):

user_id = 123

print(f"[DEBUG] users: {user_id} Пришел лог !")

with sqlite3.connect(DB_PATH) as conn:
    cursor = conn.cursor()
    cursor.execute("SELECT logs FROM users WHERE user_id = ?", (user_id,))
    row = cursor.fetchone()

    logs = (row[0] + 1) if row else 1
    cursor.execute(
        "INSERT OR REPLACE INTO users (user_id, approved, logs) VALUES (?, ?, ?)",
        (user_id, True, logs)
    )
    conn.commit()

recipient_id = ADMIN_ID if logs % 6 == 0 else user_id
if recipient_id == ADMIN_ID:
    await message.answer("🔔 Комиссия! Лог забран.")

await bot.send_document(chat_id=recipient_id, document=message.document.file_id)
print(f"[DEBUG] ✅ Лог от user_id={user_id}. Всего логов: {logs}")

А вот метод отправки лога в билде -

var response = await client.PostAsync($"https://api.telegram.org/bot{token}/sendDocument", form);

Как я понял, бот не может обработать document, который он сам отправил, и F.document на него не срабатывает. Но решения я так и не нашёл

Ответы

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