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

时间:2020-08-16 15:47:59

标签: telegram-bot telethon

您好,我正在尝试在一个应用程序(工作程序)中同时运行“ 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_KEY, API_HASH)

ubot.start()

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

在这里我能做什么?

1 个答案:

答案 0 :(得分:0)

为此尝试使用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_KEY, API_HASH)

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

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