Подключение к телеграмме с помощью телетона с tkinter без зависания GUI - PullRequest
1 голос
/ 29 апреля 2020

Я планирую создать простое приложение, в котором я могу отправлять сообщения другим людям в телеграмме с помощью tkinter GUI без зависания. Вот мой текущий код:

from telethon.sync import TelegramClient
from telethon.tl.functions.messages import GetDialogsRequest
from telethon.tl.types import InputPeerEmpty
import tkinter as tk

class TelegramApp:
    def __init__(self, master):
        width = master.winfo_screenwidth() - round(master.winfo_screenwidth() * 0.5)
        height = master.winfo_screenheight() - round(master.winfo_screenheight() * 0.1)
        x = master.winfo_screenwidth() // 2 - width // 2
        y = master.winfo_screenheight() // 2 - height // 2
        master.geometry('{}x{}+{}+{}'.format(width, height, x, y))

        self.btn = tk.Button(master, text="ah", command=self.connect)
        self.btn.pack(side=tk.LEFT)

    def connect(self):
        client.connect()
        if not client.is_user_authorized():
            client.send_code_request(phone)
            client.sign_in(phone, input('Enter the code: '))
        else:
            main()

root = tk.Tk()
app = TelegramApp(root)
root.mainloop()

Прямо сейчас, когда я нажимаю на self.btn, он замораживает GUI, но он успешно соединяется. Я планирую добавить поле ввода, в которое я могу ввести любое имя пользователя, поле ввода, где я могу вводить сообщения, оба сопровождаются кнопкой, которая отправит сообщение на это имя пользователя. Я также планирую список, в котором он будет получать все мои группы и перечислять их там, чтобы я мог выбрать группу и т. Д. c ... По сути, я просто хочу, чтобы GUI смог сделать все это работа без заморозки.

...