не могу достать из sqlite3 определённые данные и не могу отправить их в чат

нужно в выбранное пользователем время отправить в чат сообщение собранное из 2 элементов в бд

и нужно как-то в run_scheduler передать объект user_id, чтоб достать из бд нужные файлы

Заранее большое спасибо

import telebot
from telebot import types
import sqlite3
import schedule
import telebot
import time
import pytz
import threading
import logging
from datetime import datetime


bot = telebot.TeleBot("token")



timezone = pytz.timezone("Europe/Moscow")


logging.basicConfig(level=logging.INFO)


def run_scheduler(user_id):
    conn = sqlite3.connect('db.sql')
    cursor = conn.cursor()

    while True:
        current_time = datetime.now().strftime("%H:%M")
        print(f'Текущее время: {current_time}')  # Для отладки

        cursor.execute('SELECT post_time FROM users WHERE id = ?', (user_id,))
        post_time_data = cursor.fetchone()
        post_time = post_time_data[0] if post_time_data else None

        if post_time:
            print(f'Запланированное время: {post_time}')
            if post_time == current_time:
                cursor.execute("SELECT post_text, post_url FROM users WHERE id = ?", (user_id,))
                row = cursor.fetchone()

                if row:
                    post_text, post_url = row
                    markup = types.InlineKeyboardMarkup(row_width=1)
                    btn = types.InlineKeyboardButton('? Связь', url=post_url)
                    btn1 = types.InlineKeyboardButton('? Гарант', url='t.me/GarantTGRbot')
                    markup.add(btn, btn1)

                    # Отправка сообщения
                    bot.send_message(-1002278915117, post_text, reply_markup=markup, parse_mode='html')
                else:
                    print(f"Нет доступных данных для пользователя {user_id}.")  # Лог для отладки

        conn.commit()
        time.sleep(60)  # Проверяем каждую минуту
# Обрабатываем команду /start

    # Запускаем run_scheduler в отдельном потоке
scheduler_thread = threading.Thread(target=run_scheduler(user_id))
scheduler_thread.start()

bot.polling(none_stop=True)

Ответы (0 шт):