afrom queue import Queue
from threading import Thread
from telegram import Update
from telegram.ext import Updater, Dispatcher

def start_bot():
    updater = Updater(token="6739937530:AAG9tFE-qhh9UpnzzGNTZFwyVzHOf1mjSsUimport logging
from telegram import Update
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext
import openpyxl

# Telegram botunuzun token'ını ve Excel dosyasının yolu
TOKEN = "your_telegram_bot_token"
EXCEL_FILE_PATH = "path/to/your/excel/file.xlsx"

# Bot loglaması
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)

def start(update: Update, context: CallbackContext) -> None:
    update.message.reply_text('Merhaba! Numara sorgulamak için bir numara yazabilirsiniz.')

def handle_number(update: Update, context: CallbackContext) -> None:
    try:
        # Excel dosyasını aç
        workbook = openpyxl.load_workbook(EXCEL_FILE_PATH)
        
        # İlk sayfayı seç
        sheet = workbook.active

        # Kullanıcının girdiği numarayı al
        user_number = int(update.message.text)

        # C kolonundaki numarayı ara ve eşleşen satırı bul
        for row in sheet.iter_rows(min_row=2, values_only=True):
            if row[2] == user_number:
                # Eşleşen satırdaki ürün adı (A kolonu) ve ürün fiyatı (B kolonu)
                urun_adi = row[0]
                urun_fiyati = row[1]

                # Kullanıcıya cevap ver
                update.message.reply_text(f'{user_number} numarasına ait ürün: {urun_adi}, Fiyatı: {urun_fiyati}')

                # Eşleşme bulundu, döngüden çık
                break
        else:
            update.message.reply_text(f'{user_number} numarasına ait bir ürün bulunamadı.')

        # Excel dosyasını kapat
        workbook.close()

    except ValueError:
        update.message.reply_text('Lütfen geçerli bir numara girin.')

def main() -> None:
    updater = Updater(TOKEN)

    dp = updater.dispatcher

    dp.add_handler(CommandHandler("start", start))
    dp.add_handler(MessageHandler(Filters.text & ~Filters.command, handle_number))

    updater.start_polling()

    updater.idle()

if __name__ == '__main__':
    main()", use_context=True)
    dp = updater.dispatcher

    dp.add_handler(CommandHandler("start", start))
    dp.add_handler(MessageHandler(filters.text & ~filters.command, search))

    # Dışardan gelen mesajları almak ve işlemek için bir update_queue kullanın
    updater.start_polling(queue=update_queue)
    updater.idle()

def handle_update(update: Update):
    dispatcher.process_update(update)

def run_polling():
    while True:
        update = update_queue.get()
        handle_update(update)

update_queue = Queue()
start_bot_thread = Thread(target=start_bot)
polling_thread = Thread(target=run_polling)

start_bot_thread.start()
polling_thread.start()

telegram için uğraşıyorum ama bir türlü çalışmadı nerde hata yaptık