我们可以在一个应用程序中使用两个 MTProto 连接吗?
Can we use two MTProto connections in a single app?
您好,我正在尝试 运行 在单个应用程序(工作人员)中同时使用“用户机器人”和“机器人帐户”。
这两个连接就是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
) 启动后立即退出
有什么我可以在这里做的吗?
尝试使用 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()
所以每个客户端都会在单独的Thread中单独启动,而不是在主线程中等待。如果其他方法失败 - 请查看日志。
您好,我正在尝试 运行 在单个应用程序(工作人员)中同时使用“用户机器人”和“机器人帐户”。
这两个连接就是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
) 启动后立即退出
有什么我可以在这里做的吗?
尝试使用 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()
所以每个客户端都会在单独的Thread中单独启动,而不是在主线程中等待。如果其他方法失败 - 请查看日志。