Tkinter окно "Не отвечает"

Всем привет. Виснет окно Tkinter как только делаю запрос. С ним раньше вообще не работал, но потребовался сейчас. Еще не пойму как выводить картинки в строчку

import tkinter as tk
import tkinter.filedialog
from PIL import Image, ImageTk
import telethon
import asyncio
import json
import python_socks
import helpers as hp
import models
import threading
from typing import Optional
from telethon import TelegramClient
from telethon import events    

class Main(tk.Tk):
    def __init__(self):
        super().__init__()
        self.title("Генератор картинок")
        self.resizable(True, True)
        self.sessions = []

        self.proxy = models.get_proxy()
        self.get_sessions = hp.get_sessions()

        self.request = tk.StringVar(self)
         
        self.name_label = tk.Label(self, text="Введите запрос")
         
        self.name_label.grid(row=0, column=4, sticky="e")
         
        self.name_entry = tk.Entry(self, textvariable=self.request)
         
        self.name_entry.grid(row=0,column=6, padx=20, pady=1, sticky="e")
     
     
        self.message_button = tk.Button(self, text="Сгенерировать", command=self.callback)
        self.message_button.grid(row=0,column=10, padx=0, pady=1, sticky="e")

    def parse_sessions(self, request):
        for i in range(len(self.get_sessions)):
            with open(f'./ss/{self.get_sessions[i]}.json', 'r', encoding='utf-8') as file:
                get_data = json.load(file)
                TelegClient = TelegramClient(
                    session=f'./ss/{self.get_sessions[i]}.session', 
                    api_id=get_data['app_id'],
                    api_hash=get_data['app_hash'],
                    system_version=get_data['sdk'],
                    app_version=get_data['app_version'],
                    device_model=get_data['device'],
                    lang_code=get_data['lang_pack'], 
                    proxy=self.proxy,
                    connection_retries=3,
                    request_retries=3,
                    retry_delay=1,
                    system_lang_code=get_data['system_lang_pack'],
                    auto_reconnect=True,
                    timeout=30
                )
                self.sessions.append(TelegClient)
        self.create_loop(request=self.request)

    async def account_connect(self, client, request):
        try:
            await client.connect()
        except:
            pass
        await client.send_message('https://t.me/sber_rudalle_xl_bot', '/start')
        await client.send_message('https://t.me/sber_rudalle_xl_bot', f'{self.request}')
        @client.on(events.NewMessage(pattern=f'"{self.request}"'))
        async def handler(event):
            self.add_photo(await event.download_media(file="photos/output"))

    def create_loop(self, request):
        for i in range(len(self.sessions)):
            loop = asyncio.get_event_loop()
            loop.create_task(self.account_connect(client=self.sessions[i],request=self.request))
            loop.run_forever()

    def callback(self):
        print(f"[ + ] Начинаю генерацию по запросу '{self.request.get()}'")
        threading.Thread(target=self.parse_sessions(request=self.request.get()).start)

    def add_photo(self, link):
        self.image = ImageTk.PhotoImage(Image.open(link))
        tk.Label(self, image=self.image).grid(row=0, column=10)

if __name__ == "__main__":
    main = Main()
    main.mainloop()

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