Как отследить появление новых значений в базе данных SQLite3? Telegram бот, Aiogram

shawtyglock.

Активный
Автор темы
188
63
Мне необходимо, что бы при появлении нового значения в таблице, это самое новое значение отправлялось в некую группу телеграм где бот является администратором.
 

TastyBread123

Известный
631
301
пример:
import sqlite3
from time import sleep


db = sqlite3.connect('test.db')
table_len = len(db.execute('SELECT id FROM users').fetchall())  # узнаем текущую длину значений таблицы
print(table_len)  # выводим длину значений таблицы
db.close()  # закрываем соединение, чтобы мы могли вносить в таблицу изменения


while True:
    sleep(3)  # задержка на проверку: раз в 3 секунды
    db = sqlite3.connect('test.db')
    temp_len = len(db.execute('SELECT id FROM users').fetchall())  # узнаем текущую длину значений таблицы
    if temp_len > table_len:  # если оно больше, то делаем следующие действия
        new_value = db.execute('SELECT id FROM users').fetchall()  # получаем список из новых элементов
        print(f'NEW VALUE!!!!\n{new_value[-1][0]}')  # выводим новое значение
        table_len = temp_len  # изменяем переменную, с которой сраваниваем
   
    db.close()  # закрываем соединение, чтобы мы могли вносить в таблицу изменения

Отправку сообщений, думаю, сам сможешь организовать