Как решить данную проблему с счетчиком "логов"?
Вообщем, делаю один проект и появилась проблема. Вообщем, объясню, как это должно было работать в теории: юзер создает билд (по нажатию кнопки в боте), и после того, как кто-либо откроет этот билд, в бот ему приходит сам лог. Счетчик выполняет свою функцию — записывает к 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 на него не срабатывает. Но решения я так и не нашёл