Отправить уведомление через Telegram пользователям, чьи Искомые_Ники совпадают.
Готовый код Python
import sqlite3
import telebot
# Подключиться к базе данных
conn = sqlite3.connect('user_track.db')
c = conn.cursor()
# Создать таблицу "Пользователи"
c.execute('''CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY,
username TEXT,
telegram_id TEXT
)''')
# Создать таблицу "Отслеживания"
c.execute('''CREATE TABLE IF NOT EXISTS tracks (
user_id INTEGER,
tracked_username TEXT,
FOREIGN KEY (user_id) REFERENCES users (user_id)
)''')
# Создать Telegram-бота
bot = telebot.TeleBot('TOKEN')
# Обработать сообщения в бота
@bot.message_handler(content_types=['text'])
def handle_message(message):
# Извлечь ID и ник пользователя из сообщения
user_id = message.chat.id
username = message.text
# Добавить пользователя в таблицу "Пользователи", если его там нет
c.execute('''INSERT OR IGNORE INTO users (user_id, username) VALUES (?, ?)''', (user_id, username))
# Добавить отслеживание в таблицу "Отслеживания"
c.execute('''INSERT INTO tracks (user_id, tracked_username) VALUES (?, ?)''', (user_id, username))
# Получить совпадения
c.execute('''SELECT DISTINCT user_id FROM tracks WHERE tracked_username IN (
SELECT username FROM users WHERE username LIKE ?
) AND user_id NOT IN (?)''', (username + '%', user_id))
matched_users = [user_id for user_id in c.fetchall()]
# Отправить уведомления
for user_id in matched_users:
bot.send_message(user_id, f'Пользователь с ником {username} появился в игре')
# Сохранить изменения в базе данных
conn.commit()