Задать вопрос
@Demen1205

Как запустить 2 и более бота одновременно?

Решил написать взаимодействующих между собой Telegram ботов на python.
Решил использовать для этого pyrogram, так как один из ботов - аккаунт пользователя!
Как одновременно запустить 2 и более бота в одной программе?

банальное:
first_client.run()

second_client.run()
не работает

Подскажите что делать
  • Вопрос задан
  • 1716 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
  • Stepik
    "Поколение Python": курс для начинающих
    1 неделя
    Далее
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Это же асинхронный фреймворк, нужно запустить отдельные таски по клиентам. А run запускает таск с этим клиентом и ждёт его завершения, поэтому первый клиент запускается, а второй - нет.

Соответственно, надо сделать так:

first_client.start()
second_client.run()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@nvlveu
Прочтите файл каждого бота и в цикле выполните:
from threading import Thread

target = lambda: exec(f'{code}', locals())
Thread(target=target).start()


Или через командую строку:
start cmd /c py -3 "путь к файлу" && start cmd /c py -3 "путь к файлу"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы