Отслеживание сообщений с помощью Telethon ⇐ Python
Отслеживание сообщений с помощью Telethon
Пытаюсь отслеживать сообщения от пользователей в чате, вроде удалось отследить сообщения о нескольких пользователях в нескольких чатах, но есть проблема, если пользователи пишут сообщения одновременно (во время моего интервала парсинга) ), то мне показывают сообщения только от первого пользователя (из указанного мной списка) из этого чата, в чем проблема?
def start_realtime_parsing(self): пытаться: чаты = self.textbox.text().split(",") пользователи = self.userbox.text().split(",") диалоги = self.client.get_dialogs() для диалога в диалогах: если диалог.заголовок в чатах: чат_id = int(dialog.id) print(f"Идентификатор диалога: {chat_id}") self.dialog_dict[chat_id] = диалог.заголовок self.last_message_id[chat_id] = 0 интервал_секунд = int(self.timer_input.text()) интервал_мс = интервал_секунд * 1000 self.timer.start(interval_ms) кроме исключения как e: распечатать(е) защита display_messages (сам): пытаться: chat_ids = список (self.dialog_dict.keys()) пользователи = self.userbox.text().split(",") предел = int(self.limit_input.text()) all_no_new_messages = Истина для пользователя в пользователях: для Chat_id в Chat_ids: имя_чата = self.dialog_dict[id_чата] Last_message_id = self.last_message_id[chat_id] messages_from_user = [] для сообщения в self.client.iter_messages(chat_id, from_user=user, min_id=last_message_id, limit=limit): self.user_list.addItem(f" {user} Сообщение: {message.text} - Чат: {chat_name} - Дата: {message.date.astimezone(omsk_timezone)}") messages_from_user.append(сообщение) если message.id > последнего_message_id: Last_message_id = message.id self.last_message_id[chat_id] = last_message_id если не messages_from_user: self.user_list.addItem(f"У пользователя {user} нет новых сообщений в чате {chat_name}") all_no_new_messages = Ложь кроме исключения как e: распечатать(е)
Пытаюсь отслеживать сообщения от пользователей в чате, вроде удалось отследить сообщения о нескольких пользователях в нескольких чатах, но есть проблема, если пользователи пишут сообщения одновременно (во время моего интервала парсинга) ), то мне показывают сообщения только от первого пользователя (из указанного мной списка) из этого чата, в чем проблема?
def start_realtime_parsing(self): пытаться: чаты = self.textbox.text().split(",") пользователи = self.userbox.text().split(",") диалоги = self.client.get_dialogs() для диалога в диалогах: если диалог.заголовок в чатах: чат_id = int(dialog.id) print(f"Идентификатор диалога: {chat_id}") self.dialog_dict[chat_id] = диалог.заголовок self.last_message_id[chat_id] = 0 интервал_секунд = int(self.timer_input.text()) интервал_мс = интервал_секунд * 1000 self.timer.start(interval_ms) кроме исключения как e: распечатать(е) защита display_messages (сам): пытаться: chat_ids = список (self.dialog_dict.keys()) пользователи = self.userbox.text().split(",") предел = int(self.limit_input.text()) all_no_new_messages = Истина для пользователя в пользователях: для Chat_id в Chat_ids: имя_чата = self.dialog_dict[id_чата] Last_message_id = self.last_message_id[chat_id] messages_from_user = [] для сообщения в self.client.iter_messages(chat_id, from_user=user, min_id=last_message_id, limit=limit): self.user_list.addItem(f" {user} Сообщение: {message.text} - Чат: {chat_name} - Дата: {message.date.astimezone(omsk_timezone)}") messages_from_user.append(сообщение) если message.id > последнего_message_id: Last_message_id = message.id self.last_message_id[chat_id] = last_message_id если не messages_from_user: self.user_list.addItem(f"У пользователя {user} нет новых сообщений в чате {chat_name}") all_no_new_messages = Ложь кроме исключения как e: распечатать(е)
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Python Telethon, задержки при получении новых сообщений через обработчик обновлений
Anonymous » » в форуме Python - 0 Ответы
- 72 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как отправлять сообщения пользователям из группы Telegram с помощью Telethon?
Anonymous » » в форуме Python - 0 Ответы
- 31 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как мне получить название темы, в которую отправляется сообщение с помощью Telethon
Anonymous » » в форуме Python - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-