From 82c9d12a9bb1387809ee84dd80a593e78a34521a Mon Sep 17 00:00:00 2001 From: kldk-lab Date: Mon, 27 Jan 2025 22:43:22 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B2=D0=BA=D1=80=D1=83=D1=82=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=82=D0=B5=D0=BB=D0=B5=D1=82=D0=BE=D0=BD,=20=D0=BD=D0=BE=20?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D1=8C=20=D0=BE=D0=B4=D0=BD=D0=BE=20=D0=BD?= =?UTF-8?q?=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit он терь не грузит сообщения и крашится --- src/widgets.py | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/widgets.py b/src/widgets.py index b150cde..fea9371 100644 --- a/src/widgets.py +++ b/src/widgets.py @@ -25,12 +25,16 @@ class Chat(Widget): classes=classes, disabled=disabled ) + global personid + personid = 0 self.notify = notify_func def _on_click(self): + global personid self.msg = str(self.peer_id) - self.notify("нажат чат") + personid = int(self.peer_id) + self.app.notify("нажат чат") def compose(self): with Horizontal(): @@ -43,16 +47,27 @@ class Dialog(Widget): """Класс окна диалога""" def __init__(self, id=None, classes=None, disabled=False, telegram_client: TelegramClient | None = None): + global personid super().__init__(id=id, classes=classes, disabled=disabled) self.telegram_client = telegram_client + self.personid = personid + + async def load_messages(self): + self.messages = [] + for messages1 in self.telegram_client.iter_dialogs(self.personid, limit=5): + messages.append(messages1.text) def compose(self): + messages = self.messages with Vertical(): with VerticalScroll(id="dialog"): - yield Message(message="привет, я ыплыжлп", is_me=True) - yield Message(message="о, дщытрапшщцрущ", is_me=False) - yield Message(message="ДАТОУШЩАРШЩУРЩША!!!!", is_me=False) + yield Message(message=messages[0], is_me=True) + yield Message(message=messages[1], is_me=False) + yield Message(message=messages[2], is_me=False) + yield Message(message=messages[3], is_me=True) + yield Message(message=messages[4], is_me=False) + # должно быть примерно # is_me = message.from_id == client.get_peer_id("me") @@ -67,10 +82,10 @@ class Dialog(Widget): yield Input(placeholder="Сообщение", id="msg_input") yield Button(label="➤", id="send", variant="primary") - def on_button_pressed(self, event): # self добавил + async def on_button_pressed(self, event): # self добавил self.app.notify("Нажато отправить") self.message_text = self.query_one("#msg_input").value - self.telegram_client.send_message("ultimate_fish", self.message_text) + await self.telegram_client.send_message(personid, str(self.message_text))