Форма *.ui + Telethon

Serhio163

Новичок
Пользователь
Дек 7, 2021
12
0
1
Самара
Здравствуйте, помогите пожалуйста подружить форму с телеграмботом
при запуске скрипта одновременно не хотят запускаться...
В зависимости от очередности в коде либо форма запускается, бот стоит, либо наоборот - бот запускается, а форма висит...

Python:
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication


from telethon import TelegramClient, sync, events, utils
from telethon.sync import TelegramClient


from config import (API_HASH, API_ID, SESSION_STRING, CHANNELS_MAPPING, SOURCE_CHANNELS)




Form, Window = uic.loadUiType("Form.ui")
app = QApplication([])
window = Window()
form = Form()
form.setupUi(window)
window.show()




client = TelegramClient(SESSION_STRING, API_ID, API_HASH)
client.start()


TAGS = ['привет от Иванываныча', 'привет от Мариванны']




@client.on(events.NewMessage(chats=([-1001........, -10012.........])))
async def normal_handler(event):


    for tag in TAGS:
        if tag in str(event.message):
            chat_id = event.chat_id  # ID чата
            sender_id = event.sender_id  # Получаем ID Юзера
            msg_id = event.id  # Получаем ID сообщения
            sender = await event.get_sender()  # получаем имя юзера
            name = utils.get_display_name(sender)  # Имя Юзера
            chat_from = event.chat if event.chat else (await event.get_chat())  # получаем имя группы
            chat_title = utils.get_display_name(chat_from)  # получаем имя группы
            msg_data = str(event.message.to_dict()['date'])
            print(event.message)
            await client.send_message(-1001........., msg_data + '\nПолучен привет:\nот- ' + str(
        name) + '\n' + 'с канала - ' + chat_title + '\n' + 'ID канала: ' + str(chat_id))


sys.exit(app.exec_())
with client:
    client.run_until_disconnected()
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
в отдельных потоках нужно запускать
 
  • Мне нравится
Реакции: Serhio163

Serhio163

Новичок
Пользователь
Дек 7, 2021
12
0
1
Самара
в отдельных потоках нужно запускать
Так?
Python:
import  subprocess
subprocess.Popen([sys.executable, 'botTelethon.py'])
 

Serhio163

Новичок
Пользователь
Дек 7, 2021
12
0
1
Самара
в отдельных потоках нужно запускать
Спасибо большое, так работает
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
Так?
Python:
import  subprocess
subprocess.Popen([sys.executable, 'botTelethon.py'])
ну можно так, это отдельные процессы
 

Форум IT Специалистов