我们可以在一个应用程序中使用两个MTProto连接吗?

问题描述

您好,我正在尝试在一个应用程序(工作程序)中同时运行“ userbot”和“ bot account”。

这两个连接分别是tbot[main bot]ubot[userbot]。例如:

tbot = TelegramClient("myapp",API_KEY,API_HASH)

tbot.start(bot_token=TOKEN)

ubot = TelegramClient(StringSession(STRING_SESSION),API_HASH)

ubot.start()

但是问题是这两个连接不能同时运行,两个连接都在第一个tbot)启动后立即退出

在这里我能做什么?

解决方法

为此尝试使用python threading

import threading

# ...

tbot = TelegramClient("myapp",API_KEY,API_HASH)

tbot_thread = threading.Thread(target=tbot.start,kwargs={'bot_token': TOKEN})
tbot_thread.start()

ubot = TelegramClient(StringSession(STRING_SESSION),API_HASH)

ubot_thread = threading.Thread(target=ubot.start)
ubot_thread.start()

因此,每个客户端将在单独的线程中分别启动,而不是在主线程中等待。如果其他任何操作失败-请参阅日志。