ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Как отследить появление новых значений в базе данных SQLite3? Telegram бот, Aiogram (https://forum.antichat.xyz/showthread.php?t=1478796)

shawtyglock. 02.06.2023 11:52

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

TastyBread123 02.06.2023 22:59

пример:





Код:

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
(
)
# закрываем соединение, чтобы мы могли вносить в таблицу изменения





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


Время: 06:48